Hyper: Make VM Runs Like Container Xu Wang <xu@hyper.sh> - - PowerPoint PPT Presentation

hyper make vm runs like container
SMART_READER_LITE
LIVE PREVIEW

Hyper: Make VM Runs Like Container Xu Wang <xu@hyper.sh> - - PowerPoint PPT Presentation

Hyper: Make VM Runs Like Container Xu Wang <xu@hyper.sh> Hyper HQ Agenda Lesson learned from docker Hyper: App-centric VM Hyper and Xen Next step Docker Seems to Beat VM Everywhere Docker announced in 2013 and release


slide-1
SLIDE 1

Hyper: Make VM Runs Like Container

Xu Wang <xu@hyper.sh> Hyper HQ

slide-2
SLIDE 2

Agenda

  • Lesson learned from docker
  • Hyper: App-centric VM
  • Hyper and Xen
  • Next step
slide-3
SLIDE 3

Docker Seems to Beat VM Everywhere

  • Docker announced in 2013 and release 1.0 in 2014
  • Both AWS and Google provide Docker service in

2014, ECS and GKE

  • Several Linux distros for Docker
  • Hot in both VC and developer
  • ……
slide-4
SLIDE 4

Lessons Learned from Docker

  • Docker is amazing
  • It build, ship, and run apps
  • Docker is not simply a new container
  • At the very beginning, Docker = LXC (runtime) + AUFS (image)
  • The amazing part: Docker is app-centric
  • People need run app, rather than a traditional OS
  • The critique of virtual machine is about "machine" rather than

"virtual"

slide-5
SLIDE 5

The Critique of VM

  • The critique of virtual machine is about "machine"

rather than "virtual"

  • Why not make an App-Centric VM
slide-6
SLIDE 6

Hyper: App-Centric VM

  • Hyper = Hypervisor + Docker Image
slide-7
SLIDE 7

How It Works

  • In short: change the Docker container runtime to hypervisor.
  • A bit more detailed:
  • Maintain Images, volumes in host
  • Launch guest with a slim kernel and a special initrd (hyperstart)
  • Pass images, volumes, nic to guest
  • When Init ready, give init a spec of containers to run on it
  • Init mount images and run processes as described in the spec
  • Then it works.
slide-8
SLIDE 8

The Architecture

Hyperd Light,Kernel,on,Hypervisor Initrd:,Hyperstart App, (Docker Image) App, (Docker Image)

  • Light,Kernel,on,Hypervisor

Initrd:,Hyperstart App, (Docker Image) App, (Docker Image)

  • Pod
slide-9
SLIDE 9

Compare with Container

slide-10
SLIDE 10

Hyper is Hypervisor-Agnostic

  • Currently, support: Qemu/KVM, Xen, and VirtualBox
  • Xen and KVM are the most widely adopted cloud hypervisors
  • VirtualBox is an open source cross platform hypervisor
  • Hyper introduce a hypervisor abstract layer, a Hypervisor driver should

have

  • device hot-plug
  • serial ports for init communication, tty, and optional console
  • better to have filesystem share, which is massively used by Docker.
  • Xen 4.5 support is included in Hyper 0.2 in July
slide-11
SLIDE 11

Xen Support in Hyper

  • Hyper use libxenlight
  • Hyper wraps (part of) libxenlight with Go
  • Hyper use Xen FV currently
  • Pros:
  • Xen HVM in 4.5 allow users specify kernel and initrd
  • Qemu in Xen HVM support virtio, and we could share filesystem with guest

through 9p-virtio

  • Cons:
  • HVM boot is much slower than PV
  • PVH does not have emulated device (such as PCI), can not work with virtio
slide-12
SLIDE 12

Next Step

  • Better support for hypervisors
  • Support qboot, pflash in Xen, to accelerate the boot
  • Enable filesystem share in PVH mode
  • Reduce memory consumption with persistent memory technology
  • Towards unikernel (?)
  • Runv
  • hyper runv is a project to run OCI spec on hypervisor
  • has announced and listed in OCI implementation list:
  • https://github.com/opencontainers/specs/blob/master/implementations.md
  • HyperStack
  • Integrate hyper with OpenStack and Kubernetes
  • Hyper runs images in VM, no need to run in VM as Docker
  • Kubernetes can do global scheduling
  • OpenStack has well adopted SDN and Storage API: Neutron and Cinder
slide-13
SLIDE 13

Contribution are Welcome

https://hyper.sh