Bootstrap

关于Docker你不知道的事——虚拟化历史

关于Docker你不知道的事——虚拟化历史

整个虚拟化技术的发展有超过半个世纪的历史。虚拟化一般分为硬件级虚拟化(hardware-level-virtualization)和操作系统级虚拟化(os-level-virtualization)。硬件级虚拟化是运行在硬件之上的虚拟化技术,它的管理软件也就是我们通常说的hypervisor或者virtual machine monitor,它需要模拟的就是一个完整的操作系统,也就是我们通常所说的基于Hyper-V的虚拟化技术,VMWare, Xen, VirtualBox,亚马逊AWS和阿里云都是用的这种技术。操作系统级虚拟化是运行在操作系统之上的,它模拟的是运行在操作系统上的多个不同进程,并将其封装在一个密闭的容器里面,也称为容器化技术。Docker正是容器虚拟化中目前最流行的一种实现。

硬件级虚拟化的历史

  • 19世纪60年代:美国出现了第一个虚拟化系统,它是由IBM开发的CP-40 Mainframes系统,虽然这个系统只是在实验室使用,但却为后来的CP-67系统奠定了基础。在那个时代,虚拟化系统主要由通用,贝尔实验室和IBM主导研发。
  • 1987年:一个非常牛逼的公司Insignia Solutions演示了一个称为SoftPC的软件模拟器,这个模拟器允许用户在Unix Workstations上运行DOS应用。在此之前这是不可能办到的,当时一个可以运行MS DOS的个人电脑需要1,500美金,而通过SoftPC模拟之后,可降低到500美金。可以看出,当时的需求就是在大型工作站上运行微软的DOS。到了1989年的时候,Insignia Solutions发布了Mac版的SoftPC,使苹果用户不仅能运行DOS,还能运行Windows操作系统。
  • 1997年:随着SoftPC的一炮而红,其他虚拟化公司如雨后春笋般的出现了。在1997年,苹果开发了Virtual PC,后来又卖给了Connectix。
  • 1998年:真正的王者VMWare出现了,他们在1999年开始销售VMWare workstation,也就是我们很多人使用过得桌面版的虚拟机。
  • 2001年:VMWare又发行了ESX和GSX,也就是我们现在经常使用的ESX-i的前身。
  • 2003年:之前所说的Connectix被微软收购,后续推出了Microsoft Virual PC,再之后就没什么音讯了。同年VMWare也被EMC收购,成为EMC迄今最成功的一笔收购。就在这一年,一个开源的虚拟化项目Xen启动了,并在2007年被Citrix收购。
    总结:看了这个历史,不禁内心发出感叹。Insignia Solutions的衰败,Connectix的没落,以及VMWare的半路杀出,都说明了商业和科技的竞争是不间断的,就像是一场长跑,一开始领先的,往往并不是最后的胜利者,你不进步,就肯定会被超越。

操作系统级虚拟化的历史

  • 1982年:你一定会很惊讶,第一个操作系统级的虚拟化技术是什么。答案就是chroot,直到现在我们依然在使用的一个系统调用。这个系统调用会改变运行进程的工作目录,并且只能在这个目录里面工作。这种操作其实就是一种文件系统层的隔离。
  • 2000年:FreeBSD jail,真正意义上的第一个功能完整的操作系统级虚拟化技术。所以,真正的容器化技术出现到现在已经过去了16年,并不是几年的时间。
  • 2005年:OpenVZ,这是linux平台上的容器化技术实现,同时也是LXC,即docker最初使用的容器技术核心实现。
  • 2008年:LXC发布,这是docker最初使用的具体内核功能实现。
  • 2013年:Docker发布,可以看出,docker最初是使用了LXC,同时封装了其他的一些功能。Docker的成功,与其说是技术的创新,还不如说是一次组合式的创新。
    总结:曾经听一位老大说过,iPhone你要说有多创新,真的说不上。手机很早就有了,电脑很早就有,触摸屏很早就有,但是苹果将所有这些有机的组合到了一起,再提供极致的用户体验,就产生跨时代的产品。同样Docker所使用的技术也都不是新技术,它将这一系列技术有机的组合到一起,并提供极致的用户体验,就产生了垮时代意义的产品。
;