盘点 | 这多半年,容器市场都发生了哪些变化?

2015-08-22 22:00


Docker

在DockerCon上Docker公司宣布他们接下来将着重关注Docker在生产环境中的应用,并提出了『可编程互联网』的概念,致力于打造下一代互联网平台;最近Docker又发布了新的1.8版本,具有如下特性:

  • Docker Toolbox。Toolbox 是一个运行在Windows、Mac和Linux上的工具集,大幅度简化了Docker的安装。在此之前,Docker提供了一个叫Boot2Docker的工具,经常需要调错才能成功运行。我个人从来没有在我自己的笔记本上运行成功过Docker,而我一般都是在Google Cloud Platform上的VM中安装Docker,但是现在使用Toolbox在PC上工作非常爽。当然在初始阶段迁移旧Virtual Box时碰到不少问题,但是我卸载了旧系统,重装Toolbox,一切都正常了。这对于想在自己电脑上安装配置Docker的开发者来说无疑是个好消息。
  • Docker Content Trust。Docker在DockerCon上承诺将会专注于改进安全性,这样企业可以将Docker用于生产环境,内容可信是朝这个方向迈进的重要一步。内容可信在Docker镜像中加入公有、私有秘钥对,用户可以验证Docker镜像的发行者,保护镜像不会被伪造、重放攻击和密钥泄露伪装攻击。内容可信采用了NotaryTUF框架,以期能够建立一套分布式应用的最佳实践。
  • Docker Engine 1.8。网络和存储抽象会是下一个整合进容器的主要功能增强。Docker Engine 1.8是走向存储抽象的第一步,在这一版中,Docker还发布了许多存储和日志驱动的插件,另外还发布了很多CLI和运行时的增强。
  • Docker Registry和Compose改进。Docker还发布了很多Registry和编排的增强功能,这些增强大多专注于提高性能和可用性。

最新的Docker发行版在两个月内一下子发布了这么多令人印象深刻的功能增强,不禁令人赞叹不已。

Kubernetes

谷歌的Kubernetes非常迅速的占据了容器市场。不管客户在用Docker还是Rkt,Kubernetes都是事实上管理运行大规模容器集群的标准。尽管Docker有Swarm和Compose也是做这个用的,但是如果碰到容器扩展性问题时,甚至Docker也会告诉你Kubernetes是正确的选择。谷歌目前也在快速迭代各种功能,下面列出的是Kubernetes中一些重要的发布信息:

  • 支持OpenStack。谷歌宣布正式加入OpenStack基金会。这对私有云和混合云领域的公司来说无疑是个好消息。另外,Kubernetes现在可以运行在OpenStack上,而且一些私有云方案也跟Kubernetes整合在一起。期望很快能看到这一领域的更多进展。
  • Kubernetes 1.0 发布。1.0 是一个里程碑。Kubernetes现在可以用于生产环境,并推出了很多引人注目的新功能,例如,集群管理、高性能和扩展性、计算、网络和存储层的抽象服务,一些重要客户,例如Box和Redhat,都开始应用这些新功能。同时,Kubernetes也公布了和CloudBees、CoreOS的合作关系。借助于Kubernetes,客户可以在Google云平台上运行一个可管理的容器服务,或者在任何共有、私有云上运行Kubernetes。

CoreOS

Docker并不是唯一一个容器技术公司,CoreOS也是另外一个重要的参与者。CoreOS有一套容器相关的生态系统。Rkt(发音为“Rocket”),是与Docker容器直接竞争的产品。Alex Polvi,CoreOS CEO,之所以开发了Rkt,是因为他不喜欢Docker的安全机制。Docker使用了一个集中式的daemon,造成所有命令都需要特权级访问(“root access”)。而Rkt则允许用户在Docker中创建容器,而在生产环境中运行Rkt。

今天Docker吸引了太多人的眼球,同时CoreOS也表现近乎疯狂。以下是关于CoreOS的一些发布功能:

  • etcd 2.1。etcd是一个开源的、分布式的、键值一致性的数据库,用于分发配置、发现服务和调度同步。在这一版中,CoreOS发布了很多更新,例如认证、授权API、传输稳定性,etcd服务器之间性能提高、增强集群稳定性等。
  • Tectonic。CoreOS发布了一个新服务,用于运行容器平台的商业发布。包括运行容器(Docker、Rkt和Kubernetes)所需模块的所有支持和服务。有了这个新服务,可以用容器运行可扩展分布式应用并且有7x24支持服务。他们也给客户提供最佳实践培训。这个新服务现在是试运行,但很快会正式发布。
  • 与Mirantis(OpenStack)的整合。紧跟Kubernetes和OpenStack的发布,Mirantis宣布与Tectonic整合。 这是容器与私有云结合重要一步。如我前述,容器是实现混合云的关键技术。Mirantis的整合使得高效设计公有云、私有云和混合云成为可能。推荐重点关注。

Apache Mesos

Mesos是容器领域另外一个主要参与者。Mesos用于管理和调度大规模应用(例如Hadoop、Spark,ElasticSearch和其他大数据技术)的部署。Mesos整合了Docker、Rkt和Kubernetes。以下列出Mesos的一些重要特性:

  • Mesos 0.23发布。最新的版本有很多引人注目的功能改进和新特性。Mesos现在提供创建持久化卷的能力,这个功能对基于状态的服务来说是个利好消息,例如HDFS、Cassandra等。资源利用率的优化,可以避免服务的过度调用。其它关于安全、性能和监控的增强特性也随之发布。
  • Mesosphere 0.9.0发布。有很多增强和新特性,包括与Docker整合,存储方面和ZooKeeper整合等等。
  • Mesos将登陆Windows平台。MesosCon上,Mesosphere公开了在Windows Server 2016预览版本上运行Mesos的Demo。Mesosphere联合创始人表示,现实中许多企业在数据中心是同时使用Linux和Windows。所以,Mesos用户希望能使用一个既能在Linux机器又能在Windows Servers上运行的容器管理工具来执行任务。

总结

容器技术的发展异常迅猛,并且所有的方案都是开源的。建议不参与开源的公司也重点关注这些技术。容器作为一个独立产品或者服务,两年前还不存在,现在已经有四家供应商以难以置信的速度提供看先进的方案。另外还有很多初创公司在填补着安全、容器管理、监控等方面的空白。所有这些新公司都是开源的。DevOps和开源开发模式的组合使得这些公司得以持续飞速发展,而这些是闭源公司不可想象的。尽管只有两年的发展,但是基于微服务架构的容器方案从茵茵绿草成长为参天大树只是时间问题。