Introduction

Continuous Verification

Modern applications deployments have increased in complexity due to distributed architectures with microservices, increased number of microservices with multiple developers involved in development and release makes it difficult to track the root cause of failures. Metrics may not always reflect the underlying issue in the initial test, and root cause analysis requires distributed log analysis.

The Continuous Verification performs automated log and metrics analysis for new releases with built-in unsupervised and supervised machine learning algorithms for risk analysis.

Continuous Verification is a release verification platform that provides Dev and Ops engineers an intelligent automated real-time actionable risk assessment of a new release deployed. The Continuous Verification verifies the latest version of the service comparing to the baseline or prior release after production rollout. The baseline can be a deployment done prior or the current deployment during rollout using canary or blue/green or rolling update strategies.

It leverages unsupervised and supervised machine learning and Artificial Intelligence (AI) techniques to analyze 1000’s of metrics (infra and APM) and logs data to perform in-depth analysis of architectural regressions, performance, scalability and security violations of new releases in a scalable way for enterprises.

Continuous Verification exposes REST interface for triggering analysis, status queries and retrieving reports. These interfaces provide an easy to integrate with deployment pipelines from Spinnaker, Jenkins and other delivery tools. Automated analysis is triggered using the Analysis interface (CAS interface) and reports are accessed using Reporting service.

Continuous Verification provides interfaces for retrieving reports and query for status of runs in progress. The GUI provides easy to navigate and access capabilities for viewing reports and analyzing logs for diagnostics.

Continuous Verification Admin interface allows creating Data Source accounts for fetching monitoring information, creating Application groups and permissions and default templates. Users can also modify templates and applications based on permissions assigned.

Continuous Verification of Deployment

Continuous Verification is a REST service that can be deployed on premise or use managed cloud service for analysis. Continuous Verification interfaces with monitoring systems for logs and metrics and uses the metadata provided in start analysis phase to retrieve the logs and metrics for deployment verification. Continuous Verification does not interface with the services deployed directly for its analysis.

Continuous Verification can be deployed on premise as a Docker container that can run in Docker Swarm, Kubernetes, Mesos or any platform that supports Docker containers. Deployment Pipeline can be based on Spinnaker or Jenkins for Enterprise Continuous Delivery. Continuous Verification stage can be integrated with Jenkins pipeline using a wrapper to Continuous Verification API. In Spinnaker Continuous Verification integrated natively using ACA stage of Spinnaker. It can also be integrated in pipeline using Webhook stage in Spinnaker. The whole process is illustrated in the image below:

Continuous Verification Deployment Configuration