每個(gè)人都喜歡Docker。為什么不喜歡呢?它們不僅是一個(gè)條理清楚的一體化結(jié)構(gòu),同時(shí)它們還可提供更好的云端至云端移植性和工作負(fù)載管理。此外,Docker還為創(chuàng)建基于云的分布式系統(tǒng)提供了一個(gè)強(qiáng)大基礎(chǔ)。與目前我們所管理的云工作負(fù)載相比,基于云的分布式系統(tǒng)的工作負(fù)載遷移起來(lái)更加容易。
Docker 1.0版為我們清晰地展示了這一技術(shù)對(duì)于企業(yè)將應(yīng)用遷移至云平臺(tái)上這一舉措來(lái)說(shuō)意味著什么。我們知道亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)、谷歌和紅帽等主要的云技術(shù)提供商已經(jīng)接受了Docker,并在他們的產(chǎn)品和服務(wù)中對(duì)Docker提供支持。
實(shí)際上,谷歌App Engine開發(fā)者已經(jīng)能夠通過(guò)谷歌云平臺(tái)的虛擬機(jī)管理功能為他們的應(yīng)用創(chuàng)建和部署Docker鏡像。現(xiàn)有的Docker鏡像也可以通過(guò)這種方式被獲取和被部署。
在一些云實(shí)例中,Docker是一個(gè)非常重要的架構(gòu)和部署方式。如今它們已經(jīng)具備了挑戰(zhàn)一些云服務(wù)提供商的實(shí)力。包括將精力放在PaaS(平臺(tái)即服務(wù))方面在內(nèi)的部分云服務(wù)提供商正在嘗試著解決應(yīng)用的移植性問(wèn)題,然而Docker的使用可能會(huì)使他們的解決方案不起作用,尤其是那些使用虛擬機(jī)或抽象層的解決方案會(huì)受到Docker的威脅。
通過(guò)虛擬機(jī)提升可移植性的云服務(wù)如今已經(jīng)發(fā)現(xiàn)應(yīng)用開發(fā)者更偏愛(ài)使用輕量級(jí)的Docker解決方案以讓應(yīng)用具有可移植性,因?yàn)镈ocker解決方案在應(yīng)用執(zhí)行和遷移時(shí)需要更少的資源。此外,與其它虛擬機(jī)技術(shù)相比,Docker更加開放,且支持范圍更廣。
部分PaaS提供商在應(yīng)用遷移方案中使用了抽象層技術(shù),即在應(yīng)用和基礎(chǔ)云服務(wù)之間設(shè)置了一個(gè)轉(zhuǎn)換層(即抽象層)。與Docker解決方案相比,這一解決方案和虛擬機(jī)解決方案一樣具有更多的專利保護(hù)且讓開發(fā)者難以部署。
如今Docker正在促使更多的云提供商選擇它們,因?yàn)檫@些云提供商非常清楚,Docker對(duì)于向云平臺(tái)遷移的應(yīng)用來(lái)說(shuō)可以提供更好的可移植性,并且這一解決方案將被廣泛采用。由于Docker是開放的,并受到了廣泛關(guān)注和支持,因此它們讓部分云提供商難以實(shí)施“套牢”策略(即廠商鎖定策略)。
對(duì)于那些企圖實(shí)施“套牢”策略的云提供商來(lái)說(shuō),即便他們的應(yīng)用或工作負(fù)載可移植性專利解決方案在一些案例中取得了良好的效果,但是在Docker面前也將變得蒼白無(wú)力。