Deploying microservices – how to handle complexity
Microservices are great – we can all agree. But there’s no doubting what level of complexity they bring to IT systems. “The problem is, we don’t understand the problem,” quotes software architect Peter Elger, who shows us the ways to fail fast and iterate rapidly with microservices.
Microservice-based systems are rapidly gaining traction in the industry. This is unsurprising given the promise of rapid development times, continuous deployment cycles and a scaleable, effective component model for software systems. But there is a dark side. Things can get out of control very quickly.
As the number of micro-services, messages and interactions between them grow, how do you keep control? How do you manage the deployment of new and upgraded services? How do you retain understanding of the system? How can you offer any commitments about its behaviour to your CEO?
The answer is to adopt a toolset that allows you to embrace the complexity of the system. Rather than auditing and tracking technical behaviour, measure the behaviour you care about, the business outcomes. This allows you to understand the effects of new deployments and failures at the right level.