Marcin Grzejszczak Pivotal

BIO: Author of “Mockito Instant” and “Mockito Cookbook” books. Co-author of Applied Continuous Delivery Live Lessons. Co-founder of the Warsaw Groovy User Group and Warsaw Cloud Native Meetup.

Lead of Spring Cloud Sleuth, Spring Cloud Contract and Spring Cloud Pipelines projects at Pivotal.

Presentation: Building Resilient Microservices
co-speaker: Olga Maciaszek-Sharma
session level: intermediate

Distributed systems and microservices are currently one of the strongest trends in the field of enterprise-scale systems development. The main reason for that is that given the size and throughput of modern systems, massive application scalability has become a core requirement. In order to achieve scalability, the system has to allow for easy partitioning and concurrency, which are problematic with the traditional monolithic applications. Also, as microservices provide much greater independence to the teams both in terms of development and deployments, they let us introduce changes and add new features much more quickly and easily, in keeping with the Agile principles. With all that, microservices seem to be the way to go.

Nevertheless, we can’t forget that as we switch to distributed architectures, the complexity of our systems grows and the communication between them becomes a first class citizen of our applications, and as the individual services become easier to develop, testing and ensuring reliability on the system-wide level can become much more difficult. It can decrease the stability of our applications and cause production issues.

However, there are ways in which we can greatly reduce the risks associated with working with distributed architectures and there are tools that can help us greatly increase system stability and make our microservice-based solution much more resilient. In this presentation, we will talk about some such approaches, including consumer-driven contracts, distributed tracing and automated deployments and some tools provided by Spring Cloud to make incorporating these principles easy, along with demos and live coding.

Take-aways:
Learning about:

  • microservices-based architecture
  • independent development and deployments
  • maintaining reliability, testing and monitoring