探索中国CIO人才现状 | 第四季调研报告
IT风向标:应用程序容器正入侵数据中心
2015-10-12  来源:techtarget

对于基础设施和运营团队而言,应用程序容器的发展是一把双刃剑。

哪儿来的这么大动静?其实是由开发人员研发的数以百万计的Docker应用程序容器产生的,并以迅雷不及掩耳之势直侵企业数据中心。

的确,开发人员利用Docker的热情从未如此之高。应用程序容器项目和公司在2013年出炉,但它的价值已经超过10亿美元。Docker容器已经被下载超过4亿次,在Docker 中心已经有超过100000个“Dockerized”应用程序。Docker应用程序容器产生的,并以迅雷不及掩耳之势直侵企业数据中心。

对于基础设施和运营团队而言,应用程序容器的发展是一把双刃剑。好的一面是,容器是一个轻量级的虚拟化形式,可以非常有效地利用底层基础设施——容器用户报告,容器的密度是十倍以上,在一个管理程序上运行的虚拟机。因为很多容器实现是开源的,它也是一个成本效益——有时甚至是自由形式的虚拟化。

但是容器的优势也是自己的弱点。容器很小,处于不稳定的状态,它的出现和消失都很迅速。监测公司New Relic最近分析了收集到的数据,作为其新的Docker监测服务的一部分,并发现绝大多数的Docker容器寿命不到五分钟。这使我们认为容器是一个新的服务器。

“我们曾把服务器比作宠物和牛,”New Relic企业营销的高级主管Abner Germanow说,“现在,我们有一个新想法——把服务器比作细菌。”

推动容器标准化

最近几个月,致力于实现容器标准化和加强管理的强度逐渐增大。今年6月,Docker宣布将在Linux基金会捐赠应用格式的代码和运行时的OCP (新开放容器项目),以避免分裂。值得注意的是,促进自身Rocket容器格式的CoreOS(核心操作系统)签约成为OCP的成员。

7月,谷歌宣布其Kubernetes项目已经达到了1.0版本状态,也在Linux基金会为新的原生云计算基础捐赠代码。在启动仪式上,包括22个成员国的基金会,囊括了谷歌、Docker、CoreOS和Mesosphere。

成为微服务架构的一部分时,容器显得尤为丰富,Ubuntu产品经理 Dustin Kirkland说,他也是Ubuntu Linux发行版的赞助商,支持Docker应用程序容器以及容器更传统的操作系统。在微服务配置中使用应用程序容器,“将单个进程装进应用程序容器是一种趋势,然后把它们安排在大型复杂的服务中。”他说。

但是当你有很多单个进程应用程序容器时,可能会变得手忙脚乱,Dustin Kirkland说:“最初将几个应用程序容器化是很容易的,但是当你掌握要点,你就进入了需要一个容器编配和管理层的领域。”因此,Kirkland倾向于认为容器是珍贵的宝贝而不是消耗品细菌。“容器越小,就需要越多的关注和呵护。”

集中式容器

多年来,开源团体一直在平台上工作,用工具来管理和协调动态微服务环境,随着Docker应用程序容器的出现,这些项目获得更大的动力。

Apache Mesos项目是一个分布式系统内核,构建跨组数据中心资源如计算、网络、存储和应用程序,通过访问这些资源进行决断。

遗留数据中心的问题是,“有些人说‘我想在那台机器上运行’,” Mesosphere高级副总裁Matt Trifiro说。(Mesosphere销售Mesos的商业版本,它被描述为“数据中心操作系统”)这样一个资源调度器和Linux init系统通过元素的结合,中间层抽象硬件和结构给应用程序提供它们想要的资源,Trifiro说。

CoreOS CEO Alex Polvi说,CoreOS也正在努力扩展容器的好处。从一个容器和谷歌Kubernetes容器编排系统出发,CoreOS构造添加工具,如Fleet这样一个集群管理工具,它提出了集群好像有一个初始化系统,可以把整个CoreOS集群当做一台节点来处理,Flannel让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址。

“你需要的不仅仅是Docker建立一个有用的系统,就像盖房子时,你需要无数个钉子一样,即使房子里已经遍布钉子,” Polvi说。

同时,Docker作为事实上格式化的应用程序容器,试图充分发挥其领导地位,它也正在开发一系列的工具,可以帮助容器编制和管理。例如Docker集群、Docker网络和Docker组件,都在Orca发起的项目下重整旗鼓。供应商通常提供的PaaS (平台即服务)正在增加他们的容器管理功能,包括Red Hat、Deis和Jelastic等等。

与此同时,还存在闭源容器管理方法的问题。例如StackEngine最近发布了其应用程序容器中心,提供配置管理、应用程序部署、编制和运营管理,是专为开发人员和运营团队使用而设计的。“Mesos和Kubernetes是复杂的,有很多构建块,” StackEngine创始人兼首席执行官Bob Quillin表示,“我们解决同样的问题,但这些问题通常来自于企业。”