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