Docker的未來
Dokku的作者以及Docker早期的貢獻者Jeff Lindsay在CenturyLink的一個采訪中討論了他正在參與的Docker的相關項目以及他們打算如何解決涉及到面向Docker服務的架構的問題。
Jeff聯合Flynn開發了一個類似Heroku的下一代開源PaaS平臺。他的目標是像Heroku這樣的PaaS服務商一樣,使用容器作為服務代替虛擬機:
我非常希望容器能成為理想的日常工具。[...] 人們使用容器的方式更像是SaaS,所以當你運行容器時將會使用給定的API來管理和重新配置它,你不需要像之前那樣修改配置文件。[...]我就是喜歡提供API的所有系統。
有幾個項目就是圍繞Docker來開發的,以便構建面向服務的架構。
Discoverd是一個簡單又強大的服務發現系統,目前基于Etcd,但是也可以使用ZooKeeper或者其它的分布式一致性存儲系統。 類似Consul和Etcd這樣的項目只是提供基礎的服務發現功能,但是Discoverd在它之上提供了一個更加具體和更易擴展的API來實現服務發現。
Ambassadord是 Docker遠程代理(Ambassador)模式的實現,它允許跨主機連接Docker容器,支持靜態轉發、基于DNS的轉發或者基于 Consul+Etcd的轉發。通過使用iptables,Ambassadord可以基于端口來選擇跳轉到哪個主機,因此,集群中只需要一個代理即可。
Registrator(原名Docksul)是一個為Docker而設計的服務注冊項目,它監聽跨主機運行的容器的啟動和停止,檢查并向Consul或者Etcd注冊它們(容器)。
Consulate是由Consul、Ambassadord和Registrator驅動的針對Docker的分布式服務發現和路由網格的項目。Consulate在主機中運行后,集群中的任意容器之間都可以互相通信,它是軟件定義網絡方案的一種選擇,它使用服務發現技術。
Duplex是一個簡單的應用程序通訊協議和庫,受ZeroMQ的啟發,它打算在一個弱中間人的(brokerless)的消息架構中運行RPC。Duplex允許在libchan之上運行RPC并支持完整的RPC語義,libchan是Docker的輕量級網絡包。
Configurator把傳統的軟件配置文件如Nginx、Haproxy、Apache轉變為工具。它也是confd的一個替代,可以在無中心存儲的情況下運行。Configurator暴露出來的REST API可以通過程序的方式來修改這些服務的配置。
此外,Jeff也在開發Manifold,Manifold是一個基于Consulate的服務發現和分布式調度系統。Manifold用以替代Apache Mesos,它不僅簡化了概念模型,而且還易擴展和可控制。Manifold類似于CoreOS的Fleet,它允許定義在集群中部署容器的策略,但是并沒有綁定Systemd。
另外,為了更好的促進Docker在國內的發展以及傳播,InfoQ開設了《深入淺出Docker》專欄,邀請Docker相關的布道師、開發人員、技術專家來講述Docker的各方面內容。InfoQ希望Docker專欄能幫助讀者迅速了解Docker,希望新的技術、新的理念能讓更多的人受益。
查看原文鏈接:http://www.infoq.com/news/2014/08/the-future-of-docker
來自:http://www.infoq.com/cn/news/2014/08/the-future-of-docker