Today, virtualization seems to have taken a back seat to cloud computing. If you look at the VMworld 2010 tracks and sessions this year, they focus on cloud computing. But you can't have internal cloud computing without virtualization, so virtualization remains on the hot topics list, even if it's no longer in the No. 1 spot.
In this tip, we consider how clouds and virtualization go hand in hand and how to leverage the capabilities of VMware vSphere to create your own private cloud.
What is cloud computing?
Cloud computing is a term for a bunch of servers working together to provide services to customers. The term cloud was coined from the cloud diagrams that were often used to depict the Internet in computer network diagrams. Cloud services are typically dynamic and can provide variable amounts of computing services based on demand. This is similar to the electricity grid that powers our homes. The power that a household consumes is based on the demand of the devices inside it.
Cloud computing characteristics
In a similar fashion, cloud customers are typically charged only for the computing resources that they use in their cloud environment. There are different types of cloud models (private, public, hybrid), and different services (Software as a Service, Platform as a Service, Infrastructure as a Service), but all clouds have basic defining characteristics:
- Dynamic scalability. The cloud infrastructure should be able to dynamically increase or decrease based on demand.
- High availability. The cloud infrastructure should be as highly available as possible with minimal unplanned outages.
- Based on a chargeback model. Cloud resource consumption should be monitored and measured so customer chargeback can be computed.
- Self-service. Customers should be able to request and provision cloud resources as needed on their own.
- Automation. Processes within a cloud infrastructure should be as automated as possible to ensure timely service delivery to customers.
- Security. Multi-tenancy is common in cloud environments, so it is critical to keep each customer's data isolated and secure.
When a company develops a system in its own data center using its own equipment and staff, it's called a private cloud. This model has cloud characteristics inside a private data center and can require considerable capital expense, because the various infrastructure components must be purchased and maintained. This includes servers, storage devices, network equipment, virtualization software, operating systems and software applications. Other cloudlike systems must be implemented as well, such as security controls, chargeback reporting, automation and self-service. On the other hand, private clouds provide better data security as well as greater control and flexibility over an environment.
VMware vSphere's cloud-friendly technologies
VMware has positioned itself well with vSphere to provide the necessary tools and applications to meet the needs of internal and external cloud environments. For starters, using server virtualization for any cloud platform is a must, because it provides the foundation and many of the required features for cloud computing. Let's examine some of the typical cloud requirements and see how vSphere lends itself to satisfying them.
Dynamic scalability. There are many resource controls in vSphere that can control the resource usage of virtual machines (VMs) to ensure that critical VMs get the required resources when they need them. VMware's Distributed Resource Scheduler (DRS) technology distributes workloads among hosts to avoid overburdening a host and to ensure that VMs get the resources they need as their workloads change. The next release of vSphere will provide additional mechanisms by enabling I/O control to prioritize storage traffic when congestion increases. This will further ensure that critical VMs get the necessary storage I/O they need to meet their workloads.
High availability. VSphere has plenty of technologies to ensure high availability and continuous availability. VMotion and Storage VMotion help virtual machines stay operational during planned outage for maintenance. VMware's High Availability (HA) feature allows VMs on a failed host to quickly recover on other hosts with minimum downtime. The Fault Tolerance feature takes HA to the next level by providing continuous availability for VMs in the event of a host failure. VSphere also provides additional controls for high availability, such as the ability to use multi-pathing for storage and multiple network interface cards in a vSwitch (or virtual switch) for load balancing and failover.
While currently not dynamic, the CPU, memory and disk hot-add features allow VMs to increase their resources on the fly without interruption. VMware's vCenter CapacityIQ product provides resource capacity awareness, prediction and optimization to ensure that you have sufficient capacity available both today and in the future.
Chargeback model. Because a host is in control of all resources to a VM, it is easy to monitor a VM's total resource usage so it can be used for chargeback purposes. While chargeback reporting is not natively built into vSphere, VMware offers a product with this capability. VCenter Chargeback fully integrates with vSphere and can perform cost analysis, measurement and reporting of resource usage. Several third-party products, such VKernel Chargeback, perform this task as well.
Self-service.To some extent, vCenter Server assigns specific privileges to users to allow them to perform certain actions on their own. To achieve higher levels of automated self-service, VMware offers Lab Manager and Lifecycle Manager. Lab Manager provides a self-service portal for VM provisioning that enables users to quickly and easily bring up VMs when needed. Lifecycle Manager can also help by automating provisioning tasks and allowing for resource reclamation and the decommissioning of unneeded virtual machines.
Automation. Many technologies and products in vSphere can help automate repetitive tasks and the process of administrating virtual machines. VSphere has many advanced programming interfaces (APIs) and scripting tools for automation, and PowerShell is one of the most popular. Scripting isn't for everyone, though. While it is not difficult, it requires a specialized skill set.
VMware offers two products to assist with automation: vCenter Orchestrator and vCenter ConfigControl. Orchestrator allows you to create workflows and automate common administration tasks. Scheduled for release later this year, ConfigControl will allow you to automate and manage configuration changes in your virtual environment. Lifecycle Manager also provides automation.
Security. VSphere has several built-in security controls and has always been a secure product. The roles and permissions that can be defined enable highly granular security to be assigned to objects and users. The VMsafe APIs allow third-party vendors to develop tightly integrated security products to protect all layers of a virtual environment. VMware has also built its own security product, vShield Zones, which provides built-in virtual network security and can help protect VMs from attacks that traditional physical network security devices might not protect against.
As you can see, vSphere offers most of the building blocks for basic cloud construction. Because cloud computing is a priority for VMware, the company will continue to evolve its offerings even further so it can offer a complete cloud technology. You may already use many of the technologies that are part of the cloud computing model and may therefore already be on the path to building your own private cloud.
Eric Siebert is a 25-year IT veteran with experience in programming, networking, telecom and systems administration. He is a guru-status moderator on the VMware community VMTN forums and maintains VMware-land.com, a VI3 information site.