DEV Community

Amazon DevOps Guru for the Serverless applications - Part 9 Supported services and pricing

Introduction

Starting from the 1st part of the series we introduced the Amazon DevOps Guru service, described its value proposition, the benefits of using it and explain how to configure it. We also need to go through all the steps in the 2nd part of the series to set everything up. In the subsequent parts we saw DevOps Guru in action detecting anomalies on DynamoDB, API Gateway and Lambda (also in conjunction with other AWS services like SQS, Kinesis, Step Functions and RDS). These all have been so called DevOps Guru “Reactive Insights” detecting live anomalies. DevOps Guru also supports “Reactive Insights” which we introduced in the part 7 of the series. In the part 8 we looked at the DevOps Guru integrations into AWS SNS and the incident management services like AWS Systems Manager OpsCenter or 3rd parties like Atlassian Opsgenie and PagerDuty. In this part we’ll take a look at the DevOps Guru supported AWS services and pricing.

Services supported by the DevOps Guru

DevOps Guru analyzes different AWS resource types (for example, an Amazon S3 bucket or Amazon EC2 instance), which are categorized into two pricing groups. We pay for the number of AWS resource hours analyzed, for each active resource. A resource is only active if it produces metrics, events, or log entries within an hour. The resources are categorized into 2 groups A and B which will play a role when we'll be discussing pricing aspects.

Image description

Image description

As we see DevOps Guru supports big variety of all worlds. Even though we focused more on Serverless services, DevOps Guru also supports classic Services as EC2 and RDS and also container services as ECS and EKS.

There is also a separate AWS service Amazon DevOps Guru for RDS which requires turning on Amazon RDS Performance Insights on the Amazon RDS console. Here is the detailed article with some examples of Amazon DevOps Guru for RDS in action.

DevOps Guru pricing

The rate we’re charged for a specific AWS resource type depends on the price group: A or B.

Ressource of the group A (S3 and Lambda function) have pricing of 0,0028$ per resource per hour which corresonds to the 2,016$ per resource per month (for 30 days). For the resources from the category B have pricing of 0,0042$ per resource per hour which corresonds to the 3,024$ per resource per month (for 30 days).

The following needs to be considered:

  • DevOps Guru will charge per EC2 instance in an ASG, with a maximum charge for 100 EC2 instances in each ASG.

  • To generate metrics for DevOps Guru to analyze all Amazon Elastic Kubernetes Service (Amazon EKS) and some Amazon Elastic Container Service (Amazon ECS) metrics, we'll need to enable container insights on Amazon EKS and Kubernetes. To generate metrics for DevOps Guru to analyze Amazon Simple Storage Service(S3) metrics, we'll need to enable request metrics on our S3 buckets. Doing this might incur Amazon CloudWatch charges or Amazon S3 charges (for any data logged and stored by Amazon S3). For more information, see Amazon CloudWatch pricing.

This pricing is currently the same for all currently supported regions like US East (N. Virginia), US East (Ohio), US West (N. California), US West (Oregon), Canada (Central), Europe (Frankfurt), Europe (Ireland), Europe (London), Europe (Paris), Europe (Stockholm), Asia Pacific (Mumbai), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), and South America (São Paulo) regions.

There is aso AWS Free Tier which includes DevOps Guru analysis of 7,200 AWS resource hours each for resource group A and B and usage of 10,000 DevOps Guru API calls per month for 3 months.

In addition to AWS resource analysis charges, we also pay for the number of DevOps Guru API calls (e.g. DescribeAccountOverview, ListInsights) we make. The pricing is 0.000040$ per API call (0.40$ for 10K API calls).

Other Charges: If we configure Amazon Simple Notification Service (SNS) to receive notifications about DevOps Guru events, we will incur additional charges per standard Amazon SNS pricing. Similarly, if we configure to receive an OpsItem for DevOps Guru insights, we incur additional charges per standard AWS Systems Manager pricing.

Additionally DevOps Guru provides DevOps Guru Cost Estimator which will calculate for us monthly cost based on the DevOps Guru setting for the analyzed resources (either all resources or for selected Cloud Formation stack or resources with the specific tags)

Personal thoughts on DevOps Guru pricing

I personally think that we need different pricing for the resources from the group A, especially for Lambda functions and AWS accounts having a large amount of S3 buckets. AWS advocates for single-purposed small Lambda functions, so analyzing all Lambda functions by DevOpsGuru can be quite expensive. That's why it may sometimes end up with extra tagging Lambda function to restrict the Lambda to be analyzed by DevOps Guru which is not a good solution overall. Also analyzing API Gateway(s) having many paths/routes can become quite expensive, also here it'd be nice, if AWS can provide better pricing.

With DevOps Guru pricing not being based on resource consumption like number of invocations especially for the Serverless applications it's not feasable to use DevOps Guru on staging, testing or (individual) development environments as those will be priced exactly like the live environment. It would be beneficial if AWS provides the alternative price model also for such use cases, as having proper anomaly detection also makes sense for such environments even if the impact the failures might be much lower as on the live environment.

Conclusion

In this part of the series part of the series we took a look at the DevOps Guru supported AWS services and pricing. In the next part of the series, I'll share my general thoughts and impressions about Amazon DevOps Guru service so far.

Top comments (0)