You’re probably familiar with the benefits of automation through continuous delivery – more frequent and less risky releases, faster reaction times, greater agility and efficiency for development teams as well as the business. But achieving continuous delivery can be more difficult to put into practice.
In a recent article for InfoQ, our head of Developer Experience Luke Marsden outlines the progression of simple to complex approaches for building an architecture for continuous delivery with Kubernetes. Luke explains the potential limitations of using simpler approaches, and the justifications for more complex architecture.
In the simplest deployment, there will be manual steps to deploy images to the Kubernetes cluster. The downsides are that it can be slow to build and push containers, it consumes network bandwidth and disk I/O, and it can create bottlenecks for end users who need rollbacks to happen quickly in order to fix problems.
When progressing to a more complex approach, you’ll be able to establish version control configurations that provide a single source of truth for all of the microservices making up an application. This allows users to bring back an app if it accidentally gets destroyed.
The primary objectives you’re trying to achieve are automation, establishing a single source of truth, and implementing efficient rollbacks without requiring new code changes. But in order to do this last bit, you’ll need a release manager – like Weave Flux – to make the architecture simple again.
For more on how to achieve these benefits and automate continuous delivery, read the full article on InfoQ.
Thank you for reading our blog. We build Weave Cloud, which is a hosted add-on to your clusters. It helps you iterate faster on microservices with continuous delivery, visualization & debugging, and Prometheus monitoring to improve observability.