我们经常会听到虚拟化这个专有名词,其一般是指将一台物理服务器,分割成多台小的虚拟服务器的技术。如果追本溯源,在虚拟化技术出现之前,技术人员采用的是“模拟(Emulation)”的方法来实现节约成本的目的。
相比虚拟化技术,传统的模拟方式有一个很大的弊病,所有的硬件都需要模拟,包括CPU。而虚拟化技术的出现逐渐得到人们的认可;通过简单的虚拟机,就可以将一个虚拟服务器看起来像一台独立的设备。
Xen主页
Xen是一个最初由剑桥大学开发的开放源代码虚拟机监视器。Xen于2003年问世,后来取得了很好的成绩;是运行在裸机上的虚拟化管理程序 (Hypervisor)。由于Xen采用的是半虚拟化技术,所以,需要将操作系统进行修改才能在Xen上运行,但同时也意味着Xen能无需特殊硬件支持 就能达到高性能虚拟化。
相较于红帽后来推出的KVM,Xen支持非中断动态迁移,可以允许动态负载均衡和例行维护,几乎没有宕机时间。但是,Xen操作比较复杂,维护成本也比较高。
容器时代来了?
而VMvare在虚拟化领域一直独领风骚,同时继Xen之后KVM、Hyper等虚拟化产品相继出世,另一方面,容器技术逐渐发展成熟,Docker更如日中天。很多人惊呼:容器时代来了,未来虚拟化之路不再是坦途。
Docker VS 虚拟机
毕竟,相比容器技术的秒级启动,虚拟化的启动时间就显得有些漫长,同时虚拟镜像太大,动辄几十GB。根据StackEngine的调查,容器技术得以迅速传播的原因除了良好的社区氛围,还有价格优势。
但是,容器技术还属于新兴技术,虽然包括腾讯、阿里等企业已经开始部署Docker,但是目前Docker仍然无法完全替代虚拟机,两者更不是简单的取舍关系。
容器与虚拟机建构对比
对于虚拟化的未来,Ovum公司基础设施系统首席分析师Roy Illsley表示:“大约12年前,当VMware刚刚开始起步时,就已经存在一款劲 敌技术了——Parallels Virtuozzo。其是操作系统的虚拟化,而不是机器虚拟化。”而十二年过去了,Docker正在走 Parallels的老路。
而笔者认为,第一,虚拟化技术并非适合所有的企业,但是对于金融等大型企业,虚拟化仍然是他们降低成本,优化性能的最好方法。
第二,未来,桌面虚拟化将成为虚拟化发展的一个重要方向。随着移动办公需要的增长,桌面虚拟化将更加普及,但是,桌面虚拟化所面临的远程访问、安全责任问题还有待解决。
第三,SDN、NFV和网络虚拟化成为热点之一。实际上,目前已经出现很多企业级的NFV解决方案;SDN和网络虚拟化能够让企业不再依赖于单一的硬件厂商。