Virtualization and Cloud Computing PDF
Document Details
Uploaded by ExtraordinaryMars
Anoka-Ramsey Community College
Tags
Summary
This document provides an overview of virtualization and cloud computing concepts. It explores the benefits of virtualization over traditional server deployments, including resource efficiency, reduced costs, and increased uptime. The document also describes different types of hypervisors and the role of virtualization in cloud computing.
Full Transcript
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...
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, 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. The terms "virtualization" and "cloud computing" are often used interchangeably although they mean different things. 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. 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. 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 takes advantage of idle resources to reduce the number of servers required to provide services to users. 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. Virtualization reduces the number of physical servers, networking devices, supporting infrastructure, and maintenance costs. 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. Consolidating servers lowers the monthly power and cooling costs. Reduced consumption helps enterprises to achieve a smaller carbon footprint. Cost savings because less equipment is required, less energy is consumed, and less space is required. Creating a virtual server is far faster than provisioning a physical server. 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. 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. 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. 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. 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 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 the figure. - **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 2 (hosted) hypervisor** -- This is hosted by an OS and is commonly used with client-side virtualization. Virtualization software such as VirtualBox and VMware Workstation are examples of a Type 2 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 work with the host computer to create and use multiple VMs. - The next figure 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. VirtualBox has been used to create and manage the Windows 7 VM and a Linux VM. - 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. 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. 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. Virtual Desktop Infrastructure: 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. Windows Virtual Desktop: 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. 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 applications (e.g., email, office 365,..) are provided over the network on a subscription basis - Typically used by end users **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. - Includes tools and services used to deliver the applications - Includes OS and applications stack - Typically requested by application and software developers **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. - Includes network, computers (virtual or dedicated), and storage - Typically used by organization infrastructure and network architects 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. To achieve efficient elasticity in the cloud, services must be provisioned and deprovisioned rapidly. This is done using scripting. Software-defined networking (SDN) is often used to perform these operations. In the SDN model, there are three layers, the application layer at the top, the control layer in the center, and the infrastructure layer at the bottom. The application layer uses logic to decide how traffic is prioritized and where to switch it. The infrastructure layer is the physical and virtual devices that perform the routing and switching of traffic. The SDN controller in the center and controls the application and infrastructure layers. The control of the layers is performed by scripts through an application programming interface (API). The API between the SDN controller and the application layer is called the northbound API and the API between the SDN controller and the infrastructure layer is called the southbound API, as shown in the figure. SD-WAN technologies make it possible to simplify an organization\'s network architecture, reducing it to a single orchestrated layer rather than a mixture of connected and integrated physical solutions. By virtualizing network architecture, organizations can better monitor and maintain their network organization, and can even offload a significant amount of work through automated processes. SD-WAN solutions include built-in firewalls, artificially intelligent security solutions, and integrated security features such as encryption, sandboxing, and IPS. Businesses are operating increasingly outside brick-and-mortar locations, SD-WAN technology can help reduce their costs. Through SD-WAN technology, companies can better improve their consistency and their reliability. 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.