Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Microsoft

Virtualization - Sharing cloud resources

Microsoft via Microsoft Learn

Overview

  • Module 1: Carnegie Mellon University's Cloud Developer course. Get an introduction to virtualization, one of the many technologies that power the cloud. Learn what virtualization is, its benefits, and how cloud resources are shared.
  • In this module, you will:

    • Identify major reasons that virtualization is becoming essential, especially on the cloud
    • Identify some of the main limitations of traditional operating systems to enable the cloud computing paradigm
    • Indicate how system complexity can be managed in terms of levels of abstractions and well-defined interfaces, and specify their applicability to virtualization and the cloud
    • Define resource sharing, explain why it is needed, discuss its two main implementations, and indicate its applicability to virtualization
    • Outline the main differences between sharing of uniprocessor and multiprocessor systems and the pros and cons of sharing multiprocessor systems in time and space

    In partnership with Dr. Majd Sakr and Carnegie Mellon University.

  • Module 2: Carnegie Mellon University's Cloud Developer course. Take a deep dive into virtualization by understanding its formal definition as well as the different types of virtual machines.
  • In this module, you will:

    • Define virtualization, and distinguish between its applicability to a single system component and to an entire machine
    • Identify different virtual machine types, and indicate the main technique that enables each type.
    • Recognize the different classes of system virtual machines.

    In partnership with Dr. Majd Sakr and Carnegie Mellon University.

  • Module 3: Carnegie Mellon University's Cloud Developer course. Learn about how computing power is virtualized using virtual CPUs. Covers different types of CPU virtualization.
  • In this module, you will:

    • Distinguish between different modes of operations in various systems such as traditional operating systems and virtualized systems
    • Identify the three main classes of system instructions
    • Indicate the condition to enable efficient hypervisors
    • Explain how a hypervisor can handle system traps
    • Identify the difference between efficient hypervisors and hypervisors
    • Describe why and when code patching is needed
    • Recognize the dissimilarity between full virtualization and paravirtualization
    • Explain the advantages and disadvantages of full virtualization and paravirtualization
    • Identify the difference between emulation and direct native execution
    • 'Recognize the two types of emulation: interpretation and binary translation'
    • Explain some major interpretation and binary translation techniques
    • Compare and contrast decode-and-dispatch, direct-threaded, and indirect-threaded interpreters
    • Identify the difference in virtual CPU allocation between symmetric multiprocessing and uniprocessor virtual machines
    • 'Describe the two major virtual CPU schedulers in Xen: Simple Earliest Deadline First and Credit Scheduler'

    In partnership with Dr. Majd Sakr and Carnegie Mellon University.

  • Module 4: Carnegie Mellon University's Cloud Developer course. Learn how memory is virtualized to support cloud resources. Covers different types of memory mapping and related issues.
  • In this module, you will:

    • Identify how most general-purpose operating systems support virtual memory
    • Discuss the one-level page mapping between virtual and physical addresses
    • Identify the difference between one-level page mapping, as provided in traditional operating systems, and two-level page mapping, as provided in system memory virtualization
    • Discuss multiple-level page mapping as implied by various virtualized environments, such as native and user-mode hosted virtualized systems
    • Define memory overcommitment, and discuss the benefits it provides to virtualized systems
    • Describe what reclamation techniques are and why they are needed
    • Explain memory ballooning in VMware ESXi as an example of a reclamation technique

    In partnership with Dr. Majd Sakr and Carnegie Mellon University.

  • Module 5: Carnegie Mellon University's Cloud Developer course. Learn about how computer input/output is virtualized. Covers I/O basics and a case study of virtualizing I/O.
  • In this module, you will:

    • Recognize how CPU and I/O devices communicate in traditional systems
    • Identify how many I/O device drivers can/should be supported per physical device for different virtualized systems, such as native and dual-mode hosted virtualized systems
    • Recognize the need for and ease of intercepting I/O requests by the hypervisor
    • Identify at which system interfaces the hypervisor can intercept I/O requests
    • Explain the pros and cons of intercepting I/O requests at different system interfaces
    • Describe the overall I/O virtualization process as applied to a network interface card
    • Discuss Xen Project's approach to I/O virtualization

    In partnership with Dr. Majd Sakr and Carnegie Mellon University.

  • Module 6: Carnegie Mellon University's Cloud Developer course. Learn about how storage and network resources can be virtualized to support software defined datacenters.
  • In this module, you will:

    • Recall the design considerations in datacenter networks and describe the need for virtualization to support multiple tenants
    • Compare and contrast traditional datacenter networks and software-defined networking (SDN) for the purposes of multi-tenant networks
    • List the various types of storage systems used in datacenters
    • Compare and contrast traditional datacenter storage and software-defined storage (SDS) and list some of the benefits of SDS

    In partnership with Dr. Majd Sakr and Carnegie Mellon University.

Syllabus

  • Module 1: Share cloud resources
    • Introduction
    • Overview of virtualization
    • Benefits of virtualization
    • Virtualization vs. traditional operating systems
    • Abstractions in computing
    • Interfaces in computing
    • Basics of resource sharing
    • Multiprocessor resource sharing
    • Summary
  • Module 2: Understand virtualization
    • Introduction
    • Formally define virtualization
    • Types of virtual machines
    • Summary
  • Module 3: Virtualize computing power
    • Introduction
    • Virtualize CPU instructions
    • Full virtualization vs. paravirtualization
    • Implement virtualization by using emulation
    • Use virtual CPUs
    • Summary
  • Module 4: Virtualize memory
    • Introduction
    • One-level page mapping
    • Two-level page mapping
    • Memory overcommitment
    • Reclaiming memory and memory issues
    • Summary
  • Module 5: Virtualize I/O
    • Introduction
    • I/O basics
    • Virtualize I/O devices
    • How Xen does I/O virtualization
    • Summary
  • Module 6: Storage and network virtualization
    • Introduction
    • Software-defined datacenters
    • Networking within datacenters
    • Virtual networks for software-defined datacenters
    • Storage within datacenters
    • Software-defined storage
    • Summary

Reviews

Start your review of Virtualization - Sharing cloud resources

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.