Cloud application development has been picking up a lot of momentum across industries. For it to effectively be hosted and managed, cloud application performance fine tuning is an important aspect to be considered. Application performance tuning in the in-house data center era was frequently likened to as an art. Business applications in the current era are hosted on the cloud, so as to leverage advantages of rapid scalability and operational costs. But performance challenges still remain, even when the application is on a public cloud platform. The only difference is that developers face unique challenges when their applications are hosted on the cloud.
One of the biggest performance issues for cloud hosted applications is the noisy neighbor effect: high activity on one application can pull resources away from other applications.
What can developers do to fine tune cloud application performance?
- Leverage network based performance management
Network based performance management cover aspects such as load balancing, connection pooling, protocol optimization and data caching. Network based performance management is influenced largely by the type of hosted application and user locations. Within this approach, there are two possible variants:
Asymmetric performance management approaches work on the server side, and act as a control valve on the client population.
Symmetric performance management approaches work on both the client and server sides, enabled by network devices enabled either by network devices intercepting and optimizing the traffic or software running on clients and servers. A good example of symmetric performance management is data deduplication, which drastically reduces the amount of data sent over the WAN, resulting in a reduction of almost 50% of data transfer volume.
Commercially available network based load balancing solutions from RackSpace and Array networks are capable of:
- Scaling application availability without impacting application performance
- Integrated traffic management and application acceleration functions such as:
- SSL acceleration
- Adaptive compression
- Dynamic caching
- Connection multiplexing
- Content routing
- QoS management
- Leverage the power of Integrated Application Performance Management (APM) solutions
Due to their inherent dynamism and complex nature, accurately diagnosing and troubleshooting performance issues in a virtual and cloud environments have become difficult. This is where the utility of APM solutions come in handy. These solutions monitor and manage application performance, availability and security throughout the application lifecycle by measuring the response times of users, application components and specific transactions. Companies can diagnose problems up to 90% faster by identifying the root cause of a problem, whether it originates from a component, browser, user interface, or line of code. They can improve availability by 60-90% by visualizing bottlenecks that isolate where the problem is occurring. They can reduce the number of outages by 50% or more by identifying performance issues before problems occur.
Kaiser Permanente (https://www.kaiserpermanente.org) used an APM tool to evaluate a new health care application that was responding slowly during initial testing. By pinpointing problems and adjusting the code accordingly, Kaiser was able to reduce a 10-second response time to less than one second. Today, with the APM firmly in place, developers no longer need to run traces manually and can focus more time on coding projects.
Central Depository Company in Portugal, a financial services firm, used an APM suite to monitor its end-to-end IT environment and business-critical applications. Its solution was able to find the root cause of key problems in 5 minutes, improve uptime by 99.9%, improve service-level agreement (SLA) levels by 98%, and decrease customer complaints by 79%.
Application outages can be costly, apart from also damaging reputation, as was the case with eBay, which suffered 12 major outages along with security breaches and accessibility issues during 2014, or Chicago Board Options Exchange, which experienced a software outage in 2013 that prevented trading of financial options for several hours. Organizations depending on cloud infrastructure should carefully consider all options for optimizing application performance as outlined above.