Virtualization provides the bridge between how information technology services are delivered in the current data center environment to how those same services and applications are delivered in a cloud environment. Understanding virtualization is critical to understanding cloud computing. Cloud computing is the model for enabling on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services). It features rapid provisioning with minimal management effort or service provider interaction. Cloud computing is composed of three service models, four deployment models, and five essential characteristics.
Virtualization involves the sharing of physical computer components and includes a logical abstraction (a software representation) of computer physical assets (i.e., network interfaces, operating systems (OSs), disk drives, motherboards, memory, etc.). In other words, virtualization is the use of software to enable hardware to support multiple instances of operating systems, networks, and storage arrays at the same time.
The three primary types of virtualization are network virtualization, server virtualization (operating systems), and storage virtualization:
Network virtualization – Software enables available hardware (routers, switches) and bandwidth to be split into channels, and then logically associated with servers. Virtualization, in this case, disguises the true complexity of the network by breaking it up into smaller, more manageable pieces.
Server virtualization – Another term used for server virtualization is server consolidation, and illustrates the more traditional concepts of virtualization, using the hardware more efficiently. To accomplish this, the physical components of a server, such as processors, memory, and network interface cards, are abstracted into a single unit. Server virtualization logically breaks up a server into smaller, more manageable units, just as network virtualization logically breaks up a network into smaller, more manageable pieces.
Storage virtualization – Storage area networks (SAN) have done most of this work for us. The basic virtualization concept in effect here is the pooling of all physical storage and making it appear as a single unit that can be managed from a central console.
By virtualizing the physical assets, the virtualized assets can be viewed as independent building blocks with less structure than the original physical asset. The virtualized assets now become independent building blocks that can be mixed and matched to suit a specific need. In short, the virtualized computer system will share the physical assets of the original system architecture but can be easily configured to address the specific needs of multiple service requirements. From the instant that the first computer ENIAC was born on February 14, 1946, the effort to better utilize hardware resources began. In the 1950s, as the evolution of computers proceeded, the need to have “supervisors” or “operating systems” was borne of the need for a simpler user interface; the concepts of multitasking and multithreading were thus invented. By the 1960s, these concepts were becoming reality, and the concept of virtualization was born. By 1972, the first commercially available virtual operating system was released.
The adoption of virtualization was slow until the first cloud arrived in the early 1990s: the Internet. By 1999, Salesforce.com (a cloud computing company founded by four former Oracle executives and headquartered in San Francisco) implemented a solution to deliver enterprise applications through a website, which was an early example of cloud computing. With the introduction of Salesforce.com, software as a service (SaaS) became a reality.
Amazon Web Services
In 2002, Amazon Web Services (AWS) was launched. This service provides customers with the ability to virtualize their storage, network, and computing. This is Infrastructure as a Service (IaaS). Amazon became a cloud services provider. Not sitting on their laurels, Amazon took this static structure to the next level when they launched their Elastic Compute Cloud (EC2) in 2006, which allowed organizations to lease computing systems to run their own applications.
Google Browser Applications
In 2009, Google and other service providers started offering browser-based enterprise applications. This was made possible by the advances in browser technology and the increased popularity and processing power of personal computing devices, including small laptop computers, smartphones, and tablets. These services empower us to use our computing devices as extensions of ourselves, optimizing and informing our work and play.
Virtualization: A Modern Resource Sharing
Virtualization leverages the fact that at any given moment a computer system is rarely using 100% of its available resources. Since some resources are not being used, they can be allocated or assigned to do other tasks, thereby increasing productivity. Virtualization decouples the traditional one-to-one relationship between applications and the physical hardware on which they run, enabling efficient resource sharing.