Slide 1

Slide 1 text

Contract Driven Development Spring Cloud Contract Alican Akkuş Software Crafter @ craftbase.io 1

Slide 2

Slide 2 text

Main Problems Consumer less development Consumer disruptive development Unilateral development Unhappy business Downtime :( !2

Slide 3

Slide 3 text

Evolving a Service Schema Versioning Extension Points Breaking Changes API Versioning !3

Slide 4

Slide 4 text

Consumer Contract Consumer, drives the changes of the API. Consumer, could be part of the API. Can be detected instantly if there are changes that disrupt consumers. Consumer Driven Contact(CDC) ensures the correct contract between Producer and Consumer. !4 The contract is not a schema, it shows only how communication looks like between services.

Slide 5

Slide 5 text

Spring Cloud Contract Spring Cloud Contract is an implementation of CDC development of JVM based language. Also support for the non-jvm based language. It moves TDD to the level of the software(API) design&architecture. !5

Slide 6

Slide 6 text

Spring Cloud Contract How to test the microservices? • Deploy all microservices and perform end-to-end test.
 • Mock other services in tests. !6

Slide 7

Slide 7 text

Spring Cloud Contract Fastest development Fastest response/feedback Why Contract Driven Development is the best approach for microservice architecture? Uses real service Reliable !7

Slide 8

Slide 8 text

Spring Cloud Contract Demo https://github.com/AlicanAkkus/spring-cloud-contract