Essentials v7.0: Chapter 9 – Virtualization and Cloud Computing

9.0 – Introduction

9.0.1 – Introduction – Welcome

Organizations, both large and small, are investing heavily in virtualization and cloud computing. It is therefore important for IT technicians and professionals to understand these two technologies. While the two technologies do overlap, they are, in fact, two different technologies. Virtualization software allows one physical server to run several individual computing environments. Cloud computing is a term used to describe the availability of shared computing resources, software or data, as a service and on-demand over the Internet.

In this chapter, you will learn about the advantages that virtualization has over the traditional use of dedicated servers, such as using fewer resources, requiring less space, reducing cost, and increasing server uptime. You will also learn the terms that are used when discussing client-side virtualization, like host computer, which refers to the physical computer controlled by a user. The host OS is the OS on the host computer, and the guest OS is the OS running in the virtual machine on the host computer.

You will learn about the two types of hypervisors: Type 1 (native) hypervisor, also called bare metal hypervisor, and Type 2 (hosted) hypervisor. You will also learn the minimum system requirements to run Windows Hyper-V, which is a type 2 hypervisor, in Windows 7, WIndows 8, and Windows 10.

It is important to not only learn about virtualization and cloud technology but to also build hands-on skills. In this chapter you will complete a lab installing Linux in a virtual machine.

9.1 – Virtualization

9.1.1 – Virtualization – Video Explanation – What is the Cloud?

Click Play in the figure to view a video about the cloud.

Click here to read the transcript of this video. – Cloud Computing and Virtualization

The terms “virtualization” and “cloud computing” are often used interchangeably although they mean different things.

Cloud Computing and Virtualization

Virtualization enables a single computer to host multiple independent virtual computers that share the host computer hardware. Virtualization software separates the actual physical hardware from the virtual machine (VM) instances. VMs have their own operating systems and connect to hardware resources through software running on the host computer. An image of a VM can be saved as a file and then be re-started when required.

It is important to remember that all the VMs share the resources of the host computer. Therefore, the limiting factor on the number of VMs that can run at the same time is directly related to the amount of processing power, memory, and storage.

Cloud computing separates the applications from the hardware. It provides organizations with on-demand delivery of computing services over the network. Service providers such as Amazon Web Services (AWS) own and manage the cloud infrastructure that includes the networking devices, servers, and storage devices and is usually housed in a data center.

Virtualization is the foundation which supports cloud computing. Providers such as AWS offer cloud services using powerful servers that can dynamically provision virtual servers as required.

Without virtualization, cloud computing, as it is most-widely implemented, would not be possible. – Traditional Server Deployment

To fully appreciate virtualization, it is first necessary to understand how servers are used in an organization.

Traditionally, organizations delivered applications and services to their users using powerful dedicated servers as shown in the figure. These Windows and Linux servers are high-end computers with large amounts of RAM, powerful processors, and multiple large storage devices. New servers are added if more users or new services are required.

Dedicated Servers

Problems with the traditional server deployment approach include:

  • Wasted resources – This occurs when dedicated servers sit idle for long periods waiting until they are needed to deliver their specific service. Meanwhile, these servers waste energy.
  • Single-point of failure – This occurs when a dedicated server fails or goes offline. There are no backup servers to handle the failure.
  • Server sprawl – This occurs when an organization does not have adequate space to physically house underutilized servers. The servers take up more space than is warranted by the services that they provide.

Virtualizing servers to use resources more efficiently addresses these problems. – Server Virtualization

Server virtualization takes advantage of idle resources to reduce the number of servers required to provide services to users.

Hypervisor OS Installation

A special program called the hypervisor is used to manage the computer resources and various VMs. It provides VMs access to all of the hardware of the physical machine such as CPUs, memory, disk controllers, and NICs. Each of these VMs runs a complete and separate operating system.

With virtualization, enterprises can now consolidate the number of servers. For example, it is not uncommon for 100 physical servers to be consolidated as virtual machines on top of 10 physical servers using hypervisors. In the figure, the previous eight dedicated servers have been consolidated into two servers using hypervisors to support multiple virtual instances of the operating systems. – Advantages of Server Virtualization

Better use of resources
Virtualization reduces the number of physical servers, networking devices, supporting infrastructure, and maintenance costs.

Less energy consumed
Consolidating servers lowers the monthly power and cooling costs. Reduced consumption helps enterprises to achieve a smaller carbon footprint.

Faster server provisioning
Creating a virtual server is far faster than provisioning a physical server.

Improved disaster recovery
Virtualization offers advanced solutions to keep business continuing during a disaster. VMs can be copied to other hardware platforms that may even be in a different data center.

Less space required
Server consolidation with virtualization reduces the overall footprint of the data center. Fewer servers, network devices, and racks reduce the amount of required floor space.

Reduced cost
Cost savings because less equipment is required, less energy is consumed, and less space is required.

Maximize server uptime
Most server virtualization platforms now offer advanced redundant fault tolerance features, such as live migration, storage migration, high availability, and distributed resource scheduling. They also support the ability to move a virtual machine from one server to another.

Support for legacy systems
Virtualization can extend the life of OSs and applications providing more time for organizations to migrate to newer solutions. – Check Your Understanding – Match the Advantages of Virtualization – Check Your Understanding – Match the Advantages of Virtualization – Client-Side Virtualization

Many organizations use server virtualization to optimize network resources and reduce equipment and maintenance costs. Organizations are also using client-side virtualization to enable users with specific needs to run VMs on their local computer.

Client-side virtualization is beneficial for IT staff, IT support people, software developers and testers, and for educational reasons. It provides users with resources to test new operating systems, software, or to run older software. It can also be used to sandbox and create a secure isolated environment to open or run a suspicious file.

Logical Virtual Machine Diagram

Some terms that are used when discussing client-side virtualization include:

  • Host computer – This is the physical computer controlled by a user. VMs use the system resources of the host machine to boot and run an OS.
  • Host operating system (host OS) – This is the operating system of the host computer. Users can use a virtualization emulator such as VirtualBox on the host OS to create and manage VMs.
  • Guest operating system (guest OS) – This is the operating system that is running in the VM. Drivers are required to run the different OS version.

The guest OS is independent of the host OS. For example, the host OS could be Windows 10 and the VM could have Windows 7 installed. This guest of the VM would be Windows 7. In this example, the guest OS (Windows 7) does not interfere with the host OS (Windows 10) on the host computer.

Host and guest operating systems do not need to be of the same family. For example, the host OS could be Windows 10, while the guest OS is Linux. This is of benefit for users that need to increase the functionality of their host computer by running multiple operating systems at the same time.

The figure displays a logical virtual machine diagram. The bottom gray box represents the physical computer with its host OS (e.g., Windows 10). Hyper-V, Virtual PC, and VirtualBox are examples of virtualization software or emulator that could be used to create and manage the three VMs shown in the top of the figure. – Type 1 and Type 2 Hypervisors

The hypervisor, also called the Virtual Machine Manager (VMM), is the brain of virtualization. The hypervisor is the software used on the host computer to create and manage VMs.

The hypervisor allocates the physical system resources, such as CPU, RAM, and storage, to each VM as needed. This ensures that the operation of one virtual machine does not interfere with another.

There are two types of hypervisors, as shown in Figure 1.

    • Type 1 (native) hypervisor – Also called bare-metal hypervisor and typically used with server virtualization. It runs directly on the hardware of a host and manages the allocation of system resources to virtual operating systems.

Type 1 (native) hypervisor

    • Type 2 (hosted) hypervisor – This is hosted by an OS and is commonly used with client-side virtualization. Virtualization software such as Windows Hyper-V and VMware Workstation are examples of a Type 2 hypervisor.

Type 2 (hosted) hypervisor

Type 1 hypervisors are common in data centers and in cloud computing. Examples of Type 1 hypervisors include VMware vSphere / ESXi, Xen, and Oracle VM Server.

Type 2 hypervisors such as VMware Workstation works with the host computer to create and use multiple VMs. Windows Hyper-V is also included in Windows 10 Pro and Windows Server (2012 and 2016).

Figure 2 displays a sample Type 1 and a Type 2 hypervisor implementation. In the Type 1 implementation, VMware vSphere runs directly on the server hardware with no operating system. VMware vSphere has been used to create a Windows Server VM and a Linux Server VM. In the Type 2 implementation, the host OS on the computer is Windows 10. Windows Hyper-V has been used to create and manage the Windows 7 VM and a Linux VM.

Type 1 Native

Type 2 Hosted

Client-side emulators can run software meant for a different guest OS or an OS meant for different hardware. For example, if the host OS was Linux and we are creating a VM using Windows 7 to run an application that only runs in Windows 7. The Linux host computer will pretend to be a Windows 7 computer. – Virtual Machine Requirements

Virtual computing requires more powerful hardware configurations because each installation needs its own resources.

All virtual machines share the following basic system requirements:

  • Processor support – Processors, such as Intel VT and AMD-V, were specifically designed to support virtualization. The virtualization feature on these processors may need to be enabled. Processors with multiple cores are also recommended as the additional cores increase speed and responsiveness when running multiple VMs.
  • Memory support – Consider that you need memory for your host OS and will now need enough RAM to meet the requirements of each VM and their guest OS.
  • Storage – Each VM creates very large files to store operating systems, applications, and all of the VM data. You must also factor in that an active VM will require a few GB of storage space. Therefore, large and fast drives are recommended.
  • Network Requirements – Network connection requirements depend on the type of VM. Some VMs do not require outside connections while others do. VMs can be configured in a bridged, NAT, host-only, or a special network to connect only to other VMs. To connect to the Internet, a VM uses a virtual network adapter that simulates the real host adapter. The virtual network adapter then connects through the physical NIC to establish a connection to the Internet.

The minimum system requirements for Windows Hyper-V for Windows 10 and Windows 8, and Windows Virtual PC for Windows 7 are displayed in Figures 1, 2, and 3, respectively.

Windows Hyper-V Requirements for Windows 10

Windows Hyper-V Requirements in Windows 8

Windows Virtual PC Requirements in Windows 7

Like a physical computer, VMs are susceptible to the same threats and malicious attacks. Although VMs are isolated from the host, they can share resources (e.g., NIC, folders, and files). Users should exercise the same security considerations as the host and install security software, enable firewall features, install patches, and update the operating system and programs. It is also important to keep the virtualization software updated. – Check Your Understanding – Virtualization Terminology – Check Your Understanding – Virtualization Terminology – Lab – Install Linux in a Virtual Machine and Explore the GUI

In this lab, you will install a Linux OS in a virtual machine using a desktop virtualization application, such as VirtualBox. After completing the installation, you will explore the GUI interface. Lab – Install Linux in a Virtual Machine and Explore the GUI – How We Use the Cloud

Virtual application streaming / cloud-based applications
Organization are using cloud-based applications to provide on-demand software delivery. For example, Microsoft Office365 provides online versions of Microsoft Word, Excel, and PowerPoint. When a user requests an application, minimal application code is forwarded to client. The client pulls additional code from the cloud server as required. For offline use, the application may be saved locally on the host.

Cloud-based email
Organizations are using cloud-based solutions for their email requirements. Examples of cloud based email applications include Office 365, Gmail, iCloud Mail, Outlook, Yahoo, and Exchange Online.

Virtual desktop (infrastructure VDI)
An organization can use this technology to deploy entire desktop environments from a server in a data center to clients. The virtual desktops are created by a VM controlled by a hypervisor. However, all computing on the VDI is done on servers. VDIs can be persistent which provides the user with a customizable image that is saved for future use or non-persistent which reverts the image back to its initial state when a user logs out.

Cloud file storage solutions
Organizations are using cloud-based storage solutions for their corporate data. Examples of cloud storage solutions include Google Drive, OneDrive, iCloud Drive, Box, and Dropbox. Some of these solutions include synchronization applications that are either provided by the vendors or commercially available applications.

Windows Virtual Desktop (WVD)
This is a virtual desktop enabled edition of Windows 10 that runs on modern or legacy computers or remotely on Azure virtual machines. It provides a virtualized Windows 10 experience that is always up to date and available on any device.

9.2.2 – Cloud Services – Cloud Services

Cloud service providers can provide various services tailored to meet customer requirements. However, most cloud computing services can be categorized into three main cloud computing services as defined by the National Institute of Standards and Technology (NIST) in their Special Publication (800-145):

    • Software as a Service (SaaS) – The cloud provider provides access to services, such as email, calendar, communication, and office tools over the Internet on a subscription basis. Users access the software using a browser. Advantages include minimal upfront costs for customers and immediate application availability. SaaS providers include Salesforce customer management relationship (CRM) software, Microsoft Office 365, MS SharePoint software, and Google G Suite.

Software as a Service (SaaS)

    • Platform as a Service (PaaS) – The cloud provider provides access to operating systems, development tools, programming languages, and libraries used to develop, test, and deliver applications. This is useful to application developers. The cloud provider manages the underlying network, servers, and cloud infrastructure. PaaS providers include Amazon Web Service, Oracle Cloud, Google Cloud Platform and Microsoft Azure.

Platform as a Service (PaaS)

    • Infrastructure as a Service (IaaS) – The cloud provider manages the network and provides organizations access to network equipment, virtualized network services, storage, software, and supporting network infrastructure. There are many advantages for organizations to adopt IaaS. Organizations do not need to invest in capital equipment and only pay for usage on-demand. The provider network includes redundancy and eliminates a single point of failure in the provider network infrastructure. The network can also scale seamlessly based on current requirements. IaaS providers include Amazon Web Service, DigitalOcean, and Microsoft Azure.

Infrastructure as a Service (IaaS)

Cloud service providers have extended the IaaS model to also provide IT as a service (ITaaS). ITaaS can extend the capability of IT without requiring investment in new infrastructure, training new personnel, or licensing new software. These services are available on demand and delivered economically to any device anywhere in the world without compromising security or function. – What Do You Already Know? – Cloud Models

Bob arrives at his office in the Department of Transportation. He logs onto his computer and reviews his budget for the asphalt required for the extension of the road due to the proposed building of a new shopping mall.

Bob uses Gmail to email his friend to tell him he will not be able to meet him after work because he is working late on a project.
Choose the cloud model that is most likely used in this scenario

Andrea is a project manager for an asphalt company. She is submitting a bid to the Department of Transportation’s vendor website to build the new road required for the development of a new shopping center.

A resident of Smithtown needs information from the Department of Transportation’s website to better understand how the proposed new shopping mall will impact traffic in her community. After she learns that the traffic volume may double on her road, she leaves a public comment protesting the building. – Check Your Understanding – Cloud Service and Cloud Model Terminology – Check Your Understanding – Cloud Service and Cloud Model Terminology – Cloud Computing Characteristics

On-demand (self-service)
Individuals can provision or make changes to computing services as needed without requiring human interaction with the service provider.

Rapid elasticity
Services can be provisioned when needed and then released very quickly when no longer required. In some cases, the demand can be met and scale automatically based on the user demand.

Resource pooling
The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model. Each model, each tenant (i.e., customer) shares the different physical and virtual resources dynamically assigned and reassigned according to consumer demand. Examples of resources that can be pooled and shared include storage, processing, memory, and network bandwidth.

Measured and metered service
Cloud systems provide service performance measurements that can be used to automatically control and optimize resources using a metering mechanism. Metering can be used to set thresholds to ensure that a customer is always provided with satisfactory service levels. Measured and metered services also provide reports for both the provider and service consumer.

Broad network access
Capabilities are available over the network and can be accessed using smartphones, tablets, laptops, and workstations. – Check Your Understanding – Match the Cloud Characteristics – Check Your Understanding – Match the Cloud Characteristics – Chapter 9: Virtualization and Cloud Computing

9.3 – Summary

9.3.1 – Conclusion – Chapter 9: Virtualization and Cloud Computing

In this chapter, you learned that the terms virtualization and cloud computing are often used interchangeably although they actually mean different things. Virtualization is a technology that enables a single computer to host multiple virtual computers that share the same host computer hardware. Cloud computing is a technology that enables the separation of applications from the hardware. Virtualization is the foundation which supports cloud computing.

You learned that the traditional way of delivering applications and services to users by using dedicated servers is inefficient, unreliable, and not scalable. Dedicated servers can sit idle for long periods, they are a single point of failure, and they take up a lot of physical space. Virtualization solves these issues by consolidating many virtual servers onto a single physical server, taking advantage of idle resources and reducing the number of servers required to provide services to users. You learned the many advantages that virtualization has over the traditional use of dedicated servers, such as better use of resources, less space required, reduced cost, and increased server uptime.

Cloud computing provides users with on-demand delivery of computer services over the Internet. Most of us already use these services when we access online music services or online data storage. You learned about the types of cloud services offered by cloud service providers. SaaS which provides access to services, such as email, calendar, communication, and office tools over the Internet on a subscription basis. PaaS which provides access to operating systems, development tools, programming languages, and libraries used to develop, test, and deliver applications. And, IaaS which provides organizations access to network equipment, virtualized network services, storage, software, and supporting network infrastructure.

The chapter concluded with several exercises to test your understanding of cloud computing terminology and characteristics.


Inline Feedbacks
View all comments
Would love your thoughts, please comment.x