Alex Fishman - Virtualizing the Cloud


Published on

Alex Fishman's slid deck from his presentation at OpenStack Israel May 2013

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Alex Fishman - Virtualizing the Cloud

  1. 1. Ravello LabsVirtualizing the cloudAlex Fishman, 05.27.13
  2. 2. ChallengeHow to build a trulyelastic private cloud?
  3. 3. Strategies for building a private cloud➜ Build a data center to accommodate peaks› Expensive to build and maintain› Not efficient because of resource under-utilization› Not truly elastic➜ VPC on a public cloud (Amazon VPC, Rackspace privatecloud)› Can’t run original VM images› Network configuration is limited› Lock in to a specific provider› Perceptually less secure➜ Build a hybrid cloud› Mostly a hype at this moment3
  4. 4. How to achieve elasticity4The only way to build a truly elasticprivate cloud is to utilize publiccloud infrastructure
  5. 5. Challenges of using public cloud➜ Incompatible APIs› EC2, OpenStack flavors, Azure➜ Different virtualization technologies› PV vs HVM› Virtual HW exposed to VM➜ Network topology› Vary from provider to provider› Often rigid and inflexible➜ Storage› Incompatible solutions5
  6. 6. Imagine an OpenStack managing a private cloud builton top of public cloud infrastructure…➜ Building blocks of ourOpenStack private cloud› OpenStack compute nodeson public cloud VMs› Quantum L2 overlay ontop of a cloud provider’snetwork› Abstraction for Cinder,Glance and Swift6Sounds easy… But how do you run an OpenStackcompute node on top of a VM?Public Cloud A Public Cloud BCompute nodes Compute nodesNetwork and Storage
  7. 7. The answer: nested virtualization➜ HVX is a high performancenested hypervisor› Can run on top of any hypervisor› Runs unmodified guest VMs› Supports PV and HVM for bottomvirtualization layer➜ Implements its own set ofvirtual hardware› Compatible with KVM, ESX, XENHVX architecture7Unmodified guestVMGuest VMhardwareHVX hypervisorLinuxCloud VMhardwareCloud VM
  8. 8. HVX highlights➜ High performance› Benchmarks were runwith Phoronix testsuite➜ Advanced memorymanagement› Allows cpu/memoryovercommit byutilizing KSM (pagesharing) and swap8
  9. 9. HVX implementation details➜ Employs binary translation technique› Translates guest binary code into platformcompatible code› 32bit guest into 64 bit host› Replaces privileged instructions› CPU registers are shadowed➜ Performance optimizations› Translated code is cached and chained› Fast shadow MMU implementation› Direct execution or user space code (Ring 3)› PV device implementation for fast IO› Fast context switching between guest and host kernel› Uses Linux for guest CPU scheduling and memorymanagement➜ Memory protection and data isolation› Each guest runs in its own context and cannot accesshvx or host memory› Guest resource usage (CPU/IO) can be throttled ifneeded9..9InstructionInstructionInstruction….Jump to nextTc InstructionTc InstructionTc Instruction….Jump to HVXOriginal guest code Translated guest codeNext:InstructionInstructionInstruction….InstructionNext TC:Tc InstructionTc InstructionTc Instruction….Jump to HVXHVX compiles nextcode section• HVX reads and compiles a guestcode section. It then gets executed.• At the end of each translated codesection there is a jump back to HVXand the process repeats
  10. 10. Combining OpenStack with HVX10Build a fully elastic “virtual” privatecloud built on top of any publiccloud providerAdded bonus: get a truly hybrid cloud by addingcompute nodes that run on top of “real” hardware in aprivate data center
  11. 11. Use cases➜ Cost savings for existing cloud users› EC2 cr1.8xlarge: 244GB, 32 vcpus – $3.5 per hour. Whenrunning 100 VMs: 0.035$ per VM per hour.➜ Dev/Test› Deploy and provision a “virtual” private data center in amatter of minutes➜ DR› Migrate easily between clouds➜ Cloud burst:› Add a new hardware when demand for computingcapacity spikes11
  12. 12. OpenStack demo➜ Configuration:› EC2 VM running a management node› EC2 VM (m3.4xlarge, 4 cpus, 16GB ram) as a computenode 1› HPCloud VM (4 cpus, 16 Gb RAM) as a compute node 2➜ Live migration of a guest VM running on HPCloudcompute node to EC2 compute node12