Home » Architecture, Headline

The Cloud Architecture Question

31 July 2009 117 Comments


Cloudcamp came to town this week, an “unconference” on cloud computing. An architecture unworkshop was assembled to address my question:

“How does cloud computing differ architecturally from web services?”

Approximately thirty architects, developers, cloud technology vendors and consultants arrived at the appointed room to discuss the matter. The group’s answer:

The Cloud is a loose term that refers to a paradigm shift as much as an architectural solution. This includes the virtualization of infrastructure and platforms to the Internet, and the hosting of online apps and services. In formal terms: Infrastructure as a service (IaaS), Platform as a service (PaaS) and Software as a service (SaaS). Web services are a key aspect of a cloud , but a subset. The cloud provides an elastic environment for web services to live in. The cloud can also provide a place for data to reside, for apps to develop, for virtual servers to reside for temp and perm use. Whereas web services were a paradigm shift for applications, even web applications, the Cloud is a paradigm shift for the entire IT arsenal.

Cloud computing is one of IT’s latest buzzwords. As an architect, it falls to me and my colleagues to strip such terms of their marketing glitz and determine what meaning, if any, they might have for the future of software development. Some proponents talk about cloud computing as something “totally new”. To those of us in the industry for 25+ years, such words are met with much caution. I don’t believe cloud computing is “totally new”. It is a term for a combination of existing and constantly evolving technologies. Perhaps it is new as a methodology or software philosophy, rather than a wholly new architecture. I think Cloud Computing says “the Internet can do for platforms, hardware, development environments, and software on a global scale what network cables did for computing on an organizational scale”. Not such a brave, new world but a bolder step in the same direction we’ve been headed for awhile.

Here are some suggested lineages.

Evolution of Infrastructure as a Service(IaaS):

OS on Mainframe with dumb terminals
Personal Computers
Servers + PCs
Virtual Servers
Virtual Servers on the web or “in the cloud” (IaaS)

Evolution of Platform as a Service(PaaS):

Shared mainframe compiler
Desktop development environments
Shared Server development environments
Shared online development areas
Full Featured web development platforms on the web (PaaS)

Evolution of Software as a Service(SaaS):

Mainframe application executed on terminals
PC Desktop Applications
N-tier Applications
Web Applications
Web Services
Integrated Web Applications and Web Services (SaaS)

In most cases, the final cloud manifestiation isn’t a far cry from it’s predecessor. I’m still not convinced that SaaS is new at all. I expect that when the economy affords the luxury, we’ll begin to see efforts to migrate everything to the Cloud, watch the Hindenburgs plummet and what’s left in the aftermath will be the useful, profitable, and revolutionary foundations of Cloud Computing.


Your thoughts?

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.