Virtualization-the cloud enabler
Pravin Hanchinalpravinhanchinal.com
What is Virtualization?
Virtualization is the ability to run "virtual machines" on top of a "hypervisor“
Virtualization and Cloud Computing
• Virtualization is the ability to run "virtual machines" on top of a "hypervisor“
• A hypervisor provides a uniform abstraction of the underlying physical machine.
• Abstraction in the key idea in Service Models of Cloud!
Timeline of Virtualization
• 1970s: virtual machines first used
• 1990s: x86 becomes prominent server platform
• 1999: VMWare first product to virtualize x86
• 2006: AMD and Intel offer hardware support
Benefits of Virtualization
• Greatest Cost Savings• Highest Server Utilization• Built-In High Availability• Zero Downtime Failover• Best Performance• Unmatched Reliability• Superior Security• Lowest TCO• Fastest, Easiest Management
* Image soruce: http://whitehatvirtual.com/blog/bid/334816/Top-5-Benefits-of-Desktop-Virtualization
What is a Virtual Machine (VM)?
• A virtual machine (VM) is a software implementation of a machine that executes programs like a physical machine.
• Each VM includes its own kernel, OS, supporting libraries and apps.
Some scenarios
The desktop user who wants to run a copy of Windows on his Linux computer running simultaneously
Some scenarios
A cost controller who wants to substitute 17 idling real machines with a multiprocessor machine and 17 virtual machines running on it.(Codenvy / Cloud9 IDE)
Some scenarios
A programmer who wants to test his programs on a platform the customer is using. (Genymotion)
What Virtual Machines provide?
– Hardware independence VM sees the same hardware regardless of the host hardware
– Isolation VM’s operating system is isolated from the host operating system
– Encapsulation Entire VM encapsulated into a single file
Virtual Machines Classification
Process virtual machine ● designed to run a single program, which means
that it supports a single process● E.g. JVM, Dalvik,..
System virtual machine ● provides a complete system platform which
supports the execution of a complete operating system (OS)
● E.g. VirtualBox, Parallels Workstation, Xen,..
Architecture viewpoint differences
1. Traditional
2. Hosted virtualization
3. Bare-metal virtualization
VMM / Hypervisor
▪ VMM: Virtual Machine Monitor▪ Small special purpose operating system✓ Each process acts like a separate computer or VM✓ Can run a full OS in each virtual machine
Types of hypervisors (VMM)
• Type 1 (or native, bare metal) – run directly on the host's hardware to
control the hardware and to manage guest OS.
• Type 2 (or hosted) – run within a conventional operating
system environment.
How to execute guest instructions on a host?
Interpretation(emulation)
Slow execution speed, but easy implementation
Translation
Dynamic translation (JIT): translation while running
Static translation (AOT): multiple binary problemComplicated but faster execution, especially with optimizations
Run directly on the hardware
When the host and guest ISA are binary compatible
Pros and Cons
Pros:SandboxHardware independentOS independentFast RecoveryLive BackupMigrate dataReduced HardwareRun Multiple OS SimultaneouslyCost savingsUse of Multicore processorsSystem SecurityTest and Development
Cons:Less EfficientUnstable PerformanceTools lack abilityRapid DeploymentLatency of Virtual DiskBackup and Data SetsSecurity IssuesHardware compatibility issuesManaging and Securing is difficult
Virtualization Enterprise Perspective
Reduced cost–Improve server utilization–Reduce hardware costs–Reduce power consumption
Agility–Operational scalability–Rapid provisioning
Security–Isolated Systems
Enough! Let's see in Action
Source: http://www.crackerjackann.net/blog/is-a-lack-of-leads-frustrating-you
Thank you
more presentations athttp://pravinhanchinal.com/presentations
Stay connected
pravinhanchinal.com
Useful Resources
http://inspiregroups.co.in/our-blogs/cloud-computing/
https://www.youtube.com/watch?v=3j3f5l2La7I
http://www.citrix.com/products/xenserver/overview.html
http://www.zdnet.com/virtualisation-suites-compared-7000001456/
http://wiki.xenproject.org/wiki/Xen_Beginners_Guide