Oct 252017
 

其实回顾一下虚拟化和容器的发展历程,很大程度是惊人相似。我这里其实肯定不是很严谨的描述。仅仅是大概介绍一下过程。

虚拟化

技术

商业的虚拟化技术其实也不少。开源的的也是一样。著名的就是Xen和KVM两家。

  1. Xen
  2. KVM

Xen是2003年发布。KVM进入linux内核,真正第一个操作系统支持,当时据说是:ubuntu 8.04,也就是2008年,当时的KVM,还是一个玩具.

2010年,红帽发布RHEL 6.0,KVM算是正式进入主流。当时全球虚拟化,公有云,基本都是Xen的天下。

经过了5年的PK,现在已经是KVM独大。目前AWS,阿里云,已经全面转向KVM。

Xen的没落,很多原因,其中一个,就是intel搞了一套cpu虚拟化的东西,帮助kvm胜出。

KVM的想法其实应该是2006年,为了对抗Xen,intel,红帽,IBM,联手搞出一个KVM,放到内核里。

抽象层

那么多虚拟化引擎,那么肯定有人想到要做一个统一管理工具,这样可以管理多个。这样Libvirt就出现了。

Libvirt最擅长管理KVM,不过其实别的都是可以管理。

Libvirt_support.svg

管理引擎

虚拟化的技术,其实需要有管理工具,那么他的管理工具有哪些呢

  • OpenStack
  • CloudStack
  • Eucalptus
  • OpenNebula

其实还要很多,这些管理工具,当时是能管理Xen和Kvm,也有专门针对某个虚拟化的管理工具

  1. Xen Server,专门管理Xen
  2. Ovirt,专门管理KVM

这些工具,从2008年,一直pk到2014年,终于分出的高低。最后是OpenStack+KVM胜出。

管理引擎,也是通过抽象层,Libvirt去管理KVM的。

产品化

其实就是针对管理引擎的产品化。你需要把管理引擎包装出来,加上很多辅助的工具,让用户用的很爽。

  1. 红帽TrippleO
  2. Mirantis的Fuel
  3. Kolla

其实Ubuntu和Suse,都有他们的产品。

Mirantis的Fuel和Suse的Crowbar,大概是2014年出现,到现在也经历了3年多。从我的角度,最终就是Kolla彻底胜出,毫无悬念啊。

OpenStack的创业公司,目前还能有口饭吃,其实是要谢谢红帽。红帽因为在OpenStack上的策略有所失误,导致没能在OpenStack一统天下。要记住啊,

  1. 当年kolla项目可是TrippleO的一个子项目,
  2. Kolla项目的创始人,也是红帽的工程师,
  3. ansible,Ceph都是红帽自家产品啊,
  4. Cobbler,也是Ansible公司的人在维护。
  5. libvirt,qemu,kvm都是红帽的

谢谢红帽给大家留口饭吃吧。

容器

技术

容器的技术,起源很早,我最早接触是OpenVZ,这个让国内很多卖虚拟机挣钱的软件。对于开源,流行的容器来说

  1. LXC
  2. Docker
  3. LXD
  4. RTK
  5. Clean container

LXC,国内互联网2010年就开始使用。不过目前最流行的是Docker,

Docker从2013年发布到现在,其实发展速度很快,很多厂商都来不及响应,这个东西就成为主流。这个时候,intel又想重施故技,搞一个和cpu有关的容器技术,所谓的Clean Container.

不过这次由于Docker发展过于迅速,intel这次搞容器,完全是自己玩,不像当年和红帽勾搭在一起。所以很难在市场立足。

抽象层

和虚拟化其实一样道理,底层那么多容器技术,如何方便管理呢。

CRI Interface, Container RunTime Interface,就出现了,做了一层抽象后,各个厂商就可以和平共处。

dockerkubernetesintegrationmap-octotechnology

管理引擎

对于容器来说,也叫编排引擎,这个大家就比较熟悉3大编排引擎

  1. K8S
  2. Swarm
  3. Messos

K8S是从2014年7月份推出,到2017年7月份,基本上是完胜。厂商纷纷投降。K8s+Docker

和虚拟化也是一样,目前K8s,是通过CRI,去管理Docker。

产品化

用户要用起来,要把k8s,或者messos用起来,那么还是需要做很多工作。业界最著名的产品就是

  1. OpenShift
  2. Racher

国内的很多容器公司,k8s公司,其实都是在做类似的工作,在K8s上增加自己定制,形成自己的产品。包括现在CloudFountry,都号称要支持K8s。

背后的故事也很多,Racher当时号称要管理3个引擎,k8s,swarm和messos,最新的2.0的版本,就只管理K8s。

还是红帽厉害,2014年K8s发布,马上转方向,全面发力K8s,包装自己的OpenShift产品。

当红帽已经做出势头的时候,那是无人能敌的。这种K8s的产品化,基本也是毫无悬念,OpenShift胜出。

Snap1

 Leave a Reply

(required)

(required)