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 seamlessly update versions of the microservices in production. 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 are 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. With the 1.1 release, Spinnaker has introduced the ability to do even safer release deployment with the Canary deploy option (using the canary feature flag). Before this release, Red/Black deployment offered safer deployment with the ability to rollback to the prior release, if the new release had issues. Rolling Red/Black is also planned for a future release in Spinnaker. It is critical to enable automated canary analysis for the deployments 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).