导航菜单

附加组件填补了Docker生态系统中的企业空白

从AWS的启动到今天容器生态系统的发展,十年的IT转型将新工具、新api、新技术和新算法交到开发人员手中。向以开发人员为中心的世界的最新重大转变是Docker生态系统的兴起。

如果说开发人员喜欢什么,那就是编码。所有这些基础设施问题——包括从定义网络到处理基础设施运营商的所有事情——都是恼人的开销。Docker是一个Linux容器系统,它就像一粒药丸,可以消除基础设施的痛苦(如果你在ops工作,你现在可能会有耳鸣的声音)。

开发人员应该热爱Docker。它简化并加速它。例如,Docker允许开发人员将基础设施视为代码。它们的应用程序被整齐地打包在Docker容器中,很容易在基础设施中复制,从开发到测试,再从测试到生产。通过添加Kubernetes等第三方管理工具,Docker基础结构可以被描述为YAML文件——开发人员的大本营。漂亮和整洁。

Docker被作为平台出售,以帮助开发人员创建分布式应用程序,但是Docker在某些领域还不是很热门。

Container Solutions是一家总部位于阿姆斯特丹的咨询公司,总部位于Docker。Adrian Mouat是Container Solutions公司的首席科学家,也是《使用Docker》一书的作者。我借此机会在2015年伦敦QCon开发者大会上与Mouat进行了交谈。穆阿特举了一个问题的例子。“你可以在一个主机上有多个容器,但将一个容器从一个主机移动到另一个主机是一个问题——尤其是让它的数据与之一起移动。让Docker开箱即用,与不同的主机进行通信要困难得多。”

Docker生态系统已经成长起来,可以将这些领域中的分布式应用程序点连接起来。

Docker非常适合云开发,但它是一个单一的盒子解决方案,没有提供企业所需的大型组件。各组织一直在推出自己的解决方案来填补空白,在此过程中创建了一个完整的Docker生态系统。

Docker的人决定自己填补这些空白,以创建一个更有吸引力的平台。Docker的软件工程师Jessica Frazelle将解决这些问题的Docker方法描述为“包括电池,但可以更换”。这意味着Docker提供了一套完整的默认组件,但是可以轻松地用第三方产品替换它们。

Docker开箱即用将与同一主机上的不同容器通信。在不同的主机上使用容器会变得更加困难,”Mouat解释道。Docker购买SocketPlane是为了提供它的“附带电池”的解决方案。

穆阿特解释了Weave是一种“可更换电池”的解决方案。Weave是一个SDN(软件定义网络)。这让你可以建立一个网络——这一切都是通过软件完成的——这使得跨主机通话变得更容易,而不需要做任何复杂的布线工作。”

穆阿特说:“你可以在一个主机上有多个容器,但是将一个容器从一个主机移动到另一个主机是一个问题——特别是如果你想要数据随它移动。Flocker就是一个解决方案。”来自ClusterHQ的Flocker旨在解决管理有状态容器的问题。例如,一个组织可能在一个容器中运行一个数据库,他们可能不喜欢破坏这个容器然后重新开始。

穆阿特谈到了管理一个大型集装箱船队的挑战。“如果你有一个巨大的集装箱网络,你如何管理它们?”你如何决定哪个工作在哪个容器中,[以及]你需要多少容器?对于监视、作业控制和扩展,您会怎么做?”

穆阿特描述了如何将默认的Docker编配替换为“另一个不同的编配,比如Mesosphere”。谷歌的Kubernetes和CoreOS也参与了类似Fleet的事情。”

简单地用一个组件交换另一个组件是有限的。Docker没有提供用于添加许多额外组件的扩展模型。开发人员不能同时使用Weave和Flocker,因为它们都想把自己包裹在Docker二进制文件中。

Mouat描述了ClusterHQ和其他人是如何提出Powerstrip解决方案的。Powerstrip是一种将扩展插入Docker的方法。它本质上是一种基于Docker守护进程通过HTTP进行通信这一事实的攻击。你可以拦截那个呼叫,做你自己的部分,然后把连接传给Docker。”Mouat继续说,“在Docker客户机和守护进程之间使用Powerstrip时,首先调用Powerstrip, Powerstrip然后调用Weave,然后调用Flocker,然后将Powerstrip传递给Docker守护进程。”

在新容器中启动的新应用程序需要知道在哪里可以找到服务。容器需要某种带有配置答案的中央权威。穆阿特说:“etcd解决方案是,你进入这个分布式键值存储,然后问它——我在哪里可以找到我的数据库。”“ZooKeeper也差不多——就是Hadoop使用的那个。”

这些问题以前已经解决过,其中一些解决方案可以扩展到Docker。JFrog Artifactory是一个二进制存储库管理器,最近扩展到管理Docker二进制文件。Cloudsoft将Clocker添加到Apache Brooklyn中,以构建一个Docker云系统。Ansible和Puppet可以管理Docker。

Docker生态系统还很年轻,而且还不完整。但令人惊讶的是,已经填入了这么多空白。

免责声明:TechRepublic、ZDNet和Tech Pro Research是CBS的交互式属性。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。