Get started Bring yourself up to speed with our introductory content.

No silver bullet for AWS performance, cost monitoring

Cloud has created a complex IT environment that requires an arsenal of tools for monitoring infrastructure, application performance and costs.

With AWS, companies pay only for what they use, and that affects how admins monitor use. The cloud is highly dynamic...

because servers come and go, autoscaling changes the makeup of the environment, and topologies constantly evolve. In addition, the public cloud is supported by configuration management systems that drive more logs and system events.

To make sense of all this, you'll want to bring AWS monitoring into play. Cloud monitoring tools fall into three general categories:

Cloud infrastructure and real-time monitoring

The bottom-up approach starts with database-compute monitoring and runs up to application monitoring.

CloudWatch, which is AWS' monitoring layer, enables you to view metrics like CPU use, data transfer within the environment, disk use and logs that can be used to create alerts. Admins can use CloudWatch to obtain metrics in real time, or they can use more traditional monitoring tools, such as Nagios, Zabbix and Cacti.

The challenge with these monitoring tools is finding a way to automatically configure them to changes in the environment.

When using Nagios, for example, every change in the environment requires a restart. And while it's an open source tool, it is not built to support a changing environment. There are cloud consumers that have developed another layer on top of the APIs of these tools to support automatic changes in the environment.

While the cloud's changing environment overwhelms Nagios, Sensu is simpler and more scalable. Sensu's configuration features are almost the same as Nagios and Zabbix, but when instances are added or removed, Sensu clients automatically link to the Sensu server. When a new instance comes to life, Sensu clients automatically sync with the respective Sensu server.

The proprietary tools category includes comprehensive utilities such as DataDog, Sysdig and BigPanda, in addition to Stackdriver, which Google recently acquired. In addition to aggregating information to show what's going on in a cloud environment, these tools also use comprehensive user interfaces (UIs) to support quick remediation action.

With traditional tools, it was often difficult to determine that an event or alert was true. When it comes to these types of proprietary tools, they actually give more comprehensive features out of the box, such as auto-reveal of an application's topology, discovering correlations between different types of alerts that are taking place.

Using these methodologies reduces "noise" and allows you to quickly take the necessary actions. It's also important to note that these systems are supported by strong APIs and out-of-the-box integration techniques, differentiating them from the aforementioned open source tools.

Application performance monitoring

It is also important to monitor applications. In addition to the infrastructure layer, CloudWatch monitors databases such as DynamoDB and Relational Database Service. It also supports the option for custom monitoring, so it can be fed more metrics from layers higher in the stack. You can then monitor logs and set alerts to create action triggers.

Commercial tools are more widely used with APM. They are able to track metrics such as application transactions (e.g., the volume of processed transactions and response times), and eventually provide transparency into user experience.

When it comes to application management and monitoring in the cloud, especially in AWS, traditional technology vendors lag behind specialists such as New Relic, AppDynamics and Compuware, according to the 2014 APM Gartner Magic Quadrant.

Cost analysis and monitoring

Cost monitoring in AWS evolved because of the dynamic nature of the cloud. AWS' environment is built through an API, and application developers who use Amazon extensively consume AWS through its API, making it difficult to control costs. A small bug in your application, for instance, could double -- or even triple -- a monthly AWS bill.

AWS Trusted Advisor, which is part of Amazon's support package, provides notifications of recent changes in your environment, including cost, performance and security. A similar tool, Ice, is an open source tool developed by Netflix engineers. Ice provides users with a big-picture view of how many resources are in use (and by whom) within an environment. It also enables cost allocation using AWS Programmatic Billing Access to track expenditures according to their accounts, regions, services and so on. In addition, AWS cost monitoring allows you to find the right purchasing plan, such as making effective use of an appropriate Reserved Instances plan.

Cost monitoring is about more than just recent changes, though. It also means identifying trends and anomalies over time. This makes cost monitoring primarily a big data problem that involves tracking your history to assess the current state and then forecast costs. Only then can cloud consumers plan a budget and institute chargeback and cost allocation procedures. In this category, established vendors Cloudyn and Cloudability are joined by newer players such as CloudCheckr and CloudHealth Technologies.

About the author:
Ofir Nachmani is a business technology advisor, blogger and lecturer. Ofir's extensive experience in the world of business technology has made his critically acclaimed blog, IamOnDemand.com, the go-to guide for modern technology startups and developers in the world of cloud computing. Today he advises organizations, leading them through new IT market modifications, while building and executing a modern go-to-market strategy.

Next Steps

Common AWS CloudWatch terms and definitions

What can you expect from CloudWatch Logs?

ElasticBox outdoes AWS, Google cloud performance

Things to keep in mind when choosing a cloud provider

This was last published in March 2015

Dig Deeper on AWS CloudWatch and application performance monitoring

PRO+

Content

Find more PRO+ content and other member only offers, here.

Join the conversation

4 comments

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

What third-party tools do you use to monitor AWS performance?
Cancel
Cost - Cloudability
Performance - Boundry
Apps - NewRelic or DataDog
Logs - Loggly
Cancel
Ofir: I would argue there is a new, fourth dimension emerging in this space called Platform Performance Management. As you point out the complexion of the hosting service is constantly changing which, in turn, is reflected in the capacity and quality of service delivered to the hosted application. To "see" this and truly measure it one has to sit along side the application and "watch" how it is being served at the actual platform layer. I only know one tool providing this level of visibility; Krystallize Technologies. Their CloudQoS is the only true metric for public cloud or private hosting providing the means to capture and baseline performance, and then monitor it continuously, providing an independent assessment of service delivery.
Cancel
I've definitely heard some AWS cost horror stories.
Cancel

-ADS BY GOOGLE

SearchCloudApplications

TheServerSide

SearchSoftwareQuality

SearchCloudComputing

Close