Validate Software Releases Through Application Behavior Analysis

Introduction

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)

Cost Rises Exponentially if Defects Found in Later Stages of Testing
Figure 1: Cost Rises Exponentially for Defects Found in Later Stages/Production

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.

Continue reading “Validate Software Releases Through Application Behavior Analysis”

Safer Rolling Update for Docker Applications with Kubernetes

Introduction

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)

In this blog, we will discuss how to achieve safer rolling update of Docker applications in a Kubernetes environment through automated in-depth analysis of the microservices updates. Continue reading “Safer Rolling Update for Docker Applications with Kubernetes”

Improve Release Safety and Diagnostics Through Automated Canary Analysis for Spinnaker

Introduction

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.

OpsMx is a real-time analytics platform for CI/CD pipelines that are designed to aid manual decision in promoting build across test and deployment to production. The OpsMx solution helps in reduce error and diagnostics time through complete, consistent real-time automated analysis for Spinnaker. Continue reading “Improve Release Safety and Diagnostics Through Automated Canary Analysis for Spinnaker”

How to Set Up Automated Release Analysis in Spinnaker Deployments

Updated 04/12/2018

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.

Safe Deployment Options with Spinnaker
Safe Deployment Options with Spinnaker

Continue reading “How to Set Up Automated Release Analysis in Spinnaker Deployments”

Spinnaker 1.1 Enables Canary/ACA Stage for Safe Deployments

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).

With the 1.1 release, Spinnaker has enabled Canary and ACA task stage as a core feature. Before this release, one has to enable Canary and ACA task stage using netflixMode flag in the Spinnaker settings file. Continue reading “Spinnaker 1.1 Enables Canary/ACA Stage for Safe Deployments”