Enterprises, today, require high performance for their cloud applications.
Equinix wrote a great white paper (and easy read)(http://info.equinix.com/Cloud-datacenter-SEM.html?gclid=CN_RwP69968CFQlN4Aodc1QJEQ) talking about Internet Application Performance–both from a business benefits perspective and a technical one. I’ll briefly summarize their paper and then I’ll extend that discussion to Corporate and Cloud Application Performance.
What’s great about the Equinix discussion is that it brings to light the negative business impact of high latency on the network, especially with respect to bandwidth. Many people have a perception that adding bandwidth is the solution to solving the s-l-u-g-gishness of your applications. However, latency (geographic distance), could have a much bigger impact. (Riverbed calls latency the “silent killer.”)
Here are some statistics presented by Equinix:
- Amazon — “Every 100ms delay costs 1% of sales”1 — for 2009 that translates into $245 million
- Mozilla shaved 2.2 seconds of load time off its landing pages and increased download conversions by 15.4%, translating into an additional 60 million downloads each year2
- Microsoft found that an increase of 500ms of delays on its page loads resulted in losing 1.2% in revenue per user3
- When Shopzilla reduced its page load time by 5 seconds, it saw an increase of 25% in page views and a 7-12% increase in revenue.
- 10ms latency could result in 10% less revenue for U.S. brokerages.
Equinix does a great job presenting a background of the technical components of “speed”–i.e. what makes the network fast or slow. It does really come down to these things:
“The speed of your site is judged on responsiveness to actions on the page (script requests, image renders, etc.) and on how quickly users can transition from page to page (loading a new page). The elements of speed can be further broken down:  the network latency and  bandwidth between your end users and your site, the performance of your server infrastructure in responding to a request, and  how quickly the user’s browser can render your site based on how the web page is coded. While there is a tremendous body of knowledge on how to increase bandwidth, optimize servers and code web pages, network latency is generally considered immutable. But new studies show that if you reduce latency, it will have a tremendous effect on page load times, even more so than bandwidth, with every 20ms of reduced network latency resulting in a 7-15% decrease in page load times.”
Furthermore, Equinix discusses the traditional solutions to speed problems very well:
“conventional advice on reducing latency recommends using a third-party provider such as a Content-Delivery Network (CDN) to distribute content and leveraging their infrastructure to get geographically closer to the end user. While a CDN can help accelerate static content and effectively distribute video, the increasingly dynamic nature of the web (social media, real-time API access, etc.) reduces CDN effectiveness, and in a real-time cloud application may not be able to help at all.”
In short, the traditional solution of using CDN (content deliver networks) is no longer sufficient for the end-to-end speed of all applications. The new era of social media, real-time API access, and real-time cloud applications requires a comprehensive network strategy to achieve maximum performance of applications.
Here are some strategies on how to improve your performance:
1) Locate your infrastructure as close as possible to the main POP’s around the world.
For your customers, they will typically traverse several different ISPs before reaching your ISP and then accessing your servers. For your internal employees who are accessing your datacenter or a cloud application, they will typically do the same. Traversing multiple ISPs not only increases the number of hops, but it also increases the latency significantly because different ISPs are not optimally interconnected. As Equinix decribes it, “a route between two computers connected to different carriers might not be the shortest possible route: data sent from a computer in Boston to a computer in Maine may go through a peering point in New York. The implications become even greater in Asia, where a [customer] in Singapore trying to reach Sydney may be routed through Los Angeles, transiting the Pacific Ocean twice. These types of routing inefficiencies can have devastating consequences on performance.” It would be ideal if your customers and you were utilizing the same ISP, but that will rarely be the case. Thus, it’s important to locate your servers as close as possible to the main POP’s as possible.
If you’re using the cloud, pick a cloud provider that resides extremely close to the main POP’s. The short geographic distance not only decreases the latency, but it’s also likely that the two datacenters will have a multi-Gigabit link between each other. Locating your cloud close to the POPs is typically not too difficult, as it’s also the cloud provider’s incentive to reside close to the POP’s. For example, AWS resides in a datacenter in Ashburn, VA, very close to the Equinix datacenter, which terminates a majority of international backbones. To confirm the performance, you may want to test the bandwidth and latency between your cloud’s datacenter and the POP.
2) Use cloud acceleration to decrease the amount of data that needs to be transferred.
Cloud acceleration is the next technology to take advantage of in order to maximize the performance of your network. Cloud acceleration essentially lowers the amount of data that needs to be sent across the network. It’s a substantial reduction on orders of magnitudes (we’ve seen 10X). One of the main problems with applications is that they’re built inefficiently without the network in mind. Specifically, applications, while serving a purpose for end-user functionality, typically transfer duplicative data across the network. This action not only causes application performance degradation, but also a doubling of bandwidth usage and processing tax on the network and end server.
Cloud acceleration reduces the negative impact on the networks and servers, while enhancing the performance of the end-user applications significantly. Instead of the duplicative response data having to traverse multiple ISPs to receive a response from the end server, the duplicative data is now “served up” to the user locally from the user’s hard drive. These days most users access the same website or application repeatedly throughout the day. Most websites or applications contain more static information than dynamic information and even with dynamic information, it consists of mostly incremental changes to a prior GET or GET-like request.