从AWS的起步到今天的容器生态系统的发展,十年的IT转型让新工具、新API、新技术、新算法都掌握在开发者手中。向以开发者为中心的世界的最新重大转变是Docker生态系统的兴起。
如果有什么是开发者喜欢的,那就是编码。所有这些基础设施问题——包括从定义网络到处理基础设施运营商3354的一切都是令人讨厌的开销。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(软件定义网络)。这允许您建立一个网络。——这一切都是通过软件完成的。——这使得跨主机通话更加容易,而无需任何复杂的布线工作。"
比如说muath :“你可以在一个主机上有多个容器,但是将一个容器从一个主机移动到另一个主机是一个问题——,尤其是当你想要数据和它一起移动的时候。弗洛克是一个解决方案。”ClusterHQ的Flocker旨在解决管理有状态容器的问题。例如,一个组织可能在一个容器中运行一个数据库,他们可能不喜欢破坏容器并重新开始。
穆阿特谈到了管理大型集装箱船队的挑战。"如果你有一个巨大的集装箱网络,你如何管理它们?"你如何决定哪一个工作在哪个容器中,[以及]你需要多少个容器?关于监控、作业控制和扩展,你会怎么做?"
穆阿特描述了如何用“另一种不同的排列,如中间层”来取代默认的Docker排列。谷歌的Kubernetes和CoreOS也参与了类似于Fleet的东西。"
简单地用一种成分替换另一种成分是有局限性的。Docker没有提供添加许多附加组件的扩展模型。开发者不能同时使用Weave和Flocker,因为它们都想把自己包装在Docker二进制文件中。
Mouat描述了ClusterHQ和其他人是如何提出Powerstrip解决方案的。Powerstrip是一种在Docker中插入扩展的方法。本质上,这是一种基于Docker守护程序通过HTTP进行通信的攻击。您可以截取那个调用,做好自己的工作,然后将连接传递给Docker。Mouat继续说道,“在Docker客户端和daemon之间使用Powerstrip时,首先调用Powerstrip,然后调用Weave,再调用Flocker,然后将power strip传递给Docker daemon。”
在新容器中启动的新应用程序需要知道在哪里可以找到服务。容器需要某种带有配置答案的中央权威。穆阿特说:“ETCD的解决方案是,你进入这个分布式键值存储,问它——我在哪里可以找到我的数据库。”“ZooKeeper差不多是——,就是Hadoop用的那个。”
这些问题之前已经解决了,有些可以扩展到Docker。JFrog Artifactory是一个二进制存储库管理器,最近已经扩展到管理Docker二进制文件。Cloudsoft在Apache Brooklyn中加入Clocker,构建Docker云系统。Ansible和Puppet可以管理码头工人。
Docker生态系统还年轻,不完整。但令人惊讶的是,这么多空白都被填上了。
免责声明:TechRepublic、ZDNet和Tech Pro Research是CBS的互动财产。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!