Components of a Cloud Architecture

by mheydt 24. January 2009 23:15 >
In the diagram that I previously posted I laid out a cloud architecture composed of 5 major components:
  • Cloud Ingress
This section provides the means by which systems outside of the cloud (and sometimes systems within the cloud) can locate and communicate with systems in the cloud.  This is typically done through one or more of the four means shown (although any network communication is technically possible):
  • Queue based communications
The application outside the cloud posts a message into a message queue, where systems within the cloud look for messages, process them, and potentially send messages back to the client through another queue.
  • HTTP Communications
HTTP communications into the cloud can be broken down in to two primary forms of communications.  First is the access of cloud applications through standard web applications presented through HTML.  Another is through the use of tunneling other protocols over HTTP (although I consider REST and SOAP over HTTP its own category).
  • REST / SOAP
Basically these come down to accessing web services within the cloud.  The historical means of doing this is over SOAP, but REST has become a popular alternative over the last few years do to its relative simplicity compared to SOAP.
  • Service Bus
The "Services Bus", otherwise referred to as the "Internet Service Bus", or ".NET Services", is a Microsoft technology that allows systems to register their "endpoints" in the cloud, whereby the cloud publicly exposes those endpoints, thereby allowing systems outside the cloud (or within) to locate other systems within (or outside the cloud) and establish connections with each other.  This also provides another valuable service in that it will define tunnels through firewalls on each end.
  • Horsepower
This section of the cloud is basically dominated by raw CPU power, although that power can be subcategorized into functional sections.  One of the primary tenants of the CPU in cloud computing is that it is "on-demand", being dynamically allocated only when needed.  The on-demand nature has a direct ramification for cost savings in that you are typically only billed for the CPU time used, but there are also indirect benefits in ability to failover easily.  The on-demand nature of CPU utilization is a direct result of the work over the years in computer and software virtualization, except that it is now extended to be able to on-demand allocate systems from libraries of machine images instead of just within your own enterprise.
  • Cloud Storage Services
All cloud services provide native services for storing data to your applications.  This breaks into a few different types of storage, ranging from "blobs" (basically files, but with limitations compared to normal file systems), table data (structured data, but not as complex as RDBMS systems), structured storage systems (more akin to RDBMS system), and dynamic storage volumes which are comparable to disk drives on regular systems but able to be created on the fly and attached to any virtual system.
  1. Cloud Provided Services
All cloud providers will offer additional services to your systems in the cloud (and possibly to you from outside the cloud).  This can be things along the lines of advanced data services, payment processing, search, web and generalize data cachin, workflow, and more complex application services such as CRM/ERP/MRP.
  1. Intra-Cloud Communications
[Explain why this is important] Cloud service providers will provide you with one or means of allowing your cloud based systems to communicate with each other.  Communications between cloud based systems is typically accomplished via message queuing facilities, and both Amazon and Microsoft provide these services.  Microsoft also provides its .NET Services facility (also know as an Internet Service Bus) that can also allow your systems to find and communicate with each other.

Tags:

Cloud

blog comments powered by Disqus

about the author

I'm a .NET, XAML, and iOS polyglot that loves playing with new things and making cool and innovative stuff.  I am also a Mac junkie.

I am Principal Technologist for SunGard Global Services in NYC, in their Advanced Technologies practice, and I work extensively with SunGard's energy and financial customers.

Note the the posting on this blog are my own and do not represent the position, strategies or opinions of SGS.

twitter

I can't stop thinking big!
Sunday 1:08AM via WindowsLive
Just watched Moneyball. That's my pick for best movie this year.
Saturday 3:51PM via WindowsLive
@vincebelpiede: Report: Skype For Windows Phone Beta Imminent http://t.co/KYNjgg1L#mhtnd
Wednesday 8:39AM via Twitter for Mac
@mashable: Kinect Fusion Will Turn Gaming (and More) Into a 3D Fun House - http://t.co/Ihrq2fY2#mhtnd
Wednesday 8:39AM via Twitter for Mac
New Kinect SDK: http://t.co/57MvA5L5 #mhtnd
Wednesday 8:39AM via Twitter for Mac
Follow me on Twitter

recent comments

None

month list