Overview

This solution automates the process of ingesting, analyzing, and visualizing continuous integration/continuous delivery (CI/CD) metrics. These metrics are displayed in Amazon QuickSight dashboards to help DevOps leaders measure the impact of their DevOps initiatives and make data-driven decisions to drive continuous improvement in their development teams.
Benefits

Automate ingestion and analysis of streaming data containing performance and operational metrics in your CI/CD pipeline in near real-time. Calculate key DevOps metrics to track and measure the activities of your development teams.
Automate the launch of pre-built Amazon QuickSight dashboards to visualize the solution's analyses. Identify insights into your CI/CD activities to better understand your DevOps initiatives and make data-driven decisions to drive continuous improvement in your software delivery process.
You can customize this solution to use third-party business intelligence (BI) tools so you can build customized visualizations from the Amazon Athena database.
Stream data from multiple AWS accounts and AWS Regions into a central S3 bucket where data is analyzed and monitored using a single dashboard.
Technical details

The diagram below presents the architecture you can automatically deploy using the solution's implementation guide and accompanying AWS CloudFormation template.
Step 1
A developer initiates an activity in an AWS CI/CD pipeline, such as pushing a code change to AWS CodeCommit or deploying an application using AWS CodeDeploy. These activities create events. If a multi-account multi-region feature is activated, the events can be generated from multiple AWS accounts and multiple AWS Regions. For development using GitHub repository, git push events are generated.
Step 2
An Amazon EventBridge events rule detects the events based on predefined event patterns and then sends the event data to an Amazon Kinesis Data Firehose delivery stream. One event rule is created per event source. For activities in AWS CodeBuild, a CloudWatch metric stream is set up to capture CloudWatch metrics and deliver them to a Kinesis Data Firehose delivery stream. For GitHub push events, an Amazon API endpoint is created to post these events and deliver them to a Kinesis Data Firehose delivery stream.
Step 3
An Amazon EventBridge events rule is also created to capture events from an Amazon CloudWatch alarm that monitors the status of an Amazon CloudWatch synthetics canary or Amazon CodePipeline, if you have set up the alarm for the canary or pipeline respectively in your account. This alarm is needed to gather data for calculating Mean Time to Recovery (MTTR) metrics.
Step 4
Amazon Kinesis Data Firehose uses an AWS Lambda function for data transformation. The Lambda function extracts relevant data to each metric and sends it to an Amazon S3 bucket in the monitoring account for downstream processing.
Step 5
The data in Amazon S3 is linked to an Amazon Athena database, which runs queries against this data and returns query results to Amazon QuickSight.
Step 6
Amazon QuickSight obtains the query results and builds dashboard visualizations for your management team.

“Mphasis is a leading applied technology services company which enables enterprises to accelerate their digital transformation journey. By using DevOps Monitoring Dashboard alongside other AWS solutions, we were able to decrease time between ideation and deployment by 30%. We’re able to automate the setup process of collecting and visualizing our DevOps operational metrics which has allowed us to easily make smarter decisions and pinpoint where improvements can be made across our deployment teams.”
Related content

In this blog post, we show you how you can save time and effort using AWS DevOps Monitoring Dashboard solution to automate the setup process to collect and visualize DevOps metrics. This solution is a reference implementation that makes it easier for organizations of all sizes to collect, analyze, and visualize key operational metrics in their software delivery process.