The application performance of the public cloud computing is unsatisfactory, which leads to the frustration of end-user use. SLAs from PAAs and IaaS providers are generally valid, but not overall response time. The DevOps team monitors the performance of cloud computing applications by using different tools.
350 IT experts from North America assessed the average loss of $985,260 trillion in revenue per year due to performance problems based on cloud computing applications, according to Compuware. European Union respondents said they would lose an average of 777,000 dollars. The application of performance issues resulted in 58% of North American respondents and 57% of EU respondents deferring the use of cloud-based applications.
The survey also found that 94% of North American respondents and 84% of EU respondents believed that cloud application service level Protocol (SLAS) should be based on actual end-user experience, not just a service provider's usability metrics. But this naïve mutual estimate makes it hard to persuade public or private cloud providers to offer a high price for point-to-point SLAs. So, the rest is DevOps's work, measuring cloud-based applications with error logging, analysis, and diagnostic code.
Anyway, what's the best way to monitor the performance of data-intensive applications? Free or Low-cost runtime and response time reports from pingdom.com,mon.itor.us or other monitoring provider sites to verify that applications meet SLAs and point-to-point site performance.
Companies like Loadstorm and Soasta sell customized cloud application load tests. Compuware's Cloudsleuth site offers a free one-month ranking of global rankings of point-to-point response times for major cloud infrastructure and services (IaaS) and Platform and Service (PaaS) providers.
Figure 1 shows the sample project for Windows Azure, which demonstrates paging, creating, reading, updating, and Deleting (CRUD) operations on an azure table. Manipulating these on Oakleaf Azure Table Services Sample project results in negative values for code execution.
Figure 1. Paging and CRUD Operations for Windows Azure sample Engineering.
The time text box at the bottom of the window shows the last operation's code execution, and the new page is 28ms. Clear the Batch updates check box, and you'll see a sharp increase in the execution time of a separate crud operation on 91 user records.
Reporting alone is not enough; organizations must also acquire or develop local diagnostic management tools to download and analyze Performance Logs and send warnings and graphical reports. IaaS providers like Amazon Web Services focus on building their hardware with local metrics, and PAAs products like Windows Azure and SQL Azure provide a deeper, professional understanding of the application and its code.
How AWS Cloudwatch Monitor performance
Amazon Cloudwatch allows the DevOps team to automatically monitor the CPU, data transfer, disk activity, latency, and number of requests for Amazon elastic Compute Cloud (EC2) instance. For EC2 instances, EBS volumes, SQS queues, SNS themes, elastic Load balancers, and Amazon RDS database instances, the basic measurements are every five minutes and there is no additional cost. You can add standard measurements and warnings to the Cloudwatch tab of AWS Management console by navigating to the Metric page on Navigation Pane to observe the measurement chart (Figure 2).
Figure 2. CPU utilization metric diagram for EC2 instance
EC2 Instance CPU utilization metric graph, based on EC2 image ID, the remaining six indicators constitute the 7th basic measure of EC2 mirroring.
The DevOps team can use AWS's automatic scalability feature to provide flexible usage features, and only dynamically add or remove Amazon EC2 instances based on the Cloudwatch metric parameters applied. In July 2011, AWS Added new notifications, loops and other automated scalability features.
Cloudwatch does not provide built-in application monitoring measurements because AWS is an IAAS product and is independent of the operating system and development platform. However, developers can develop applications to submit API requests to respond to application events, such as handling or not handling errors, function or module execution time, and other application-related measurements.
Windows Azure Performance Log and analysis
Since the advent of the Microsoft PAAs Service in January 2010, the Windows Azure team has added log, analysis and diagnostics capabilities to the stability of the platform. Because the Windows Azure Portal interface does not support adding measurement, analysis, and alerting capabilities, the DevOps team must write their own code and edit the configuration files to enable the diagnostics and logging of Windows Azure Computing and storage services. Table 1 lists the various types of logs that can be used for analysis in the June 2010 by DevOps through Windows Azure's diagnostic API.
Table 1. Windows Azure Diagnostic data collection logs and associated Azure tables and binary Large objects (BLOBs), which store log data through the Windows Azure SDK v1.2 for blobs.
The SDK v.1.4 and Visual Studio Tools for Azure v1.4 increase the ability to document Windows Azure applications through the Visual Studio 2010 Advanced or flagship edition when the application runs inside Windows Azure products. Tool upgrades at the beginning of August 2011 and the new Windows Azure Storage Analytics feature enable log tracking execution requests for storage accounts, as well as summary functionality for measurements, and statistics on requests for binary large objects (BLOBs), tables, and queues.
The August 22 Upgrade sample project generates an analytic table that is stored with a table and binary object, as well as internal time series data based on Tracewriter objects, but requires a separate application to read, display, and manage diagnostics. Cerebrata's Azure Diagnostics Manager can read and display log and diagnostic data as a table or as a graph. The company's free Windows Azure Storage Revisit utility helps the IT operational team to turn on storage analysis without writing code. Cerebrata's Cloud Storage studio also added management features for table and binary objects (see Figure 3).
Figure 3. Cerebrata's upcoming beta version of cloud Storage Studio v2
System Center monitoring Pack for Windows Azure applications, for users using System Center Operations Manager (SCOM) 2007 and beta releases, offers similar cerebrata products. Currently, automated scalable Windows Azure requires third-party solutions, such as Paraleap Azurewatch, handmade. NET function or the upcoming Windows Azure integration Pack for the Enterprise Library. Monitoring the SQL Azure database requires you to use SQL Azure's three different kinds of dynamic management views: database-related views, performing related views, and transactional-related views.
(Responsible editor: Lu Guang)