The AppD Approach: How to Monitor the AWS Cloud and Save Money

April 11 2018
 

If there’s an AWS cloud metric you need, we collect it. Here’s how to gather the right metrics while staying on budget.


The AppDynamics platform is highly extensible, allowing our customers to monitor a variety of key Amazon Web Services (AWS) metrics. We have 20 unique AWS extensions that capture stats for everything from Auto Scaling which optimizes app performance and cost, to Storage Gateway which enables on-prem apps to use AWS cloud storage. We’re always fine-tuning these cloud-monitoring extensions and making improvements where necessary. In some cases, we’ll integrate these features into our core APM product to keep it best in class.

What can AppD’s extensions do for you? Each efficiently gathers metrics from all Regions and Availability Zones in the AWS Global Infrastructure. Using Amazon CloudWatch APIs, our extensions pull metrics from specific AWS components and pass them to the AppDynamics Controller for tracking, and for creating health rules and dashboard visualizations. These cloud-monitoring extensions give our customers greater insight into how their apps and businesses are running on AWS.

The AWS EC2 Monitoring Extension, for instance, retrieves data from Amazon CloudWatch on EC2 instances—including CPU, network and IO utilization—and displays this information in the AppDynamics Metric Browser. Similarly, the Billing Monitoring Extension captures billing statistics, while the S3 Monitoring Extension pulls in data on S3 bucket size, the number of objects in a bucket, HTTP metrics, and more.

AppDynamics users can also leverage the AWS cloud connector extension to automatically scale up or down in the cloud based on a variety of rules-based policies, such as the health of business transactions, the end-user experience, database and remote services, error rates, and overall app performance.

This cloud-monitoring extension helped one AppD customer avoid a Black Friday ecommerce meltdown by implementing health rules to automatically scale up EC2 resources when certain load and response time metrics were breached, and scale down when those metrics returned to normal. Another plus: By adding an authorization step to these workflows—one that asked permission before spinning instances up or down—the customer paid only for EC2 resources he needed.

Simple Setup

It’s easy to edit an AppDynamics AWS extension’s config file, extract the performance metrics you need, and show the data on your dashboard. Once you provide the necessary information in config.yml (see below), the extension will do the rest. You can select time ranges for data gathering, include/exclude specific metrics, and specify the way you’d like your stats collected: ave, max, min, sum, or sample count:

How AWS Extensions Save You Money

Many of our customers are gathering AWS metrics in the AppD platform. Collecting these metrics requires the use of Amazon API calls, which can get expensive when used excessively. As reported by AWS Insider.net, a recent study by migration analytics firm TSO Logic found that most organizations are overpaying for cloud services, and that 35% of an average company’s cloud computing bill is wasted cost.

AWS regularly releases new products, all of which use CloudWatch APIs. The good news is that AppDynamics offers a special extension that monitors products using those APIs. By helping you collect only the metrics you need, AppD can help you manage your AWS bill.

EC2 Example

CloudWatch monitoring has two levels of pricing: Basic and Detailed. In Basic monitoring, metrics are updated in five-minute intervals; in Detailed, metrics are updated every minute.

Let’s say you have an EC2 instance that returns seven metrics, and you want to monitor all EC2 instances from one AWS region. To do so, you install the EC2 Monitoring Extension on your machine agent, and add your access key and secret key to the config.yml file. Then add the AWS region you’d like to monitor.

The extension makes a call to AWS to get the list of instances for each region listed in the config file, as well as the metrics associated with them. To get a metric value, AppDynamics calls CloudWatch to get the value associated with each instance.

Simply put, API calls add up in a hurry. Let’s look at an example:

1 list call + 7 metrics x 1 every minute   = 8 calls
x 60 minutes/hour = 480 calls
x 24 hours/day = 11,520 calls
x 30 days = 345,600 calls
x 20 instances = 6,912,000 calls

CloudWatch pricing gives you one million free API requests each month. This means you’ll be charged for the remaining ~6 million calls.

How can AppD help? By letting you specify how frequently your AWS extensions should make API calls. This feature allows you to dramatically reduce the number of AWS calls, while still monitoring all of your instances. It has been very effective for several AppD clients and is being added over time to all of our AWS extensions.

Select Your Cloud-Monitoring Metrics

Metric selection is another key feature of our AWS extensions. This is important because CloudWatch, by default, provides several metrics that may not be necessary for monitoring your environment.

AppDynamics’ extensions let you select only the metrics you’d like to monitor. In addition to better managing your CloudWatch bill, this also allows you to better manage which data is important to your business, and which isn’t.

You can monitor individual instances as well: Choose the instance you’d like to monitor, and the extension will only make calls regarding that instance. Since this feature allows you to monitor just those instances you use regularly, it saves money.

AppDynamics is always refining its AWS extensions, making improvements where necessary and integrating some of these features into our core APM product. Again, if there’s an AWS metric you need, we collect it. If you have specific AWS monitoring needs, contact your account manager. Want to learn more about AppDynamics? Learn more here or schedule a demo today.

Bhuvnesh Kumar is a Product Manager at Cisco AppDynamics and has been working on various components of the Full-Stack Observability Platform. His current focus is leading the Cost Management and Resource Optimization charter. Prior to Product Management, Bhuvnesh was an engineer on the Extensions team at Cisco AppDynamics. Bhuvnesh has a deep interest in the observability industry, OpenTelemetry™, and open standards.

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form