Private clouds, a cloud computing approach taken and applied within the boundaries of an enterprise, continue to grow in popularity. Private clouds offer a number of appealing benefits to an organization including higher utilization of existing server resources, improved manageability, pay as you go, and self-service.
This roundup provides a high-level view of some of the key ingredients for creating a private cloud solution.
As typical within any IT solution, there continues to be hype and promotion around private cloud tooling and runtimes. Can we trust an approach where “hype” is part of the runtime name?
Separating fact from fiction can be difficult when determining which approach to take, which runtime to select and what tools to use. One resource to watch is the Cloud Standards Customer Councilʼs Case Study Competition. The Cloud Standards Customer Council is managed by the Object Management Group in partnership with BPtrends. The council was initiated by a host of companies including CA, IBM, Rackspace, Software AG and others.
The scope of the competition covers public, private and hybrid solutions – providing insights into business impact of cloud implementations. This input can be used to help decide on the right approach for your organization - perhaps a pure private cloud? A hybrid approach? Public only? Or avoid cloud altogether?
In creating a private cloud, it is important to have a strong foundation to build upon. A hypervisor, provides the runtime for virtual images and is a key component of this foundation. There are many choices available for hypervisors from both commercial and open source providers. Some of the commercial choices include: Microsoft HyperV, VMWare vSphere, Oracle VM, and IBM PowerVM.
The open source community provides a number of hypervisors as well, including Xen and KVM. (A much larger list of hypervisors and platform differences is available at Wikipedia). In addition to open source offerings at the hypervisor level, Eucalyptus, OpenStack and OpenNebula provide additional support for building and managing private clouds. An interesting aspect of Eucalyptus is that it supports creation of an Infrastructure as a Service private cloud that is accessible through an Amazon EC2 and Amazon S3 compatible API.
When deciding on a hypervisor, market share is a poor metric to use as a deciding factor. Many hypervisors are included as part of operating systems leading to inflated measurements. Some useful evaluation criteria include:
- Performance: Evaluate performance of the hypervisor to determine the impact of virtualization when compared to non-virtualized solutions. What is the overhead for virtualization?
- Scalability: How many virtual machines can the hypervisor support? How much memory can it allocate per instance?
- Security: Review reports on vulnerabilities related to management consoles, management servers, administration servers, guest VMs, and the hypervisor itself. Hardening guides and configuration documents can also provide hints to the overall security of the platform and the effort required to lock things down.
- Manageability and Usability: How much support is there for managing virtual machines and associated images? Command line only? How sophisticated and easy to use are associated GUIʼs? Support for scripting?
One more piece to consider is how will virtual machine images be built? How sophisticated does the resulting image need to be? Simple backbox reuse with limited customization? Or is a more sophisticated approach needed, one that recognizes the components within the image and provides opportunities for customization? A good starting point is to consider reusing an image that has been prebuilt. VMWareʼs Virtual Appliance Marketplace provides a range of virtual images. If thereʼs a need to build an image, tools such as Oracle Virtual Assembly Builder and IBM Workload Deployer provide an advanced approach to creating virtual images. These tools have an understanding of key middleware components (web servers, application servers, caching components, databases, etc) and help to encourage the development of customized virtual machine images.
And last but not least, how do we determine the overall architecture of the solution? Are there best practices to be followed when designing a cloud solution? Cloud patterns - proven best practice solutions to known and recurring problems - are being identified, documented and shared. Some vendor specific resources include VMWare, Microsoft, and IBM Workload Deployer Patterns.
Reuse will play a big role in the success of private cloud. As it is still early days, it is too early to issue a verdict on the reuse approaches to date. Whether it is wholesale reuse of prebuilt images, specialized image creation tooling, or patterns - asset quality, quantity and accessibility will be key success factors.
Are you pursuing a cloud-based approach? Have you decided on a private cloud? What has been your experience in delivering a private cloud?