I recently had a discussion on the use of private cloud, specifically on vCloud Director, over traditional server virtualization on vSphere. Essentially – should all workloads fit into a cloud model, or do some still merit the use of a traditional server virtualization. I’d argue that “standard” virtualization is here to stay, and that private cloud is not a one size fits all solution for all workloads. In some situations, there isn’t really any gain in going to a cloud platform, as it’s more than just a technical solution and requires a lot of process overhauls from the various teams that utilize the cloud (including the business itself).
Peeling The Onion
Unless you are realizing a specific gain from having a virtualized data center inside of your already virtualized vSphere data center, an additional cost has been added to get the same results. vSphere is already great at handling multi tenancy in the form of network and storage IO controls, resource pools and reservations, limits, shares, and clusters. The point of private cloud is to expose a subset of your environment to the internal client or department in a self-serve manner that also prevents them from hanging themselves (especially on the network part). If you’re not doing that, just stick with vSphere.
This isn’t to say that a private cloud (vCloud Director) doesn’t bring value to the table. I’ve found that vCloud has some really cutting edge networking features available to it. And really, the network is both the most complex and powerful part of the product. It takes genius to design a system that can use the same set of IPs all over the place while using VLANs or MAC-in-MAC encapsulation to keep things working.
Question is – are you going to use these features?
The Wild West
This may hold especially true for those worried about departments pushing out production workloads, as I tend to believe those are best served with some level of systems administration (read: IT department) interaction. From my experience, developers rarely make good server admins for a variety of reasons. This isn’t a dig on developers – these are some smart folks – but I tend to see a “get it working and move on” approach, and a general lack of experience on the proper way to build and maintain a system (more so in the Windows world).
The private cloud can definitely handle production workloads. This isn’t in question. But, should it? The private cloud is all about agility and flexibility, in the form of being able to hand out resources quickly and with little administrator input (after the original constraints are set for the organization). Having production workloads that will exist for a long period of time stagnate in a private cloud and tie up resources that could be better serving other dynamic, volatile projects. Shorter lived workloads make more sense to me.
I think private clouds are very interesting, and a trend is building towards getting everything inside to live happily. It’s always worth taking a look around to ensure that the use case is met, and the functional requirements are satisfied. This is an open discussion, and agree or not, I look forward to your comments.