A few of us have come to a general agreement around how we'll probably see the next phase of clouds evolve in corporate computing environments.
Most of us think it won't be the current uber-clouds being proposed by Microsoft and Amazon.
More likely, it'll be private clouds that run today's applications, using both internal and external resources, yet allows IT to retain security and control.
And these private clouds might be closer than you think.
Things Change
If you look back at the last 50 or so years of industrial history, you'll notice that there are many examples of substantial changes in how we fundamentally do certain important activities.
Manufacturing, for example, used to be labor-intensive and vertically oriented. Now we live in a world of automation and flexible supply chains. We're still building stuff; we're just doing it incredibly more efficiently.
For me, other examples include power generation, distribution, telecommunications and much more. In each case, there's been one or more radical changes that create fundamentally change in the economics of how we do something.
IT Is Poised For Change
I think a strong case can be made that most aspects of business IT are poised for a similar change.
First, as compared to other industrial processes, current IT can be described as notably inefficient. It doesn't matter what survey or numbers you look at; it's only a small portion of each dollar spent on IT that creates direct business benefit.
The vast majority of IT investment is spent on keeping the lights on, upgrading various pieces of infrastructure, providing redundancy and recoverability -- all the non-value-producing aspects that seem to consume 60-80% of IT expenditures.
Second, people are frustrated. Most business leaders seem frustrated with the current state of affairs regarding IT investment, and certainly many of the people I meet in IT organizations are frustrated as well.
Finally, there's a lot of new thinking emerging on how IT gets done. We've got all sorts of relatively fresh concepts to work with: virtualization, cloud, SOA, SaaS and much more.
Certainly, if you believe that IT is capable of structural change, certainly the conditions are favorable in many regards.
IT Infrastructure As A Service
This is not a new concept, but how it gets done is a new concept: via a private cloud.
I think most people can appreciate the benefits of consuming infrastructure as a service: shift to a variable cost model, enjoy benefits of scale, own as much or as little infrastructure as you'd like, and so on.
What's been missing is the "how", and this is where many of us believe the concept of a private cloud will gain traction.
Your Applications, Your Information
Both Amazon and Microsoft offer cloud capabilities today, but with one significant drawback -- you have to rewrite your applications to use their particular flavor of stack.
Not that I'm calling anyone proprietary or anything, but you'll have to admit that any IT strategy that calls for the rewriting of all legacy applications is somewhat challenging.
Virtualizing existing applications (and information) to get the benefits of cloud seems much more practical and inherently appealing to most people.
Taken from a different perspective, it's the applications and information that really deliver the unique business value that we all crave -- in some regards, owning IT infrastructure is just a means to an end, a necessary evil.
Service Delivery and Security Control Points
I think most IT thinkers appreciate what might be possible with cloud or other infrastructure-as-a-service approaches, but it's clear that enterprise IT also needs control points.
I usually point to two such control points: predictable service delivery, and security. There's just no way an IT organization is going to give up on either.
Conversely, establish strong control points for IT in both areas, and they'd be more willing to consider external service providers.
Internal and External Clouds
One of the more powerful ideas behind private clouds is the notion that you can own all, some or none of your IT infrastructure. More importantly, the mix of resources can potentially change moment-to-moment.
IT organizations and service providers that use the same standards will eventually be able to dynamically share workloads, much the way that's done in networks, power grids and distribution today.
Fully virtualizing traditional enterprise IT internal resources creates substantial advantages -- that much is becoming clear.
And if you're an outsourcer or other IT infrastructure service provider, the advantages of virtualizing your capabilities to do multi-tenancy better is probably clear as well.
But the idea of internal and external resources working together dynamically -- well, that's something that changes the game entirely if you think about it.
The Hollow User Device
I think it's important to point out that user devices are an important part of IT infrastructure -- they need to be considered as part of any vision of private cloud.
If you follow closely to what's going on with desktop virtualization, mobile clients et. al. -- you'll realize we're on the verge of breaking our dependencies on specific user devices.
Before too long, we'll have a "follow me anywhere" rich desktop -- applications and information -- that can securely and reliably appear on any device at hand: a standard PC, a web browser or even a smart phone.
Sorry, but I've now fallen into the habit of calling fully virtualized user devices "hollow", as all the important bits live elsewhere, and are simply rendered on the device at hand.
Federated Providers And Market Choice
Back to some of our earlier industrial history examples, it's important to note that there's choices available which drives competition.
If you're looking for a phone provider, or an electric power provider, or a shipping provider, or a manufacturing subcontractor -- there are all sorts of choices available, and de-facto standards on how all the interactions work.
The exact same scenario could quickly evolve with federated service providers and IT infrastructure as a service.
"Federated" as in "working seamlessly together", much the way I can call Japan from the United States: even though there are multiple providers involved, the phone call goes through, and the bill comes back. As a user of the phone service, I don't know all the details, and -- frankly -- really don't care.
A New Operating System Paradigm?
Clearly, we're going to need a new sort of software abstraction to make all of this work.
We're going to need to be able to containerize existing applications and desktops, move them and their information around at will, and provide the tools to do this reliably and securely.
Paul Maritz of VMware colorfully describes this layer in a variety of ways: a virtual data center operating system, a "software mainframe" for the 21st century, or a meta-operating system that separates what applications see from the underlying resources.
Anyway you describe it, this layer will have to be generally accepted as a standard, or behave in a standard manner, for this envisioned ecosystem to grow.
Industry Progression Toward Private Clouds
If we step back far enough, we can already see the industry progressing in this direction.
First, the virtualization of applications and the subsequent liberation from servers and desktops has already started in earnest. People generally understand the benefits, and will likely keep going in this direction.
The big benefit here? In a word: efficiency.
Second, we're already starting to see vendors invest in the newer tools we'll need in these virtualized environments: automation, control, security and more.
The big benefit here? In a word: control.
And we're seeing service providers starting to invest in creating multi-tenancy environments using many of the same technologies -- not only to run their legacy businesses better, but to accommodate newer customers that want a nice place to run their newly-virtualized application containers.
The big benefit here? In a word: choice.
So, from an industry perspective, we can see a natural progression -- each step not only delivering substantial business benefit, but laying the foundation for what will come next.
Customer Progression Towards Private Clouds
Most customers I talk to are already aggressively virtualizing their application portfolio. It's too soon to tell, but -- if anything -- the pace has seemed to have picked up even in the face of economic uncertainty.
The more they virtualize, the more they're cognizant that their processes and tools have to change in this new virtualized world; drawing in many of the newer capabilities that will be needed in this private cloud.
I'm guessing that -- before too long -- we'll see all sorts of "internal clouds" pop up in IT lingo -- fully virtualized data center environments that are run efficiently and dynamically using these newer technologies.
Once there are enough internal clouds being built and run, it'll be an attractive market for service providers to target -- offering customers better / faster / cheaper infrastructure to run IT's application containers.
I'm guessing we'll see a phase of pairwise relationships between an IT organization and one or two external service providers, but I'm also guessing that -- before too long -- this will give way to more federated relationships, open markets and increased specialization by service providers.
Stepping Back A Bit
If someone asked me for a conversational definition of private clouds, I'd probably answer "all the benefits of cloud computing for enterprise IT with none of the downside".
I don't expect anyone to buy into this proposed vision of private clouds without a considerable amount of debate and discussion.
But, for what it's worth, I've beaten this concept to death with my peers, and -- it has withstood scrutiny from some of the most skeptical people I know.
I started this post by quickly contrasting the notion of private clouds against the current proposals of players such as Microsoft and Amazon. You can see at a glance that it's a very different picture of how clouds will be used in corporate settings.
Most importantly, there's no "big leap of faith" to get there -- just a natural progressing from one step to another, each step delivering value, each step protecting investment, each step addressing the control points that IT needs.
So, let's get the discussion started, shall we?

Chuck, I think this discussion about private clouds is very interesting. As more and more organizations build towards a virtualization-first datacenter, these 'private clouds' are popping up everywhere. Whether the organization thinks of it as a 'cloud' or not is a different story. I still think of today's virtualized datacenters as a move towards 'clouds' but for now I just view them as silo'd resource farms. I think when hardware and software and networks can bridge the gap between resource sharing and true distributed grid computing, I will begin to think of it more as a cloud.
I think the biggest hurdle to overcome is to integrate the legacy applications into the cloud. I still dream of the day when legacy applications can be distributed-grid-enabled. There are so many components to consider when thinking about spreading applications across both internal and outsourced resources. Here are a few I can think of:
What will be the common access method to these legacy applications that will be in a mixed cloud?
What security protocols will be used to connect the private cloud to the outsourced cloud? Identity Federation will need to play into this as well.
How will the data be distributed and/or striped/mirrored between the different clouds?
At what point do you decide what components run in the outsourced cloud vs the private cloud?
How can you leverage outsourced cloud services to make legacy applications perform with geographically local performance? i.e. How can I leverage a cloud to make my legacy application perform just as well in China as it does in the United States?
I think today's tactical mission is to build more dependable process-oriented utility computing infrastructures. But the strategic mission of the future is to figure out what development language will be used to truly grid-enable your infrastructure.
Some organizations need nothing more than a dependable farm of resources on which to run their applications. Some would even pay for a redundant farm to pick up the load when the primary farm fails. We have technology today that can meet these needs and the costs will continue to go down as we continually improve upon today's available technologies.
But other organizations, those that do big business globally and at a large scale locall, need help building a truly efficient and scalable global grid infrastructure, what I think is truly a cloud. And this will be where proprietary grid-enabled software development standards are needed, coupled with advanced storage and network solutions. Google AppEngine with BigTable, Amazon SimpleDB, and many other grid-enabled systems bring all this together. Here is a good post on alternatives to Google App Engine, touches on many different grid/cloud solutions, including Amazon and others.
Truly though, I am just rambling and I need to really review the definition of a 'cloud'. I'm just talking out of my area of expertise but this is a fun discussion nonetheless.
Keep up the good thinking.
Posted by: Jeremiah Cook | January 18, 2009 at 03:30 PM
I forgot that link to a post about some other grid enabled solutions:
http://codecrafter.wordpress.com/2008/10/17/alternatives-to-app-engine/
Posted by: Jeremiah Cook | January 18, 2009 at 03:33 PM
Hi Jeremiah -- great commentary, so thanks.
Clearly, there's a layer of federated middleware needed to make the combined internal/external private cloud work in some of the more advanced models. Some of that work is definitely going on now, though. Can't spill too many details, though.
One clarification, though -- it's pretty obvious that private clouds will go through evolutionary stages, e.g. (1) near 100% virualization of owned IT resources, (2) pairwise relationships with selected service providers, (3) more open and federated models. And all of this won't happen all at once, will it?
You bring up an important point -- the need to compose external services from some of the uber-clouds as part of a private cloud. I think that will be dependent as to whether or not these uber-clouds agree to play by the rules of private clouds -- something they're not really incentivized to do these days.
Thanks for the intelligent commentary -- I look forward to more of the same!
-- Chuck
Posted by: Chuck Hollis | January 19, 2009 at 10:17 AM
A very topical article Chuck! I will like to share something which I do every day and it works very well- something that is close to this topic and I assume there must be a lot of people doing this- am not sure if u find it relevant enough to post, but I am going to tell u about it any way :-)!! I hate carrying my Laptop back and forth to office, and besides, the measly 80 GB is not enough to store all that I need when I work from home in the evening (I need about 500+ GB). Besides, I have to have 2 machines that access 2 separate Exchange Servers and I need to have all of it running simultaneously, and I need all the tools on my system when at work. At home, my wife would not let me have more than 1 desktop machine! So here is what I do: I run 2 Virtual Machines- completely loaded and carry them with me on 2 mid-sized SATA drives. That way I carry my 2 Virtual desktops me- fully functional. I have pulled out the SATA cables on my home computer and the office-lab machine and I connect my drives to them directly (I don't mind going under the table to do that...I avoid enclosures because of the noise their fan makes). I realize I can create several Virtual machines (clone my virtual drive files )any time and run them as fully functional- well loaded independent virtual desktops. I just need to ensure that I have the storage space for the additional Virtual drives and some memory if that becomes a bottleneck (not yet for me with 4 GB RAM I have)....am I creating such a private cloud you refer to (albeit on a micro scale)? I can even avoid carrying these 2 drives if this "cloud" extends to my house via a last mile network that is fast enough. I can imagine such a service which also allows me to create virtual desktops on the fly and destroy them or back them up on a need basis...I guess that is getting closer to the full blown cloud computing?
regards sudhir.brahma@gmail.com
Posted by: Sudhir Brahma | January 21, 2009 at 12:37 AM
Hadn't read your stuff before, Chuck. Very cogent explanation of the private/internal cloud concept. One area I'd push back on, though: you mention the idea of "fully virtualized data center environments" being equal to these internal clouds. I would argue that virtualization has been a stepping stone to getting this cloud computing frenzy going, but a 100% virtualized data center is not required nor likely. An internal cloud needs to be able to pool, allocate, and pull back both physical and virtual compute resources as appropriate. Some of it will be virtual, some not. My take on the internal cloud thing is here: http://datacenterdialog.blogspot.com/2009/01/are-internal-clouds-bogus.html . VMware's talk about their idea of a data center operating system suffers from the same blindspot. Ken Oestreich did a good post on it here: http://fountnhead.blogspot.com/2008/09/early-biased-analysis-of-vmware-vcloud.html
Posted by: Jay Fry | January 21, 2009 at 05:47 PM
RE: composing services from uber-cloud in my private cloud
Microsoft and Amazon do have incentive to play nice.
In the Microsoft and Amazon models, the cloud services are endpoints on the public internet, protected with appropriate, Internet-compatible, security technology. The services can't tell if the client is running in a traditional data center or a private cloud. If Microsoft and Amazon are going to get any traction with enterprise IT, their solutions ought to work in private clouds too.
Posted by: Ken Cowan | January 23, 2009 at 01:34 PM