Stelligent Amazon Pollycast
Stelligent’s pipeline-dashboard is a serverless open source tool that generates AWS CodePipeline Continuous Delivery metrics via an Amazon CloudWatch Dashboard. You can read more about it in our blog post: CodePipeline Dashboard. The automated provisioning is implemented in AWS CloudFormation and the dashboard functionality is primarily implemented in Node.js via AWS Lambda. In February 2018, AWS announced the general availability of the AWS Serverless Application Repository (SAR) – which enables you to discover, deploy, and publish serverless applications.
With the CodePipeline dashboard solution, you can go to a dashboard and get real-time metrics related on how quickly feedback is flowing across your product teams. With these metrics you can determine some and more of the following:
- How often code team members are committing code to the version-control repository
- The time it takes between a code commit and that code being deployed to production
- The meantime between failures and recovery
- How quickly team members get notified once a failure is introduced
The reason any of these types of metrics matter is because getting feedback quickly helps influence the effectiveness of the solution. Finding a defect soon after it’s introduced reduces complexity and costs. Learning a particular feature doesn’t meet the needs of your customers helps you more effectively create features your users love.
These metrics are described in more detail in the blog post and README.
In this blog post, you’ll learn the steps for deploying the CodePipeline Dashboard solution using the AWS Serverless Application Repository or through the AWS Lambda console. Once you’ve successfully deployed the solution, you can go to your Amazon CloudWatch Dashboard and see a dashboard similar to the image in Figure 1.
Figure 1 – CodePipeline Dashboard in Amazon CloudWatch
Locating the Dashboard in the AWS SAR
There are two ways to locate the pipeline-dashboard in the AWS Serverless Application Repository. You can either search for the application in the AWS Lambda Console or go directly to the application page that SAR creates for each application.
- Go to the AWS Lambda Console
- Click Create function
- Select the Serverless Application Repository radio button
- Type pipeline-dashboard in the search applications by name, description, or labels text box
- As results are displayed, select the pipeline-dashboard link
- Go directly to the CodePipeline Dashboard solution in the AWS Serverless Application Repository
Once you have locating the pipeline-dashboard application in AWS SAR, follow these steps for deploying the application:
- In the Configure application parameters section, type a unique name for the stack.
- Scroll down and click Deploy. You’ll see resources being created by the CloudFormation stack. It will take approximately 2 minutes to complete the stack creation. You’ll see a message that states “Application successfully deployed” – as shown below.
View the Dashboard
NOTE: To get proper metrics, each of your CodePipeline instances needs to have completed a pipeline at least once (presumably, this means deployed to production). You will also want to wait about 5 minutes after launching the stack before viewing the metrics in the CloudWatch dashboard.
Here are the steps for viewing the metrics generated by the CodePipeline Dashboard:
- Go to Amazon CloudWatch
- Click on Dashboards
- You should see a dashboard called something like Pipelines-us-east-1. Click on it.
- You should see the metrics for all of your CodePipeline instances in your region.
There are a number of services used in this solution. The actual solution you launch is an Amazon CloudWatch Dashboard and metrics solution. Depending on your AWS account, you can fall into the free tier for the solution but if you have existing dashboards there will be some fees. The relevant parts to CloudWatch pricing include:
- “New and existing customers also receive 3 dashboards of up to 50 metrics each per month at no additional charge”
- “Amazon CloudWatch Dashboards $3.00 per dashboard per month”
- “$0.30 per metric per month for the first 10,000 metrics”