Channels ▼


Developers — Beware Cloud Application Latency Issues

Developers caught up in the maelstrom of debate and opinion that surrounds programming for, and programming within, cloud-based computing environments have had a perplexing time of late due to a dearth of standards and accepted methods for best practice. The issue of application latency has been among the most misunderstood and misreported of the concerns herein.

CEO of OS NEXUS Steven Umbehocker suggests that it matters a lot where the cloud is situated — and that a cloud provider may have plenty of web bandwidth from a given data center, but if that data center is thousands of miles away, then developers will need to accommodate and program for significant latency.

"Latency is generally measured as the round-trip time it takes for a packet to reach a given destination and come back, usually measured using a tool called 'ping'. Many applications are written to only send more data after the destination has acknowledged that it has received the last bit of data, so latency can have a significant impact on the effective bandwidth you have to a given cloud. Some file transfer protocols are designed to work fairly well in high latency situations, so it also depends on the applications you're running," said Umbehocker.

"As an example, if it's your email server, it is better to have the cloud situated nearby. Also note that major Content Delivery Network (CDN) providers (companies whose main purpose is to serve files, video content, and other media on behalf of a website) have data centers around the world to not only distribute the load but to minimize latency and thereby improve throughput to customers. You generally don't even notice this happening when you download a file from a CDN network, but many will automatically route your download request to the data center that's closest to you," he added.

Developers working within the cloud computing model of IT services delivery have had to learn fast and, largely speaking, had to learn "dynamically," as many of the cloud's technologies are still-nascent and constantly changing. David Hughes is founder and CTO of 'data center'-class WAN optimization provider Silver Peak Systems; Hughes has said that without doubt, the performance of cloud services is constrained by the underlying WAN infrastructure.

"Cloud services are subject to the same physical laws that have always made running applications over distance problematic. Irrespective of the type of cloud service deployed, all cloud-computing initiatives have one thing in common — data is centralized, while users are distributed. This means that if deployment is not planned carefully there can be significant issues due to the increased latency between the end users and their application servers. All cloud services inherently use shared WANs, making packet delivery — specifically dropped or out of order IP packets during peak congestion — a constant problem in these environments. This results in packet retransmissions which, particularly when compounded by increased latency, lower effective throughput and perceived application performance," said Hughes.

"Fortunately, in parallel with the cloud trend, WAN optimization technology has been evolving to overcome these challenges. WAN optimization helps 'clean up' the cloud in real-time by rebuilding lost packets and ensuring they're delivered in the correct order, prioritizing traffic while guaranteeing the necessary bandwidth, using network acceleration to mitigate latency in long-distance environments, and de-duplicating data to avoid repetition. So with WAN optimization it is possible to move the vast majority of applications into the cloud without having to worry about geographic considerations," he added.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.