AWS和Docker集成標志著Linux容器的新紀元
本文中,Docker的CEO Ben Golub討論了和AWS的集成以及這個大受歡迎的容器技術的未來發展。
Ben Golub,Docker公司的CEO引領了自從2005年Roby on Rails嶄露頭角之后崛起快的最技術之一。
過去的19個月,他的公司將一項確保云規模應用移植性的新容器技術進行了普及。亞馬遜Web服務(AWS)在它的re:Invent會議上發布了Elastic Computer Cloud(EC2)容器服務,成為“三大”云廠商中第三個加深對Docker支持力度的廠商。
那么在Golub看來,AWS和Docker集成的事情,EC2容器服務和其他競爭者提供的服務區別在哪里,Docker和前幾代的容器技術差別在哪里,它又會如何向前發展呢。
AWS在re:Invent上宣布了EC2容器服務。這個服務和AWS之前與Elastic Beanstalk還有Google的Kubernetes有什么不同呢?
Ben Golub: 通過AWS,你看到的是對Docker本地接口非常大量的使用,和Docker Hub的更好的集成,Docker Hub是我們的托管服務,它提供對超過50000臺Docker化的應用,語言和框架的注冊和訪問,這樣人們可以使用像私有注冊表這樣的東西和工作流的功能。這已經成為一個顯著的新的集成到AWS的基礎架構中,那么[區別是]使用Availability Zones,安全功能,和整個范圍內的實例的能力。
Kubernetes是一個Google贊助的項目,于是就有了一個Google 容器引擎,相當于AWS EC2容器服務的Google計算引擎。我們很高興AWS的集成使用的是Docker的本地接口并且和Docker Hub進行了集成。
容器怎么都不能算是一個新的技術。為什么現在Docker卻受到越來越多的關注?到底是什么改變了?
Golub:我們經常會使用集裝箱來打比方。在Docker以前,你看到的只是密封的箱子。曾經有很多針對Linux,Solaris和BSD的隔離技術,但對于開發者來說不可用,無法被移植,沒有一個標準的接口,導致的結果是沒有一個圍繞著這一切的生態系統。
在Docker之前,容器是一種底層的技術被用在像Google這樣的地方,而他們有專業的團隊,專業的基礎架構,這很大程度上是一種為組織而不是開發人員而設計的工具。
我們提供干凈的接口,使Docker和現有的工具像源代碼一樣容易集成,這樣構建一個容器就和寫你自己的代碼一樣簡單。我們提供這種將Docker容器在任意兩個服務器之間移動的能力,這就是操作方的兼容性。但也是因為Docker以這種方式構造,我們定義了一個應用的所有層次和依賴關系,以至于作為一個開發者,你能夠確保在你的筆記本上工作的應用也會能夠在產品和正式環境中運行,同樣也能夠跨集群擴展。
這也意味著不需要很多的返工,所以如果你在對你的應用做一個小的變更時,你能夠利用你之前做過的所有工作或者其他人之前做過的工作。
在過去,容器沒有被認為是一個好的用作高可靠性,關鍵應用的選項。如果底層的操作系統當掉的話,用戶是如何確保可用性的呢?有什么工具專門解決這個的呢?
Golub:過去的這些年,許多圍繞可用性和安全方面的問題已經變得越來越好了。Docker容器可以非常便宜和快速的構建和部署,人們過去感受到的許多痛苦,也就是他們關于如何獲得高可靠性的想法或者獲得的狀態已經在改變中。
要將同樣應用的不同版本跑在不同的主機上變得難以置信的容易。我們推薦人們構建應用的方式是讓他們將各個進程放進各自的Docker容器中,并且提供方式來交互,這樣對于存儲這樣的東西即便在你遷移,構建和銷毀應用的同時還能夠保持。人們能夠在虛擬機上使用容器,但是他們也能夠用一種完全嶄新的方式使用容器,以此來減輕我們以前所擔憂的可用性問題,那時每個應用都嚴格受制于基礎架構。
許多已有的圍繞像HA這樣的考慮誕生于當應用會存在很長一段時間,并且很龐大,運行在一個唯一的服務器上,那么你就會擔心這個服務器當掉的問題。。。這有點像是NORAD和互聯網的區別--擁有一樣很強大的東西但如果出故障,就會是災難性的和保持冗余性。如果是一個元素崩潰,你不會注意到它,因為你只需要重新路由。
在Docker的角度上來看分布式應用,應用的各個組件都是Docker化的,能夠跨多服務器運行,所以你不大需要擔心任何一個單獨的服務器當掉,任何一個單獨的磁盤故障等等。當然如果你將一組容器跑在一個OS上,那個OS如果死掉的話,容器就不能夠運行了直到你重啟操作系統,但那個對于虛擬機也同樣存在這個問題。事實上,對于虛擬機還更糟,因為你在一個主機上運行了一堆的虛擬機,每個虛擬機又有自己的客戶操作系統那些也可能會發生故障,并且它運行在一個可能出故障的系統管理程序上,底層運行的主機操作系統也可能故障。
市場上還有一些關于Docker的安全性的擔憂。Docker未來將會如何改善它的安全立場?
Golub:Docker在這方面已經被顯著的加強了,有能力利用像SELinux和AppArmor這樣的東西來提供更好的隔離。我還從根本上相信除了那些讓Docker更加安全而采取的工作外,你還能夠讓Docker以分層的方式運行,所以你可以在一個虛擬機里運行。圍繞容器簽名所展開的那些事情,事實上你能夠達到一個更安全的狀態,因為每個應用都是由小的元素組成,以至于他們是什么和他們從哪里來的可以通過統一的策略來管理和確認,你還能夠降低受攻擊面。
Docker還是一個年輕的公司。我們應該如何期待這個技術和公司在接下來的幾年里會如何發展?
Golub:從今年年初,我們的公司規模已經擴大了3倍,我們加入了很多了不起的管理人才。我們現今的關注是在Docker項目,[和]確保多容器模型的編排功能能夠實現得很好。我們也在推出圍繞管理和Docker容器編排的服務。
在那些大牌廠商在開源項目的基礎上提供服務的同時,Docker這家公司是如何保持自己在市場上的地位的?
Golub:我們從很多企業聽到的是,他們想要從Docker獲得的是一系列的商業軟件來幫助他們管理軟件開發生命周期和運行跨本地和多個不同的 [公有] 云的容器的能力。
原文出自:http://www.searchcloudcomputing.com.cn/showcontent_86491.htm