Topics


Blogs


Forums


Samples


Media


Labs


Resources

 




DevCentral > Weblogs > Lori MacVittie - Two Different Socks
 I say cloud, you say grid
posted on Thursday, July 17, 2008 5:49 AM

With more and more focus on cloud computing one theme seems to be running consistently: the "cloud" is public, and anyone who claims to be building a "private" cloud, a.k.a. mini-cloud or enterprise cloud, is just doing it wrong.

John Foley @ InformationWeek has it mostly right when he says that what's important is the technology.

The Rise of Enterprise-Class Cloud Computing

That's an oxymoron since cloud computing, by definition, happens outside of the corporate data center, but it's the technology that's important here, not the semantics. [emphasis added]

Focusing on what you call your compute environment based on whether it's public or private seems a bit silly. There are some who try to elucidate the difference between "grid" and "cloud" computing, and do manage to make a technical distinction between the two.

RightScale's blog quoting Rich Wolski

Grid computing has been used in environments where users make few but large allocation requests. For example, a lab may have a 1000 node cluster and users make allocations for all 1000, or 500, or 200, etc. So only a few of these allocations can be serviced at a time and others need to be scheduled for when resources are released. This results in sophisticated batch job scheduling algorithms of parallel computations.

Cloud computing really is about lots of small allocation requests. The Amazon EC2 accounts are limited to 20 servers each by default and lots and lots of users allocate up to 20 servers out of the pool of many thousands of servers at Amazon. The allocations are real-time and in fact there is no provision for queueing allocations until someone else releases resources. This is a completely different resource allocation paradigm, a completely different usage pattern, and all this results in completely different method of using compute resources.

Given that definition there are enterprises engaged in building their own mini-clouds: private, real-time on-demand data centers that service only one entity (the organization) with potentially many customers (business units).

"Private" clouds employ metering (chargebacks), rely heavily on multiple forms of virtualization, and provision resources in real-time using an on-demand model. That's a cloud as much as it is a grid.

Like SOA, it's not as if there's some certification board that's going to tell you that you're doing it "wrong", or "right" for that matter. SOA, grid, cloud - it's all about meeting the needs of the business in an operationally and financially efficient way. If that means a private cloud, than that's what you build. If that means using a public cloud, that's what you use.

Cloud computing is no more required to be public than any other computing model. It's just that - a model - and where it is implemented is of no consequence.

Besides, I thought part of cloud computing was that we weren't supposed to care about location anyway.

 

What are your plans for cloud computing?




Follow me on Twitter View Lori's profile on SlideShare AddThis Feed Button Bookmark and Share



 
      

Feedback


7/17/2008 6:37 AM
Gravatar I disagree a little here. I see "Grid Computing" as the coordinated execution of a complex task across a collection of resources. The burden of the "grid" is to provide control over that execution (initiating the execution, stopping the execution, aggregating results of the execution, reporting the status of the execution, and so on).

The "grid" should be transparent to the end user. Take SETI@Home for example. The "User" is the researcher that will analyze the results of all of the computations. The SETI@Home platform manages partitioning the data into discrete chunks, dispatching & monitoring the results across the collection of CPU's spread across the world, and aggregating the results to provide a single view to the "user".

Cloud Computing on the other hand provides the virtualized infrastructure upon which the Grid Endpoints will execute. So for example, the "cloud" would provide an "infinite" number of operating system images on which the SETI@Home software would execute. The cloud shouldn't care about application-specific data, nor should it care about the business logic that is actually executing within a virtualized image. The cloud cares about allocating new images (synonymous to LPAR's) for applications to run, keeping track of how much physical resources (actual CPU cycles for example) the virtual images consumed, cleaning up the virtual images upon completion, and billing the client for the amount of resources consumed. So with these definitions, going back to my example of SETI@Home, I would argue that this software has both a grid computing component as well as a cloud computing component, where the # of registered computers is part of a pool of hardware resources that already have the SETI@Home grid application containers installed and ready to go), but we should be sure to see 2 separate components and responsibilities: the decision to pick a physical machine to dispatch to, and the grid container that executes the scientific processing.

To summarize, grid applications and therefore the "Grid Computing" paradigm, which I consider an application architecture and containers for running the business logic, would execute on top of an "infrastructure cloud", which appears as an infinite # of LPAR's.

BTW, we've had the ability to run'private clouds' for 30-40 years - multi-tenancy via S/390 & MVS - and we do it all over the place today. The key difference is that today, w/ Amazon EC2 for example, we can dynamically create and then destroy complete 'LPARS' relatively cheaply; whereas in the mainframe and other big iron hardware, LPAR's tend to be statically defined. In both cases the hardware is virtualized under the covers, some sort of VM/hypervisor contains the operating system image, some type of application server or container executes the business logic, and some type of workload manager assures workload priorities and provides the chargeback.

I've alluded to some of this in my article on 'enterprise grid and batch computing': http://www-128.ibm.com/developerworks/websphere/techjournal/0804_antani/0804_antani.html.

The Parallel Job Manager (described in that article) in WebSphere XD Compute Grid would essentially be the Grid Manager, whose job is to coordinate the execution of complex tasks across the cluster of resources (Grid Execution Environments). Today we don't discuss the ability to dynamically create new LPAR's (and therefore call ourselves a cloud computing infrastructure), but you can easily do this with a product like Tivoli Provisioning Manager.

Thanks,
Snehal
Snehal S. Antani

7/17/2008 7:09 AM
Gravatar @Snehal

I was actually thinking about the parallels between grid/cloud computing and mainframe computing while writing this. LPARs are an excellent example of computing on demand models.

I like the distinction you make between cloud and grid, but even more I like the way they complement each other in your description. Very nice concept.

Lori
Lori MacVittie

7/17/2008 9:27 AM
Gravatar There are private clouds...

3Tera, Cassatt, and IBM Blue Cloud are all examples of cloud offerings that are being run inside the firewall. However, I agree that most of todays cloud discussion resolves around the "public cloud". If your readers are interested in my opinion about this subject see...

Is Everyone an aaS?
botchagalupe

8/3/2008 2:28 AM
Gravatar I agree 100% - I don't care how large or intelligent your cluster is, it's not a cloud and I have trouble accepting it's a grid either. Those who tell you it is are probably trying to sell you some hardware or software solution for managing your 'private cloud'.

From my blog:

"...for The Cloud itself 'there can be only one' as it's a metaphor for the Internet; people talking about clouds (plural) are probably confusing it with grids. Yes you can replicate some of this in a 'private cloud', but it will always be exactly that: a replica, and it will likely be somehow connected to (and therefore part of) the real cloud anyway. Remember, much of the value of Cloud Computing comes from leveraging other services in The Cloud for a result greater than the sum of its parts."
Sam Johnston

8/5/2008 12:12 PM
Gravatar I say cloud, you say grid
Pingback/TrackBack

8/5/2009 9:09 AM
Gravatar Project Management in the Cloud » Blog Archive » Creating Your Own Personal Mini Cloud
Pingback/TrackBack
 Leave Feedback
Title  
Name  
Email
Url
Comments   
Please add 4 and 5 and type the answer here: