Deploy microservices with Certainty

Key takeaways
  • How to be sure that when you update a new microservice in your microservice architecture
  • You need consumer driven contracts and contract tests to ensure this.
  • One way of doing this is by end to end tests but in microservices architectures this is a really tedious and flaky way of doing it.
  • You'll get a better understanding on how to write tests to ensure that deploying a new microservice on the system doesn't break the other microservices which depends on.

In a monolithic application, different services are developed within same project side by side.

In these kind of applications you don't need to worry about breaking the compatibility between contract interfaces since there is an invisible verifier called compiler that checks that all method calls follows the defined signature.

But in case of microservices, different services are deployed in different runtimes and using different separated networks.

In this scenario, any change on the contract of one service cannot be caught by the compiler since there is no typesafe connection between services..

Now breaking the compatibility between services can be really easy and hard to detect (maybe until your new version of the service is on production).

In this talk we are going to explore why deploying a new version of a service might break everything in microservices architecture, and how to fix with consumer-driven contracts pattern.

addremove Add to schedule


Best companies