Cloud monitoring tools are essential for successful virtual application delivery across the wide area network (WAN)....
Learn in this tip what to ask service providers so that your cloud-based apps don't suffer from poor performance over your corporate WAN.
Monitoring and managing applications can be a tricky business. Even in a data center, where staff is on hand 24/7, and operators keep an eagle eye on consoles and dashboards to look for and head off issues, applications can occasionally bog down or become unresponsive. But when applications take to the cloud—that is, run virtualized on one or more servers at one or more locations—monitoring and management get more interesting in a big, fat hurry.
On the one hand, cloud-based applications can provide lots of run-time flexibility, including considerable elasticity in the face of rising and falling user demand. On the other hand, understanding what cloud-based applications are doing and how they are performing takes planning, foresight, and ongoing effort. WAN environments normally require you to take input from remote users and deliver output to those users in return. Because of this, there’s some art involved in designing, implementing and monitoring cloud-based applications to behave optimally in WAN environments.
Optimizing performance, latency and throughput for cloud-based apps
Certainly, experts are unanimous in recommending use of traffic shaping and WAN optimization techniques to keep latency to a minimum for cloud-based apps. This is especially important for interactive applications where users want to obtain responses to their inputs in a fairly short time: 150 milliseconds (msec) is tolerable; values from 200-300 msec are bearable; but values over 500 msec can be hard for users to take.
Wide area network engineers can optimize cloud-based applications by doing the following:
- Plan to limit the number of WAN hops between users and servers to control latency.
- Use a WAN optimization controller to maximize compression of data sent across the WAN.
- Perform deduplication and use bit dictionaries to limit repeat transmissions.
- Eliminate chatty protocols wherever possible.
- Carefully monitor server loads: Aggressive load relocation (to migrate servers closer to users to minimize latency) and distribution can cut down the back end of performance—namely, server processing time.
- Pay equally careful attention to SLA requirements and service guarantees to drive traffic shaping and make sure that application response times and throughput are maintained at appropriate (or mandated minimum) levels.
Ultimately, it is necessary for service providers to watch their application delivery carefully. This typically requires ongoing probe-based testing to monitor the WAN from end-to-end to keep tabs on all components that affect the total user experience. This means the following measures are necessary:
- Testing database access times from strategically-placed test clients.
- Monitoring Web page load times.
- Checking performance of video codecs.
- Actively determining how all other elements of that user experience behave over time.
Virtualization poses cloud monitoring issues
By adding one more layer of abstraction to the metrics typically used to monitor server performance, virtualization adds complexity to typical monitoring and management tasks. This is true for both real, physical servers and their virtual counterparts. This type of virtualization complicates cloud monitoring in terms of the following:
- CPU and disk utilization
- active threads and processes
- application response times
From inside the VM, notions of time and resource consumption depend on how much actual access is available over time to active processes and services. From outside the VM, the hypervisor (or its equivalent) sees all VM activity on a host or cluster in complete context. Thus, proper monitoring and management requires information from both views to provide accurate metrics. Savvy SaaS, PaaS and IaaS consumers have to understand what service providers are measuring and how their reports (and service level observations) correlate with actual user experiences. (IT engineers can verify SLA compliance usually by installing probes or simulated job loads that run in real time in production environments to model the user experience.) Otherwise, they risk incurring user ire when the experience is bogging down or perhaps even intolerable, when metrics fail to capture inherent difficulties with responsiveness or delay.
Cloud application monitoring and measurement
Ultimately, the secret to positive cloud-based application delivery is to look for application services that have been architected and instrumented to work well in cloud-based environments. To get what you need for cloud monitoring, here’s a list of desiderata that you would be well-advised to discuss with cloud service provider candidates:
- Portable agents or instrumentation: Because virtualized applications and services move around willy-nilly—within and among multiple data centers in the cloud as user proximity and available computing resources dictate—it’s essential that cloud monitoring and management functions follow them wherever they go. Some experts opine that this is best achieved by building agents or instrumentation right into the applications themselves. But as long as the service provider treats application or service plus agents or instrumentation as a monolithic package, cloud monitoring and reporting remain available wherever and whenever runtime activity occurs. That’s what’s really important.
- On-demand access and reporting data: Application service consumers must be able to check status, availability and cloud application performance at any given moment. Thus, service providers must make dashboards and real-time reporting tools available for their offerings as a matter of course. More and better analytics, trend reporting and historical information are readily available today, and provide strong evidence that service providers understand what service consumers want and need to know.
- Flexibility and control: Some of the strongest selling points for cloud-based applications include the ability to add and subtract seats or licenses as needed, and to manage service delivery to meet specified levels of service. Service providers should be ready to explain—and demonstrate—how they can deliver on such promises, and help prospective buyers understand the costs and logistics involved for requests, provisioning and delivery.
- Web-based dashboards and reporting: The on-demand, virtualized nature of cloud applications already dictates that Web-based access is a key ingredient for their deployment and use. The same goes for management, monitoring and reporting tools, which service providers should make available to designated customer personnel. Setup, training, documentation and support for these key facilities should be an important point for discussion and demonstration during the cloud provider acquisition process.
- Usable, meaningful diagnostics: When measuring and monitoring cloud user experience, it’s vital to capture the kind of information that actually represents and truly measures what users see, interact with, wait for and have delivered to their screens and systems. The more specific or proprietary the application or service, the more important it is to validate the metrics gathered by simulating user activities and comparing actual observations to the metrics' values. Likewise, it’s essential to dig into related troubleshooting and reporting tools that provide information and guidance when and as problems or issues arise, to understand how problems are diagnosed, reported, and ultimately addressed. The same goes for reporting, escalation and resolution processes to address problems or issues that attain trouble ticket status.
- User experience monitoring: probes, checks, and heartbeats: Traditional network and WAN performance metrics capture only a fraction of the user experience. Savvy service providers understand that they must model that experience and provide information about application or service availability, responsiveness, throughput and productivity. It is essential for prospective buyers to walk through all of this infrastructure with service providers, to understand what is being measured and what it has to say, and to make sure that the metrics provided say something useful and important about the user experience. To that end, regimented and transparent use of probes, checks and heartbeats at the application level is essential, and must be understood and verified.
- Effective, efficient WAN infrastructure: Ultimately, effective and efficient delivery of cloud-based applications depends on intelligent WAN design and informed, capable use of WAN bandwidth optimization technologies. Buyers must understand that WAN optimization controllers on their end of the WAN link may play into their overall service delivery package; you should be prepared to accommodate service provider equipment (or purchase recommendations) in your network infrastructures. It’s also essential to understand if (and how) existing WAN optimization gear can play into a cloud environment, and how service provider recommendations might encourage or force changes in WAN optimization technology selection and composition.
In the final analysis, making effective use of cloud-based applications and services depends on establishing and managing service-level agreements that prove workable for service providers, yet still manage to deliver an acceptable experience to end users. Figuring out what end users need often requires cloud monitoring through in-the-trenches observation and research. It also involves a strenuous effort to balance the costs of what technology and best practices (optimization techniques, quality of service, application caching and so forth) can deliver against levels of service that will keep users productive and assure them a reasonably positive computing experience.
⇒ For more information, view our cloud computing tutorial for WAN managers.