Chapter 16. Deploying Event-Driven Microservices

Deploying event-driven microservices can be challenging. As the number of microservices within an organization increases, so does the importance of having standardized deployment processes in place. An organization managing only a few dozen services can get away with a few custom deployment processes, but any organization seriously invested in microservices, event-driven or otherwise, must invest in standardization and streamlining its deployment processes.

Principles of Microservice Deployment

There are a number of principles that drive deployment processes:

Give teams deployment autonomy

Teams should control their own testing and deployment process and have the autonomy to deploy their microservices at their discretion.

Implement a standardized deployment process

The deployment process should be consistent between services. A new microservice should be created with a deployment process already available to it. This is commonly accomplished with a continuous integration framework, as is discussed shortly.

Provide necessary supportive tooling

Deployments may require teams to reset consumer group offsets, purge state stores, check and update schema evolution, and delete internal event streams. Supportive tooling provides these functions to enable further automation of deployment and support team autonomy.

Consider event stream reprocessing impacts

Reconsuming input event streams can be time-consuming, leading to stale results ...

Get Building Event-Driven Microservices now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.