Maintaining and evolving microservices is challenging no matter how many services make up your architecture, but as the number reaches into the hundreds, the complexity increases exponentially. How do you evolve an API safely against a diverse group of consumers, each with varying expectations? How can you keep up with an ever-evolving network of dependencies, with new contracts, interactions and expectations being added weekly?
In this talk, we will share some of the triumphs and tribulations encountered at ITHAKA when tackling these challenges. We will talk about versioning APIs, managing service-to-service contracts at scale, and how we attempt to ensure that the current requirements of the system are being satisfied; highlighting some of the tools we use such as Pact and blameless post-mortems.