Is the Cloud a Bubble?

We say "no" and so does Google, Amazon and others. We describe cloud computing as the future and are building tools to access data in the cloud (see Ray Ozzie in the MIX08 keynote). Collectively, there are lots and lots of data centers built and in progress to prove resolve in this arena.

The concept of hosting applications in the sky is as old as the first dot-com bubble (circa 1997-2000), when Application Service Providers made a valiant stand to build a business model to compete with self-hosted software. Besides lacking a reproducible way to do customizations and a tendency to over- or under-build their data centers, many of these companies didn’t have the financial legs to survive the customer learning curve; acquiring and retaining customers took time.

Most detrimentally, these companies lacked the trust that their cloud vision would allow their customers to regain control of their data in case of failure .. so the whole thing unraveled.

I was there, btw.

This model is significantly different. Data centers are owned by extremely well-funded entities, support both commodity and specific software components and allow the hosting of customer-generated code.

Today, Cloud Computing allows:

  • Fiscally-conscious VCs the ability to place a larger number of inexpensive bets, without having to deal with the cost and time associated with platform outlays. Further, if they hit a big one, scalability is built into the cloud by default, so no emergency (and time-consuming) build-outs.
  • Small development teams (or an individual) with vision and some coding expertise to host their dream in moments.
  • Businesses of all sizes to outsource commodity (and, for that matter, specialty) applications to reduce IT costs.

The world-flattening Web has leveled the playing field to a point where an online presence of the smallest quilt shop in the Midwest can compete with the Macy’s White Sale. Commodity components like shopping carts, electronic transactions and advanced product display / selection can be dropped into a project to monetize the owner’s vision.

Beyond monetization components, applications can be brought to life with a wide variety of real-world data: your location coupled with proximity to something you might want to buy, traffic or transit (you have to get there somehow) .. even knowing the weather can add value to an application.

All of this goodness is not restricted to the browser. The power of the client (mobile or PC-based) can be harnessed to access data stored in the Cloud, a fundamental basis for our Software Plus Services model. This model can deliver unparalleled user experiences across a variety of devices.

On the Cloud as a bubble; GigaOM disagrees in: "Bursting the Cloud Bubble: 5 Reasons It’s Not Just Hype".

Whoops: Did I say “Cloud-Line”?

aYup: I did.

On-line, off-line and “Cloud-Line”.

The latter being a paradigm where information or services in the Cloud are accessible from a local or web client for consumption by the content owner, or their designates.

Seems like it was forever ago that I coined: “Wetware”, as in hardware, software (obvious) and “Wet-Ware”, describing those of us who are (closely) human, and interact with computers.

I rock.

Why did I compare “Cloud” to “SOA”?

Color me busted. Don’t I look good?

Right after publishing “Is the Cloud Getting ‘Clouded’” I got a ton (well; a lot for me) of email questioning my analogy of “overloaded terms” as comparing SOA to the Cloud.

Some on the mails were from CTO-types and techies of companies with whom I am working (thanks for reading! Click on my ads and buy a lot of something!!).

To avoid giving my opinion multiple times in emails, I’ll state it here. To those of you who emailed me: expect this link when I respond. Please note: this is not by way of defense, but rather of discussion .. I stand ready to receive all flames and pragmatic corrections to my words. With more brains and opinions, we are smarter overall.

First: I am not comparing “SOA” to “Cloud”. Some infrastructure and integration bits aren’t too far off though, a number of parallel technologies and methodologies exist:

  • Remote (from your application perspective) processes and data.
  • Calls made via Web service to gain access to the remote processes and data.
  • Services that expose processes and data on the remote system.
  • Return values from the web service calls.

Your application makes the calls and then acts on the return values to continue the work you need to accomplish .. but that really wasn’t my point.

By way of background, I published “Services Orientation – The Architecture Formerly Known As SOA – Introduction” a few years ago. In this post, I made the statement that I felt the term “SOA” was misused as a noun. I feel SOA to be a paradigm or a methodology, rather than the modified noun usage, e.g., “Our enterprise sports a ‘services-oriented architecture’”.

Yeah: let the grammar police arrest me for nuance. I will smile and nod.

In the same way, the purposes of the “Clouded” post was to point out my feelings that “Cloud” is being misused, although not quite in the same way: Cloud has become the “catch-all” phrase for services in the sky, however, at the 100,000-foot level:

The same “Cloud” (services and storage in the sky via the Internet), but different implementations, requiring different development architectures. However, similar web service access methodologies between the three. Clear as mud? Write me and I’ll connect you to the right folks on our side.

P.S.: On SOA, why just an “Introduction”, you might ask. You might also ask “where’s the rest of the posts”? To be frank: I got busy. By the time I got back to that series, many of the questions I raised were being answered by myself and by others. It is totally my fault for not connecting the bits together. Write me, and I’ll send you links that help, or take a call with you to help sort it.

Is the Cloud Getting “Clouded”?

A bit. Not only is the term getting overloaded, dramatically-different offerings are being lumped into the single term: “Cloud”.

A hazard of bleeding edge technology, I guess .. remember how SOA was / is similarly overloaded?

Caveat: by the time you read this, it will already be out of date as the players are modifying their offerings and new players are entering the market.

Windows Azure, Google AppEngine and Amazon EC2 have different approaches and have staged server some level of service functionality in the sky. IBM has made announcements, and so on.

At the 100,000-foot view:

  • Windows Azure approaches the paradigm through database, workflow and ambient (user-specific or general) services that leverage our rich development platforms. If you’re already a .NET developer, Windows Azure is a natural extension of your skills. If you’re not, we’ve a variety of free tools, sample code and support to get you going.
  • Google AppEngine provides a large number of APIs-in-the-sky that connect to larger Google services like Google Maps, YouTube and more. Behind the APIs are other services, file and data storage, etc. PHP developers will find this environment to their liking.
  • Amazon EC2 allows you to stage discrete, scalable servers in the sky. Want a Windows Server with SQL Server 2008? Point and click, and you’re provisioned quickly. Linux fan? Point and click; you get the idea. Developers can code to their desired platform, deploying their applications to remote servers as they would in a data center. Amazon also has offerings for simple databases and file storage (both in beta) and recently announced an edge service.

VCs, angels and investors can benefit from Cloud offerings in a many ways:

  • No data center hardware investment. The Cloud provides the equivalent of a potentially unlimited data center for your use.
  • No fixed cost for co-located servers; if you own the machines within a data center.
  • No fixed cost for leased or shared servers at a data center.

Some thoughts:

  • No hardware helps lower costs for startup companies. This translates to the ability to use resources to make your application better, create more applications, invest in marketing, and so on.
  • Is your application going viral? The cloud offerings can expand capacity as your application needs and customer base grow.
  • Is your application underperforming? Tear it down and put up another.

Which approach is right for you and your company?