Wednesday, July 16, 2008

Is an "internal" cloud an oxymoron?

By definition, "the cloud" lies external to the enterprise data center. And it's got great properties: in an Infrastructure-as-a-Service example, per-CPU operating costs are on the order of $800/year (see Amazon's EC2 price list), whereas CPU operating costs are typically $3k-$5k/year in the average data center.

It seems to me that the industry has become overly-fixated on hosted clouds (IaaS, PaaS, SaaS etc.) that are run by third parties which have all of those nice economies-of-scale.

But what about implementing an "Internal" cloud inside of corporate data centers? John Foley of InformationWeek just raised this question in talking about Elastra.
[they are] working on a version of Cloud Server for data center VMware environments, or what it refers to as "private clouds." 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."
Semantics aside, what properties would an ideal "internal" cloud have? Clearly the same economics as a "traditional" cloud, but with some added benefits to avoid the current pitfalls of external clouds. The improved properties include --
  • Should work with existing physical & virtual resources in the data center (heterogeneous platforms & O/S's)
  • Should let you specify whether your apps are virtualized or not (but either way, provide capacity-on-demand)
  • Wouldn't require that sensitive data be hosted outside the enterprise; it would maintain internal auditability
  • Ought to adhere to internal security and configuration management processes
  • Would not disrupt existing software architectures
  • Would allow you to add additional capacity (compute resources) on-the-fly
  • Could be segregated to support both production & development environments
  • Would provide internal metering & billing for internal users and business units
Maybe an "internal cloud" needs a new name, but what it represents is essentially the basis of Utility Computing. Check out the Cloudy Times blog, that also references the potential of an Internal Cloud.

I'm guessing that, as cloud computing gains steam, IT organizations will want the same properties internally - through implementing an "internal" cloud leveraging utility computing infrastructure.

ProductionScale recently ruminated on this topic (calling it a private cloud, instead of internal):
"What is private cloud computing? To make a non-technical analogy, Private Cloud Computing is a little like owning your own car instead of using a rental car that you share with others others and that someone else owns for your automobile and transportation needs. Rental cars haven't completely replaced personal automobile ownership for many obvious reasons. Public Cloud Services will not likely replace dedicated private servers either and will likely drive adoption of private cloud computing".
Working for Cassatt, I'm biased toward believing that a market for Internal Cloud infrastructure providers will emerge.... and potentially help enterprises dovetail their internal clouds with public clouds. Any other opinions?

4 comments:

Anonymous said...

How about calling it "Enterprise Cloud" ?

Anonymous said...

I'm not sure I agree. As I've recently written in my blog (http://blog.rightscale.com) I think that what's unique about cloud computing is really the appearance of infinite resources. This allows the users to grab the next server (or similar resource) just when they need it. Whether it's because something failed, because load went up, or because of some functional requirement. At the other end, when users give up a server the car wash has to be efficient, i.e., the resources need to be redeployed quickly and without fragmentation issues. All this sums up to an efficient usage of resources as opposed to hoarding, over-provisioning, just-in-case-maybe provisioning, etc. The biggest challenge I see in "private clouds" is in the concept of "appearance of infinite resources". If some users' deployment needed to scale up on monday morning and they got a "insufficient resources error", well, you know what's gonna happen: forget that just-in-time provisioning! Over-allocate up-front and ignore that cloud stuff!

Sam Johnston said...

I tend to agree with Thorsten on this one, though I'd add that in addition to 'unlimited' scalability 'The Cloud' offers a myriad services and actually incorporates IaaS, PaaS, SaaS, Web Services, Web 2.0, etc. Here's what I came up with in terms of a definition:

"Cloud Computing is the realisation of Internet ('Cloud') based development and use of computer technology ('Computing') delivered by an ecosystem of providers."

See 'The Cloud' and 'Cloud Computing' consensus?.

Anonymous said...

Ken - I must agree with you. Private or public cloud is a useful distinction. (The suggestion of Enterprise cloud is pretty practical too - but what if you are an SMB? :-))

You quote John Foley "it's the technology that's important here, not the semantics". Right on, John. Yes, private cloud computing, is similar to utility computing in the data center. But cloud computing has grabbed the imagination of the customer unlike utility computing .. the latter seems to have only generated vendor huff and puff. Check out Google Trends http://www.google.com/trends?q=utility+computing%2C+cloud+computing&ctab=0&geo=all&date=all&sort=1.
Utility computing seems completely passe at this point, except to the experts. Per "google trends" vendor buzz and user search is focused on cloud computing.

ParaScale is in an analogous space. Cloud Storage. We provide software that can be used by public cloud storage providers offering a service like S3, or privately deployed by a business. From a marketing perspective there is no traction around the term "utility storage". Google "utility storage" and you get UHaul, storage containers for rent etc etc.

So, "cloud" - public and private, provides a useful characterization for customers. The customer is starting to associate this class of technology (computing or storage) with easy scalability, affordability and manageability. This is key.

About the point that clouds by definition are infinite, and private clouds can't be that. Granted. However, from a customer perspective, I would err towards practically infinite. Outside of a few labs, and special compute situations, truly unbounded and instantaneous computing or storage is not a common business need. And when it is, there is always a public cloud near at hand. For most businesses with a private cloud, one can have a few commodity servers at hand to provide compute or storage headroom. Its not going to break the bank, and the private cloud will work just fine.