Can Amazon Web Services be used to automate application performance management?
Moving applications to the cloud brings advantages in terms of cost and scalability, but it also brings challenges. Providing software as a service (SaaS) makes the need for insight into application performance essential. Cloud infrastructure providers like Amazon Web Services (AWS) provide real-time data analytics tools, Amazon CloudWatch for example, to address that need.
AWS in particular provides an array of products and technologies designed to bring applications of all sizes to the cloud. Services include compute power or Amazon Elastic Compute Cloud (Amazon EC2), storage services or Amazon Simple Storage Service and database services of various tiers depending on a team's needs. In the application space, AWS offers distributed application support services, application deployment, management and monitoring services.
Amazon CloudWatch monitors AWS resources such as Amazon EC2, storage and database instances.
Amazon CloudWatch falls under the scope of management and monitoring services. CloudWatch is a resource that can be used to collect metrics, send alarm notifications, monitor and report based on a set of customer-defined rules.
With businesses increasingly moving applications to the cloud, many are not yet using application performance management (APM) or monitoring tools. If they are, chances are they are not using them effectively. However, AWS may have solved the problem with Amazon CloudWatch, an application that can provide AWS customers with automated APM tools.
So how does it work? The first step is to set up an AWS account in order to access CloudWatch. From the AWS account, application managers can set up parameters to collect and track metrics, gain insight and react immediately to keep applications and businesses running smoothly.
Amazon CloudWatch monitors AWS resources such as Amazon EC2, storage and database instances. The application can also be deployed to monitor custom metrics on a particular application, provide system-wide visibility into resource utilization, monitor application performance and oversee operational health. There is only one caveat; CloudWatch is not an application that can be used independent of AWS. Customers need to integrate their applications into an AWS environment.
Application performance monitoring tools should help businesses determine whether applications are implemented in an optimal manner. In dealing with shared resources such as AWS cloud services, fluctuations in performance can diffuse the workload of other hardware and applications. Businesses rely on a positive end-user customer experience. Therefore, application performance is critical, and the user experience is the most relevant metric of all.
Amazon CloudWatch has an auto-scaling feature so AWS customers can dynamically add or remove compute power or EC2 instances. Data is stored for only two weeks but can be transferred or published using other Web applications.
Amazon CloudWatch comes with a price though. Not only will development organizations pay for compute, storage and database resources, there is also a cost for custom metrics and for how often the manager wants to monitor and measure the environment. It could be measured every five minutes or in one-minute increments. CloudWatch customers can expect to pay $0.50 per metric per month with any add-on services such as alarms or API requests, which run $0.10 per alarm and $0.01 per 1,000 GET, LIST or PUT requests. Those numbers are all based on monitoring cloud applications at five-minute intervals.
Overall, Amazon CloudWatch is the most promising AWS service to provide APM. The drawback is that is cannot be deployed independent of AWS, and customers will be required to migrate infrastructure and applications to the AWS environment. A cost-benefit analysis would need to be conducted to see if it makes sense to move an application to AWS. The analysis would also help determine the compute, storage and database resources development organizations will require versus the cost of keeping the application in-house and using another APM third-party product.