Most of the private clouds that have been implemented to date have focused upon transient workloads like development, QA, load testing, pilot, pre-production, and training. Private clouds are great for these use cases because private clouds automate the process of creating and tearing down these transient environments as is needed. However, production business critical applications are not transient and most do not need to scale up and down with demand. This creates an entirely different set of requirements for putting these business critical applications in private clouds.
Cloud Management for Virtualized Business Critical Applications
The first generation of private cloud management software vendors focused primarily upon providing Infrastructure as a Service on an automated and on-demand basis. This was great for transient use cases and/or use cases that needed automated elasticity. But if you look at the entire set of workloads running in an enterprise, only a small percentage of them are transient and/or require elastic scaling up and down of instances of virtual machines.
The vast majority of what runs in enterprise data centers is a mixture of purchased and custom developed business critical applications that are more or less “always on”. They are provisioned on a fixed set of servers and the number of instances of any one tier in the application do not change all that much. The finance system (Oracle Financials), the ERP system (SAP), the email system (Microsoft Exchange) and the document sharing system (Documentum or Sharepoint) tend to run on a known and fixed set of servers that tend to be on in the same numbers all of the time.
Putting virtualized business applications into private clouds therefore means that the private cloud management software has to provide significant benefits to these applications. And since these applications are so different from the transient applications that have been the use cases for private clouds so far, the benefits of private clouds to business critical applications have to be completely different than they are for transient applications.
Therefore in order to address business critical applications cloud management solutions have to take a dramatic step up in sophistication and scope of applicability. Heterogeneity is just one aspect of what Cloud Management is all about now. Cloud management now includes the following aspects:
- Support for Multiple Hypervisors – this is table stakes in the new cloud management game. vCloud Automation Center supports vSphere, Hyper-V, XenServer and KVM. This means that when a service catalog is presented to a user that the ordered service can be deployed on any of the supported hypervisor platforms.
- Support for Public Cloud Platforms – vCloud Automation Center span of management includes a public cloud computing platform like Amazon EC2. So when a user orders up a service, not only can they choose among multiple hypervisor platforms, they can also choose an external cloud like Amazon EC2.
- Physical Resource Provisioning – All of this focus upon support for multiple hypervisors and clouds risks leaving out one important detail. The physical hardware often needs to be configured and provisioned as well to support service ordered by the end user. If you can use one produce to handle both physical provisioning and the provisioning of services in your cloud it may be highly advantageous to do so.
- Workload Resource Guarantees – If you are going to run enterprise applications in your shared tenant cloud environment, then you had better be sure that they perform well for their end user constituents. This is an area that will ultimately require the integration of APM solutions with Cloud Management solutions. That has not happened yet, but what has happened is that resource reservations and guarantees have been built into enterprise class Cloud Management solutions. This means that at the time that the service is ordered, a resource utilization profile can be selected and the required resources are reserved for the application in question.
- Enterprise Application Support – This is the most difficult of all of the new aspects of Cloud Management to do well, as it cuts across so many aspects of a Cloud Management solution. At the provisioning level, it is critical that all of the unique provisioning requirements for all of the VM’s are met and that their dependencies upon each other are met as well. The resources required by an enterprise application usually go well beyond just the virtual memory and CPU which are easily specified at the hypervisor layer. There are almost always high end databases involved, each of which usually has very specific storage and storage performance requirements. Encapsulating all of this into a workable framework or template is a huge challenge, and this truly is an ongoing frontier for all of the enterprise class cloud management vendors.
- Cloud Execution Options – This is all about where does the cloud management reside. Every vendor offers an on premise option where you install their software on top of the hypervisor platform. VirtuStream is unique in that they offer both an on premise option, and hosting in their own data centers.
A Hypervisor and Cloud Management is not all you Need
Building and operating an enterprise class cloud is a complex undertaking. The mix of applications is going to be very diverse, and some of those applications are going to be very demanding both in terms of performance requirements and how they are managed. You may find that some applications are currently being managed by legacy systems management agents – agents that for a variety of good reasons you may be reluctant to install in your virtualized data center or your cloud. Intigua has a intriguing solution to this problem – which is to apply application virtualization techniques to these agents so that they are more easily managed.
There is also a fundamental problem that arises when you bring multiple hypervisors to the table. Each of those hypervisors comes with it own management console – which brings along a set of processes and formats unique to that hypervisor. Hotlink has addressed this issue by allowing you to use vCenter to manage all of those hypervisors, and use the vSphere standards in terms of templates, snapshots, and policies across the various hypervisor platforms.
The point is that while heterogeneity and complexity might end up being a realities in your enterprise cloud, you should strive to keep your management processes as consistent, leveraged and lean as they currently are in a clean vSphere only virtualization environment. Bringing in another hypervisor and a cloud management offering that supports N hypervisors and M public clouds may allow your cloud to put workloads in all of those places, but it does not implement leveraged and consistent management of this now very heterogeneous, distributed and complex environment.
Taking your cloud from a dev/test/pilot/training use case to a platform for business critical enterprise applications introduces significant new requirements that first generation cloud management platforms were not designed to meet. Elasticity and self-service are nice features, but these features alone fall far short of what is needed to provision and run enterprise applications in clouds. VMware has signaled that it understands this, and now has a product that is fully capable of supporting heterogeneous enterprise class clouds. We will likely now see a divergence in Cloud Management offerings with some (the list above) focusing upon these demanding use cases, and others (like Embotics) focusing upon addressing elasticity and self-service with the highest possible level of convenience and fastest time to value for the customer.