Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Andrew Binstock

Dr. Dobb's Bloggers

Head in the Clouds

March 16, 2011

Nearly everyone in software development has been aware of the year-long discussion of the "cloud." The ill-defined term originally meant a pool of hardware computing resources from which systems could be quickly provisioned and torn down. Scalability testing would be a perfect use of the cloud, as would be hosting a website that suffers sudden spikes in traffic. Today, though, even this definition is evolving, and the cloud increasingly refers to an offsite hosting platform that has flexible deployment characteristics. That is, companies are increasingly examining and adopting the cloud as a place to host applications and data. Some of the clouds are private (so, within the firewall), others are public.

So far, so good. The problem developers face is that programming for the cloud, especially public clouds, is no simple task. The main providers of cloud services — Amazon EC2, Google App Engine (GAE), and Microsoft Azure — all use different, proprietary APIs that tie applications fairly tightly to the cloud platform. In most cases, the principal hooks that block migration are the database APIs. Amazon and GAE both use highly distributed data stores, which have different architectures and distinctly different APIs. Microsoft offers modified versions of its SQL Server for a fee in its cloud instances.

The programming issues extend beyond databases, however. GAE, for example, supports Java, but not the full set of standard Java libraries. If your application relies on a JAR file that's not on Google's white list, your app won't run. Similarly, if you use Python on GAE, you'll be locked into a fairly old implementation of the language. Many of the recent improvements made in Python will be off limits.

As developers, we could abide these problems if the information on how to deal with the APIs and cloud-specific issues were widely available. But it's not. There are precious few books on the topic (a situation I am sure will change) and much of the knowledge currently seems to be part of an oral tradition that is captured in bits and pieces in blogs and in forums.

At Dr. Dobb's, we are convinced that the cloud is fast becoming a game-changer in the way IT functions. In fact, we expect its effects will be felt way beyond IT: scientific computing and possibly even consumer-level computing are likely to find the cloud an agreeable home.

Because of this view, you'll start to see more coverage of the cloud in Dr. Dobb's. Next week, we'll run the first installment of a series of how-to articles that target the GAE. Also, on April 14th, we're presenting a half-day virtual event consisting of multiple webinars about developing for the cloud. We'll have presentations on the GAE and Microsoft Azure as development targets; and we'll also offer a session on doing testing and continuous integration in the cloud. Attendance at these webinars is free. Details will appear shortly on our site.

As we continue to poke our heads into the clouds, we hope you'll send us your feedback and thoughts and let us know how we can best align our coverage with your needs.

— Andrew Binstock, Dr. Dobb's Editor in Chief
[email protected]

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.