PA200 - Cloud Computing Concepts

Petr Blaho, Ilya Etingof

Created: 2018-03-05 Mon 22:44

Virtualization

Warm-up

  • What is cloud computing?
  • Cloud traits?
  • Cloud deployment models?

What is cloud computing?

  1. Usage model of computer resources
  2. Networked computers
  3. Distributed computing technology
  4. A collection of heterogeneous computers

Cloud traits?

  1. High availability
  2. On-demand self-service
  3. High performance
  4. Broad network access
  5. Resource pooling
  6. Rapid elasticity
  7. Measured Service

Cloud service models?

  1. Software as a Service
  2. Application as a Service
  3. Platform as a Service
  4. Infrastructure as a Service
  5. Data as a Service

Cloud deployment models

  1. Public Cloud
  2. Private Cloud
  3. Hybrid Cloud
  4. Personal Cloud
  5. Community Cloud
  6. Enterprise Cloud

History of virtualization

  • How old is virtualization?

History of virtualization

  • Early 1960: batch processing
  • 1967: first time-sharing system - IBM S/370-67
  • 2005: Intel VT-x, AMD-V - new instruction set
  • 2005-: VMware, VirtualBox, KVM…

What exactly is virtualization?

  • Multi-programming vs multi-tasking
  • Multi-threading vs multi-tasking vs virtualization?
  • Containers vs OS virtualization
  • CPUs: Multi-core vs Hyper-threading

How did virtualization work before 2005?

  • Well, sloooowly…
  • Basing on 80386 CPU features

Is it cloud already?

  • What is virtualization?
  • What is cloud?

Is it cloud already?

  • Hypervisors
  • Virtualization management and services

Hypervisors

  • Native or bare-metal
  • Hosted

Hypervisors

Full or para-virtualization

  • Full: unmodified OS on top of hypervisor
  • Para: modified OS calls hypervisor API

Examples of native hypervisors

  • XEN
  • MS Hyper-V
  • VMware ESXi

Examples of hosted hypervisors

  • QEMU
  • KVM
  • VirtualBox
  • VMware Workstation
  • FreeBSD bhyve

XEN

  • founded in 2003 by XenSource, bought in 2007 by Citrix
  • 2013 under Linux Foundation as Xen Project
  • native hypervisor

ZEN

KVM

  • Modular kernel virtualization
  • provides user space access to hw virtualization
  • started by Qumranet
  • 2007 merged into linux kernel

KVM

QEMU

  • hosted hypervisor
  • provides CPU and/or hardware emulation
  • can be used with KVM (hardware-only emulation)

QEMU

  • Other practical QEMU use-cases?

Type 1 vs type 2 confusion

  • Linux with KVM
  • FreeBSD with bhyve

VM vs BM hypervisor

  • Hypervisor manages VMs
  • …as well as BMs

Full vs para-virtualization

  • Full: run unmodified OS image
  • Para: OS explicitly calls hypervisor

Para-virtualization

  • Why?

Why is it called Hypervisor?

  • What's behind the name?

Virtualization management

  • Common API to different hypervisors
  • High-level VM lifecycle abstraction
  • Cloud services: networks, storage…

Cloud services

  • OS image deployment
  • Centralized OS configuration
  • Automated network configuration
  • Instance backup/snapshot/migration
  • Centralized user authentication
  • Centralized storage
  • User interface

Examples of virtualization software

  • libvirt
  • oVirt
  • OpenStack

Libvirt

  • Common API for hypervisor type abstraction supports
  • LXC
  • KVM/QEMU, Xen, VirtualBox
  • VMware ESXi and Workstation
  • MS Hyper-V, IBM PowerVM

Libvirt

oVirt

  • Virtualization management platform
  • On top of KVM
  • Upstream for RHV
  • Engine
  • Node
  • VDSM - virtual desktop and server manager

OpenStack

  • Software platform for cloud computing
  • Started in 2010 by Rackspace and NASA
  • In 2012 founded OpenStack Foundation

OpenStack

OpenStack

Hypervisors vs Containers

  • Hypervisors spawn VMs
  • Containers isolates apps to namespaces

Example container software

  • Docker
  • LXC
  • OpenVZ
  • chroot

Cloud features

  • Easy provisioning and configuration
  • Movable resource: snapshot/backup/live migration
  • Consolidation of resources: scale up/down

Cloud features

  • Isolation from host HW and OS
  • Virtual vs Physical machine monitoring
  • Easier testing and evaluation
  • Duplication of environments

Recap: the age of virtualization?

  1. IBM 700/7000, since 1952
  2. CP-40 research project, early sixties
  3. IBM S/370-67, 1966
  4. Gameframes, since 2007
  5. Intel VT-x, AMD-V, since 2005

Recap: virtualization technologies?

  1. Multi-tasking
  2. Multi-threading processes
  3. Containers
  4. Hyper-threading CPU
  5. Multi-core CPU
  6. Intel VT-x, AMD-V
  7. Multi-programming

Recap: hypervisor types?

  1. Hybryd
  2. Bare-metal
  3. Native
  4. Hosted
  5. Para-hypervisor

Recap: what makes up a cloud?

  1. One hypervisor
  2. One or more hypervisors
  3. Baremetal computers
  4. Baremetal switches and routers
  5. Networking service

Recap: virtualization vs containers?

  1. We can run OS in a container
  2. We can run different OS'es in containers
  3. We can run VM in a container
  4. Containers are more secure than VM
  5. Containers consume less resources than VM
  6. We can run Windows app in Linux container

Bonus question: matreshka cloud?

  • Can you run a cloud in a cloud?