Kubernetes: Zero Downtime Release Pattern

<h1>Introduction</h1> <p>As is the nature of software, there will come a point where it&rsquo;s required to deploy a bug fix or new features. Any Ops team will attest that a release is fraught with worry, that&rsquo;s because performing a software release has the potential to introduce a new bug or even cause an unplanned outage. Releasing software is somewhat counter productive to the goal of an operations team, which is to maintain stability of the platform. Over the years I&rsquo;ve heard phrases from colleagues, (even uttered myself), such as:</p> <blockquote> <p>&ldquo;was this release tested&rdquo;</p> <p>&ldquo;what&rsquo;s the roll back procedure&rdquo;</p> <p>&ldquo;how quickly can we patch this&rdquo;</p> </blockquote> <p>For workloads running within a Kubernetes cluster I&rsquo;m going to describe a way in which you can release updated container images while minimising the aforementioned risks.</p> <h1>Background</h1> <p>A blue/green deployment strategy is a way to update an application without any downtime. The idea behind it is to have a matching sets of infrastructure, one that&rsquo;s currently live (the &ldquo;blue&rdquo;) and one that&rsquo;s running the updated code and isn&rsquo;t actively receiving traffic (the &ldquo;green&rdquo;). To avoid confusion&nbsp;<code>blue</code>&nbsp;always refers to the current live infrastructure;&nbsp;<code>green</code>&nbsp;is reserved for the updated, non live infrastructure.</p> <p><a href="https://medium.com/@a.j.abbott24/kubernetes-zero-downtime-release-pattern-942223d6bad3"><strong>Read More</strong></a></p>
Tags: Zero Downtime