You may heard of Docker, VMWare, or cloud computing, and one thing that is essential to them, virtualization. Actually this is not some state-of-art technology, but exists almost half a century.
What is virtualization?
Wikipedia: Virtualization refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, storage devices, and computer network resources.
Well, computer system can be partitioned into several layers in this way:
- Application
- Library
- OS
- Hardware
each layer uses abstract interface to call and communicate with the lower layer. And virtualization can be applied to each layer. For cloud computing, virtualization of hardware is more important as it provides the infrastructure.
Focus on hardware virtualization
Basically, there’re two types of hardware virtualization:
Full virtualization – almost complete simulation of the actual hardware, OS and application can be run as if in physical machine.
Paravirtualization – a hardware environment is not simulated, OS needs adaptation to run.
How to perform hardware virtualization
Key technology in hardware virtualization including:
- CPU Virtualization
- Memory Virtualization
- I/O Virtualization
- Network Virtualization
What’s new in virtualization
Migration allow VM transfer from different physical environment without feeling interrupted.
Snapshots store the state of the VM and can be restored later.
Failover
Products & Solutions
- VMware
- VirtualBox
- Xen
- OpenStack