容器集裝箱技術正如何改變數據中心容器集裝箱技術正如何改變數據中心容器集裝箱技術正如何改變數據中心
大約每隔10年左右,整個數據中心業界就(jiù)會(huì)開(kāi)始關注下一個大的抽象化概念,這(zhè)一新的抽象化概念將(jiāng)激發(fā)出令人振奮的新服務器操作系統的形式因素。正如Redmonk公司的分析師Stephen O'Grady在他的一篇題爲《抽象之路( The Road to Abstraction)》的博文中所說(shuō)的那樣(yàng):“計算機是很難的,這(zhè)就(jiù)是爲什麼(me)說(shuō)整個技術行業曆史上的長(cháng)期趨勢之一便是抽象化并不奇怪的原因所在了。”
有了容器集裝箱技術,數據中心業界的一個普遍的共識就(jiù)是:最新的抽象單位正式到來,并將(jiāng)要開(kāi)始取代虛拟機了。企業開(kāi)發(fā)人員們現在更喜歡采用容器來打包應用程序(根據市場調研機構451 Research公司的報告顯示,到2020年,這(zhè)一市場規模將(jiāng)達到27億美元)。而這(zhè)對(duì)于數據中心運營商們需要如何支持這(zhè)些應用程序及開(kāi)發(fā)人員的創建工作將(jiāng)具有深遠的影響。但是,與虛拟化技術的最後(hòu)一個主要抽象轉換相比,今天整個業界對(duì)于容器集裝箱技術的采用曲線其實存在著(zhe)很大的差異。
下面(miàn),讓我們大家一起(qǐ)來看看當下廣泛采用的容器集裝箱技術對(duì)數據中心運營商們所帶來的影響吧,同時(shí),我們還(hái)將(jiāng)探讨我們當前在該技術方面(miàn)處于怎樣(yàng)的水平,以及我們從以前的朝著(zhe)虛拟化技術轉向(xiàng)的趨勢中所學(xué)到的經(jīng)驗教訓。
爲什麼(me)開(kāi)發(fā)人員們開(kāi)始青睐容器集裝箱技術?
容器集裝箱技術的普及采用可以說(shuō)是開(kāi)發(fā)人員們朝著(zhe)數據中心運營商們發(fā)起(qǐ)的“反叛起(qǐ)義”。而影子IT則是這(zhè)次“反叛起(qǐ)義”的第一次叠代,由于此前需要花費幾周的時(shí)間才能(néng)在企業内部配置好(hǎo)虛拟機,迫使開(kāi)發(fā)人員們直接轉向(xiàng)采用亞馬遜網絡服務(AWS),并直接使用信用卡支付來獲取服務器資源。
大約每隔10年左右,整個數據中心業界就(jiù)會(huì)開(kāi)始關注下一個大的抽象化概念,這(zhè)一新的抽象化概念將(jiāng)激發(fā)出令人振奮的新服務器操作系統的形式因素。正如Redmonk公司的分析師Stephen O'Grady在他的一篇題爲《抽象之路( The Road to Abstraction)》的博文中所說(shuō)的那樣(yàng):“計算機是很難的,這(zhè)就(jiù)是爲什麼(me)說(shuō)整個技術行業曆史上的長(cháng)期趨勢之一便是抽象化并不奇怪的原因所在了。“
有了容器集裝箱技術,數據中心業界的一個普遍的共識就(jiù)是:最新的抽象單位正式到來,并將(jiāng)要開(kāi)始取代虛拟機了。企業開(kāi)發(fā)人員們現在更喜歡采用容器來打包應用程序(根據市場調研機構451 Research公司的報告顯示,到2020年,這(zhè)一市場規模將(jiāng)達到27億美元)。而這(zhè)對(duì)于數據中心運營商們需要如何支持這(zhè)些應用程序及開(kāi)發(fā)人員的創建工作將(jiāng)具有深遠的影響。但是,與虛拟化技術的最後(hòu)一個主要抽象轉換相比,今天整個業界對(duì)于容器集裝箱技術的采用曲線其實存在著(zhe)很大的差異。
下面(miàn),讓我們大家一起(qǐ)來看看當下廣泛采用的容器集裝箱技術對(duì)數據中心運營商們所帶來的影響吧,同時(shí),我們還(hái)將(jiāng)探讨我們當前在該技術方面(miàn)處于怎樣(yàng)的水平,以及我們從以前的朝著(zhe)虛拟化技術轉向(xiàng)的趨勢中所學(xué)到的經(jīng)驗教訓。
爲什麼(me)開(kāi)發(fā)人員們開(kāi)始青睐容器集裝箱技術?
容器集裝箱技術的普及采用可以說(shuō)是開(kāi)發(fā)人員們朝著(zhe)數據中心運營商們發(fā)起(qǐ)的“反叛起(qǐ)義”。而影子IT則是這(zhè)次“反叛起(qǐ)義”的第一次叠代,由于此前需要花費幾周的時(shí)間才能(néng)在企業内部配置好(hǎo)虛拟機,迫使開(kāi)發(fā)人員們直接轉向(xiàng)采用亞馬遜網絡服務(AWS),并直接使用信用卡支付來獲取服務器資源。
現在,容器集裝箱技術允許開(kāi)發(fā)人員們實現更快地遷移。因爲即使在AWS上,采用一台虛拟機也需要幾分鍾的時(shí)間,而容器集裝箱則僅僅隻需要幾毫秒的時(shí)間。随著(zhe)企業組織越來越傾向(xiàng)于優先考慮更快地發(fā)布新産品和功能(néng),以便能(néng)夠跟上當下這(zhè)個軟件消費的世界的大趨勢,開(kāi)發(fā)人員傾向(xiàng)于采用那些允許他們能(néng)夠比公共雲和私有雲服務可支持的傳統虛拟機更快地擴展應用程序和部署資源的技術。而諸如Twitter和Netflix以及其他規模化網絡公司(其應用程序和平台團隊具有基礎設施自主權)的開(kāi)發(fā)人員模式,已經(jīng)開(kāi)始將(jiāng)容器集裝箱技術作爲提升靈活敏捷方法的最佳實踐方案(將(jiāng)能(néng)夠幫助任何開(kāi)發(fā)團隊真正實現“快速的遷移”),并將(jiāng)其納入主流了。
更進(jìn)一步分析,我們可以看到:較之虛拟機,容器集裝箱技術具有各種(zhǒng)成(chéng)本和性能(néng)優勢,這(zhè)有助于解釋該技術在當下流行的原因所在了。其第一個主要的益處便是:能(néng)夠在同一台服務器上運行多款應用程序或操作系統,無需虛拟機管理程序,進(jìn)而消除了系統資源管理程序的阻力,所以您企業的工作負載可以有一個較輕的足迹——容器足迹爲零,因爲其在Linux系統中隻是一個邊界的權限和資源。
與虛拟機相比,容器集裝箱的啓動和關閉非常快速——完美契合企業組織當下短暫的工作負載的短暫性質,因爲這(zhè)些工作往往是現實世界中的事(shì)件,并和“突發(fā)性”相關聯。最後(hòu)但并非最不重要的是,鑒于具備更多的靈活性,可以在不同的雲服務供應商和操作系統上部署應用程序,使得容器集裝箱對(duì)于操作系統的依賴關系越來越少,進(jìn)而起(qǐ)到了使得這(zhè)些應用程序避免被(bèi)企業組織的目标鎖定的的作用。當然,還(hái)沒(méi)有VMware軟件許可證費用。畢竟,這(zhè)一軟件許可證費用對(duì)于任何主要數據中心而言,都(dōu)會(huì)大大增加其運營費用成(chéng)本。
但是,這(zhè)一優勢并未像虛拟機那樣(yàng)發(fā)揮出來
容器集裝箱規則的特征之一是沒(méi)有規則。一大現實案例便是Docker容器模式已經(jīng)在市場上赢了。但随之而來的技術選擇和豐富的快速開(kāi)源平台比比皆是。您企業可以使用任何您所希望的Linux模式。您可以選擇快速發(fā)展的容器orchestration業務流程平台,如Kubernetes、Mesosphere DC / OS和Docker Swarm。
即使是在當下的容器集裝箱模式級别(假定Docker已經(jīng)赢得了市場),現在也面(miàn)臨一種(zhǒng)更開(kāi)放的标準容器模式的挑戰。因此,數據中心運營商們會(huì)很快發(fā)現自己陷入了更深層次的問題,這(zhè)些問題很多是尚未标準化的問題:包括配置容器存儲和網絡化,以及對(duì)運行中的容器的洞察,這(zhè)些問題與運營商們曾希望借助虛拟機技術的采用所達到的成(chéng)熟度相當。
其真正的原因可以歸結爲企業現在實施容器集裝箱的能(néng)力還(hái)相當不均勻,包括系統成(chéng)熟度方面(miàn)的,也有用戶意識方面(miàn)的原因。
容器集裝箱的世界沒(méi)有VMware。基本上,Docker是最接近通用品牌的容器集裝箱了,但Docker遠不及VMware在虛拟機發(fā)展的早期所具備的技術鎖定。一方面(miàn),容器集裝箱技術的早期采用者們有很多的選擇和靈活性,但也意味著(zhe)它們必須是自己的系統集成(chéng)商,并將(jiāng)許多這(zhè)些工具集成(chéng)在一起(qǐ)。
從1997年至2002年期間,VMware大概花費了五年的時(shí)間圍繞著(zhe)虛拟機技術創造了一個市場。在這(zhè)五年的時(shí)間裡(lǐ),他們可以說(shuō)是這(zhè)一市場唯一的玩家,并有一段時(shí)間,通過(guò)打造像VMotion技術,VRS資源平衡等等方式來建立起(qǐ)了企業級的護欄,來進(jìn)一步封閉了該技術。
而在另一方面(miàn),Docker幾乎立即開(kāi)源了其圍繞著(zhe)容器集裝箱的核心技術。紅帽、Canonical、Mirantis以及幾乎每家主要的開(kāi)源供應商都(dōu)在商業上得到支持。所以盡管Docker是第一個推動者,但是他們失去了控制權。許多人會(huì)認爲,他們花了太長(cháng)時(shí)間來強調orchestration業務流程,這(zhè)就(jiù)是爲什麼(me)他們在Swarm采用大潮流中遠遠落在了Kubernetes和Mesosphere DC / OS之後(hòu)的原因所在了,盡管他們原本在容器模式方面(miàn)擁有巨大的先發(fā)優勢。
今天的容器集裝箱産品生态系統是數十年來我們在數據中心領域所看到的最大的地雷之一,無數供應廠商争相擁有現代應用程序“堆棧”的各個部分。但随著(zhe)可選擇的開(kāi)放源代碼平台的大量開(kāi)發(fā),數據中心運營商也面(miàn)臨著(zhe)挑戰,需要選擇合适的技術,并實現高度定制化的整合。如果您企業是像Netflix,Ebay或PayPal這(zhè)樣(yàng)的網絡規模化巨頭,并且具備足夠的工程師,那麼(me)采用容器的經(jīng)濟性是有道(dào)理的。但對(duì)于需要可預測結果的市場上的其餘企業而言,這(zhè)可能(néng)相當危險。
今天,我們在容器集裝箱技術的采用确切的處于什麼(me)水平?
SHOW FULLSCREEN
資料來源: Google Trends
沒(méi)有人會(huì)對(duì)容器集裝箱的重要性提出異議。在過(guò)去三年中,Docker本身登上頭條新聞的次數已經(jīng)呈直線上升趨勢,而Kubernetes也正在開(kāi)始引發(fā)業界的廣泛興趣逐漸達到臨界,由上圖中的Google Trends即可看出。
但企業在實際生産過(guò)程中對(duì)于容器集裝箱的采用究竟在何處呢?雖然我相信容器集裝箱所帶來的正面(miàn)積極效應是如此令人興奮,企業將(jiāng)持續推動,直到該技術的采用變得無所不在,但我聽到和看到的是,集裝箱技術通常仍然停留在第一檔,其受歡迎程度仍更多地局限于開(kāi)發(fā)人員的筆記本電腦,而幾乎沒(méi)有用于主流企業生産部署的用例。
今天的容器集裝箱技術:好(hǎo)的方面(miàn)
從我的觀點看來,今天的容器集裝箱對(duì)于企業的吸引力主要包括:
面(miàn)向(xiàng)消費者的服務轉移到容器集裝箱化的DevOps工作流程(更廣泛的生産實例包括Viacom、Bloomberg和Ticketmaster等大品牌)。
借助狀态應用程序和數據庫進(jìn)行實時(shí)分析(Verizon、Google、Apple和Uber便是其中記錄其案例研究中的大品牌企業)。
容器集裝箱可實現從微服務到數據庫的端到端自動化DevOps。
今天的容器集裝箱技術:壞的方面(miàn)
在這(zhè)一技術朝著(zhe)主流方向(xiàng)推動的過(guò)程中,我認爲也有兩(liǎng)大主要障礙繼續存在:
容器集裝箱自身不穩定的技術基礎:太多的業務流程、網絡、存儲、安全選項。無限排列。對(duì)于大多數典型的企業(并非所有企業全都(dōu)是Google或Facebook這(zhè)樣(yàng)的網絡規模化的企業)都(dōu)不能(néng)支持。今天的容器集裝箱技術,將(jiāng)需要在這(zhè)個問題上消耗大量的人力物力,需要更多的工具和支持才能(néng)取得成(chéng)功。
數據庫和分析引擎:容器集裝箱系統一直在努力滿足持久存儲的需求,自動擴展以跟上微服務,性能(néng)和延遲,以滿足業務的預期。在這(zhè)個方面(miàn)上大量的投錢是典型的答案,這(zhè)導緻了過(guò)度配置的問題。
雖然您可以使用容器集裝箱技術,并在虛拟機上運行,以利用現有的基礎設施,但我們所看到的是,今天的終端用戶(在沒(méi)有成(chéng)熟的容器特定生産工具的情況下)正在經(jīng)曆這(zhè)兩(liǎng)個世界的最差體驗——容器技術工具的複雜性和虛拟機的大開(kāi)銷。嘗試這(zhè)樣(yàng)做的企業通常會(huì)以如下兩(liǎng)種(zhǒng)方式之一:
簡單模型:每台虛拟機一個容器
易于開(kāi)始。每個容器都(dōu)安裝單一的網絡和存儲(VM!)。現有的工具在某一點上起(qǐ)作用。
但是,在經(jīng)曆了短暫的時(shí)間後(hòu),卻會(huì)變得非常痛苦和昂貴。虛拟機蔓延。高度浪費/間接費用開(kāi)銷龐大。存儲和網絡管理是依賴于管理程序的舊的/慢的/昂貴的模型。這(zhè)種(zhǒng)方法在開(kāi)發(fā)環境與操作環境之間造成(chéng)了重大的脫節。
高級模型:每台虛拟機多個容器
創建了直接暴露于容器的不同的網絡/存儲模型。虛拟機的抽象無法解決這(zhè)些問題。
最有可能(néng)的是,您企業將(jiāng)傳統IT模型的新容器堆棧分層,而這(zhè)正是開(kāi)發(fā)人員將(jiāng)其遷往公共雲服務的重點原因。
數據中心運營商的結論
在本周的CoreOS Fest上,Ticketmaster平台的高級副總裁分享了他們早期主要的容器集裝箱生産用戶常見的問題,當時(shí)他說(shuō):“我們實際上并不想再建立更多的軟件,那些是我們不需要維護的東西,我們寫的每一塊軟件都(dōu)應該是商品,這(zhè)是我們永遠擁有的技術債務。“
容器的早期路徑是DIY,極端定制和技術債務之一。對(duì)于太多看到容器上升态勢太快,而不能(néng)再觀望的企業組織而言,我想提供一些關鍵性的建議來降低風險:
1、爲您的客戶(開(kāi)發(fā)人員)提供他們所需要的:容器本機,整個應用程序的自動化體驗,可輕松擴展和管理。
2、選擇開(kāi)源方法,減少鎖定并提供多種(zhǒng)支持選項。目前,開(kāi)放性最好(hǎo)的“堆棧”組件包括Kubernetes,用于Linux的開(kāi)放API(網絡、存儲,以便您企業可以在不同的雲基礎設施上部署應用程序)、CNI和Flex Volume。
不要等待解決方案成(chéng)熟,屆時(shí)就(jiù)太遲了。Dev開(kāi)發(fā)將(jiāng)在公共雲端,而ops運維將(jiāng)成(chéng)爲新的大型機,逐漸萎縮。使用開(kāi)放API構建适度的容器集群并不需要大量投資,這(zhè)對(duì)大多數企業組織來說(shuō)都(dōu)是正确的起(qǐ)點。
現在,容器集裝箱技術允許開(kāi)發(fā)人員們實現更快地遷移。因爲即使在AWS上,采用一台虛拟機也需要幾分鍾的時(shí)間,而容器集裝箱則僅僅隻需要幾毫秒的時(shí)間。随著(zhe)企業組織越來越傾向(xiàng)于優先考慮更快地發(fā)布新産品和功能(néng),以便能(néng)夠跟上當下這(zhè)個軟件消費的世界的大趨勢,開(kāi)發(fā)人員傾向(xiàng)于采用那些允許他們能(néng)夠比公共雲和私有雲服務可支持的傳統虛拟機更快地擴展應用程序和部署資源的技術。而諸如Twitter和Netflix以及其他規模化網絡公司(其應用程序和平台團隊具有基礎設施自主權)的開(kāi)發(fā)人員模式,已經(jīng)開(kāi)始將(jiāng)容器集裝箱技術作爲提升靈活敏捷方法的最佳實踐方案(將(jiāng)能(néng)夠幫助任何開(kāi)發(fā)團隊真正實現“快速的遷移”),并將(jiāng)其納入主流了。