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.
- infrastructure and real-time monitoring;
- application performance monitoring (APM); and
- cost analysis and monitoring.
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.
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