云計(jì)算一直以來的一個(gè)承諾是用戶應(yīng)該能夠?qū)⒐ぷ髫?fù)載從自己的數(shù)據(jù)中心遷移到云服務(wù)提供商提供的云平臺(tái),并在需要時(shí)其業(yè)務(wù)甚至可以從公共云再次返回。這可能是因?yàn)閼?yīng)用程序或服務(wù)需要的資源比該組織所能提供的資源要多,或者僅僅因?yàn)橥獠坎渴鸬某杀靖摺?/div>
盡管如此,云采用大體上沿襲了私有云的模式來運(yùn)行傳統(tǒng)的企業(yè)工作負(fù)載,而新建應(yīng)用程序和服務(wù)則是在公共云平臺(tái)(如AWS)中開發(fā)和部署的。即使傳統(tǒng)的工作負(fù)載已經(jīng)外包給服務(wù)提供商,這通常是托管數(shù)據(jù)中心或私有云安排的情況。
Ovum公司首席分析師Roy Illsley表示,這是因?yàn)樵S多組織仍處于采用云端的早期階段,只是希望能夠踏上第一個(gè)階梯。
“我們并沒有真正看到企業(yè)將其業(yè)務(wù)遷移作為他們的首要關(guān)注點(diǎn)。他們真正想要做的是“提升和轉(zhuǎn)移”到云端,所以他們可能會(huì)擁有這種基于傳統(tǒng)硬件的三層應(yīng)用程序或數(shù)據(jù)庫,他們想知道如何將其作為第一步。他們一旦這樣做,就會(huì)開始考慮如何轉(zhuǎn)換工作負(fù)載,改變工作量,并考慮遷移到別的地方。”Illsley說。
工作負(fù)載流動(dòng)性從來沒有真正發(fā)揮作用,這是有充分理由的。VMware的VMotion功能支持虛擬機(jī)在主機(jī)服務(wù)器之間的實(shí)時(shí)遷移,但在數(shù)據(jù)中心內(nèi)部執(zhí)行這種操作是另一回事。
如果要將工作負(fù)載從自己的云平臺(tái)遷移到另一個(gè)不受控制的云平臺(tái)上,事情會(huì)變得更加復(fù)雜。由于虛擬機(jī)管理程序、API和所使用的管理工具的差異,將虛擬機(jī)遷移到不同平臺(tái)上是不現(xiàn)實(shí)的。即使它是基于同一平臺(tái),也可能與企業(yè)在自己的基礎(chǔ)設(shè)施上運(yùn)行的工作負(fù)載沒有相同的管理監(jiān)督和控制級(jí)別。
還有一個(gè)事實(shí),即企業(yè)工作負(fù)載很少在沒有資源的情況下運(yùn)行;它們依賴于其他資源來運(yùn)行,如共享存儲(chǔ)、SQL數(shù)據(jù)庫服務(wù)器或目錄服務(wù)。除非這些服務(wù)也復(fù)制到云端,否則工作負(fù)載和這些資源之間的流量必須通過WAN連接而不是通過數(shù)據(jù)中心本身進(jìn)行路由。
也許正是由于這個(gè)原因,導(dǎo)致VMware公司改變策略,并將其vCloud Air服務(wù)用于Cloud Foundation,Cloud Foundation是一個(gè)將其作為獨(dú)立軟件定義數(shù)據(jù)中心(SDDC)所描述的平臺(tái),可以配置到常用的公共云上,例如AWS和IBM SoftLayer。
然而,由于容器,工作量流動(dòng)性的前景可能會(huì)更接近現(xiàn)實(shí)。由于Docker的應(yīng)用日益增多,大多數(shù)人都已熟悉了容器,但其生態(tài)系統(tǒng)是由各種技術(shù)和實(shí)施而成的。
所有容器平臺(tái)共享的是它們使一些軟件及其相關(guān)數(shù)據(jù)(如代碼庫)被封裝在一個(gè)單獨(dú)的空間- 容器中。多個(gè)容器可以在同一主機(jī)上運(yùn)行,??如虛擬機(jī),但容器在資源上更加輕量化,而且給定的服務(wù)器可以比虛擬機(jī)操作更多的容器。
“容器方法為開發(fā)人員提供了一個(gè)編寫新的云原生應(yīng)用程序的機(jī)會(huì),只要具有對(duì)容器的支持,并且如果運(yùn)行在Linux上,就可以在一個(gè)平臺(tái)上操作在各種其他云環(huán)境中運(yùn)行的這個(gè)容器。”Illsley說。
容器的成長
與虛擬機(jī)相比,容器是一種不太成熟的技術(shù),因此,各種平臺(tái)仍處在開發(fā)和完善相關(guān)組件(如編排、監(jiān)視、持久存儲(chǔ)支持和生命周期管理工具)的過程中。對(duì)于像谷歌或Facebook這樣的互聯(lián)網(wǎng)巨頭來說,以任何規(guī)模來運(yùn)營基于容器的應(yīng)用程序框架都是至關(guān)重要的。
Docker已經(jīng)將其平臺(tái)作為包裝和運(yùn)行容器的主流格式,但是有幾種可用于編排的工具,例如起源于谷歌的Kubernetes項(xiàng)目或Apache Foundation的Mesos項(xiàng)目,以及Docker的Swarm工具。
Kubernetes被集成到幾個(gè)企業(yè)平臺(tái)上,如VMware公司的Photon,Red Hat公司的OpenShift應(yīng)用平臺(tái),甚至是微軟Azure 容器服務(wù)。同時(shí),Mesos被許多大型網(wǎng)絡(luò)公司使用,如Twitter,Airbnb和eBay,因?yàn)樗梢詳U(kuò)展到管理數(shù)萬個(gè)運(yùn)行容器的節(jié)點(diǎn)。
容器通常捆綁在Linux這個(gè)特定的操作系統(tǒng)內(nèi)核上。而Docker這樣的容器平臺(tái)通?;贚inux內(nèi)核的功能,但是微軟公司最近已經(jīng)開始向Windows Server及其Azure云服務(wù)添加對(duì)容器的支持。
雖然在Linux系統(tǒng)上創(chuàng)建的容器映像應(yīng)該在任何其他Linux系統(tǒng)上運(yùn)行,但是卻不能獲取為Windows創(chuàng)建的容器映像,并在Linux上運(yùn)行,反之亦然。話雖如此,微軟公司2017年4月推出了DockerCon,它將在Hyper-V容器中支持Linux容器映像,其容器在一個(gè)小型虛擬機(jī)中。
容器不太可能完全替代虛擬機(jī),但是對(duì)于許多工作負(fù)載來說,特別是橫向擴(kuò)展的分布式工作負(fù)載,它們正在成為首選的部署方式。這不僅僅是因?yàn)樗鼈兏菀缀透焖俚剡M(jìn)行配置,而且還因?yàn)樗鼈兏菀讖囊粋€(gè)系統(tǒng)遷移到另一個(gè)系統(tǒng),最終開始實(shí)現(xiàn)更多的云計(jì)算的承諾。
Docker是什么?
Docker是所有人在提到容器時(shí)都會(huì)想起的公司和平臺(tái),但并沒有創(chuàng)造出這個(gè)概念。相反,它在Linux內(nèi)核中采用了一些功能(稱為LXC),并將其開發(fā)成為一種成品,使用戶可以輕松地使用一個(gè)或多個(gè)容器創(chuàng)建和操作工作負(fù)載,使其受到了開發(fā)人員的歡迎,可用作開發(fā)和測(cè)試平臺(tái)。
Docker成功的一部分原因是它不僅創(chuàng)建了一組用于控制Docker主機(jī)的API,還包括用于存儲(chǔ)和分發(fā)應(yīng)用程序作為容器圖像的封裝格式。 Docker架構(gòu)還要求注冊(cè)表充當(dāng)圖像庫,用戶可以維護(hù)自己的注冊(cè)表或從諸如Docker Hub之類的公共的圖像中獲取現(xiàn)成的圖像。
因此,Docker平臺(tái)下的一個(gè)容器基本上是一個(gè)封裝器,用于交付和運(yùn)行應(yīng)用程序或服務(wù),以及它所依賴的所有代碼庫,所有這些都在自己的封裝中。
然而,它構(gòu)建的基礎(chǔ)LXC功能更適合將Linux服務(wù)器分配到多個(gè)單獨(dú)的用戶空間,類似于Oracle Solaris操作系統(tǒng)中的區(qū)域,或者甚至更老的大型機(jī)概念。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。