Enterprises are moving to DevOps model and also adopting agile software development methodologies to accelerate the software deliveries. As the velocity of software development increases, the need to speed up the testing and validation also arises. Enterprises usually do some combination of the following to validate new releases – functional testing, integration testing, end-to-end system testing, user acceptance testing, accessibility testing, load or stress testing, security test and staging environment validation. Another need of these organizations is to find the issues earlier in the testing cycle as the cost of finding issues later or in production is much higher (Figure 1)
In this blog, we will look at ways enterprises can leverage automatic in-depth application behavioral based analysis to validate releases quicker, find defects early and spend less time diagnosing the issues.
Docker containers have enabled applications to be developed and deployed faster due to its superior portability between development and production environment and across multiple clouds. Enterprises have started adopting Docker with microservices architecture for their new applications. One of the emerging requirements apparent among these early adopters is the need to update versions of the microservices in production seamlessly. To address this need, container orchestration systems like Kubernetes, Docker Swarm, Mesos, and Nomad has introduced support for rolling updates. In a rolling update (Figure 1), applications get updated with zero downtime by incrementally updating pods/container instances with the new version.
Figure 1: Kubernetes Rolling Update (Source: Kubernetes.io)
Spinnaker is a continuous delivery platform that is pioneering the ability to release software faster. It is allowing thousands of enterprises to achieve release velocity never seen before. The key to increasing the velocity is to have the ability to determine with confidence that the new release can be promoted across different testing stages and eventually to production through Canary or Red/Black (aka blue-green) or Rolling update.
Leading enterprises (like Netflix which deploys more than 4000 updates a day), has proprietary decision engine to allow them to promote builds to production with confidence. However, most enterprises still are dependent on manual analysis and judgments to promote builds. Manual judgment is error-prone as decisions are based on incomplete analysis and are time-consuming as the analysis are laborious. Bad builds in production introduce significant risks due to business disruptions and brand damage.
Spinnaker, a continuous delivery platform is becoming popular among software deployment teams with its superior ability to orchestrate software delivery faster, safer and across multiple clouds. Spinnaker currently supports Red/Black for most cloud providers and Canary deploy options for the AWS cloud provider. Canary deploy can also be set up for any provider through a multi-stage setup. Rolling Red/Black is currently experimental and will be available in a non-experimental mode in a future Spinnaker release.
Starting with 1.7 version, Spinnaker has officially released the automated canary analysis feature (aka Kayenta). Spinnaker offers a default judge called the NetflixACAJudge-v1.0 and offers modularity to plugin 3rd party or custom judges. It is critical to enable automated canary analysis for the pipelines to truly benefit from these safe deployment strategies.
In this blog, we will review how to set up automated analysis for Canary and Red/Black deployment strategies instead of manual judgment or verification.
Exciting news today for all CI/CD enthusiasts. Spinnaker project reached the 1.0 milestone.
Spinnaker is a continuous delivery platform that is pioneering the ability to release software faster. It is allowing thousands of enterprises to achieve release velocity never seen before. The key to increasing the software velocity is to determine with confidence that the new version can be deployed to production through safe deployments models such as Canary or Red/Black (aka blue-green).