Xu Wang <[email protected]> Hyper HQ

Xu Wang <Xu@Hyper.Sh> Hyper HQ

Hyper: Make VM Runs Like Container Xu Wang <[email protected]> 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 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 • …… 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" The Critique of VM • The critique of virtual machine is about "machine" rather than "virtual" • Why not make an App-Centric VM Hyper: App-Centric VM • Hyper = Hypervisor + Docker Image 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. The Architecture Pod App, App, App, App, (Docker Image) (Docker Image) (Docker Image) (Docker Image) Initrd:,Hyperstart Initrd:,Hyperstart Hyperd Light,Kernel,on,Hypervisor Light,Kernel,on,Hypervisor Compare with Container 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 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 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 Contribution are Welcome https://hyper.sh.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    13 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us