1. 程式人生 > >Docker與容器化:2015這股趨勢勢不可擋

Docker與容器化:2015這股趨勢勢不可擋

像雲這樣重大的IT趨勢已經用了一些年頭來普及——儘管其中有過一些消長,但是它們向前的腳步不可阻擋。其他一些則似乎是出人意料地完全征服了企業世界。過去12個月,像Docker那樣為快速可伸縮性提供了大量製造微型容器能力的容器環境和分散式應用平臺就是這樣。這證明了影響深遠的變革可以來自於小小的檔案包。

傳統的晚期採用者這次早早加入
ZeroTurnaround的開發大使Simon Maple對大企業也樂於接受容器化感到驚奇。“Docker這個東西在2014年已經獲得了強勁的發展勢頭。對於我來說其中一件大事是,這個東西通常一般是初創企業和SMB會先嚐試的。但是現在我們已經看到IBM以及RedHat也進入了容器風格的基礎設施。可以看到它已經與企業發生了碰撞。對於一個只有1年多時間的東西來說這是令人驚奇的。”

虛擬化是不是已經過時了?

ZeroTurnaround CEO Jevgeni Kabanov對這一新趨勢能在多大程度上改變IT現狀有著大膽的預測。“我認為從長期來看容器化將會幹掉虛擬化。”的確是非常大膽的話,但是Kabanov有這個想法已經不是一天兩天了:“我從來就沒理解過虛擬化的要點是什麼。過去10年都是這樣的觀點。我認為虛擬化將一直擁有一席之地。但是大多數並不希望將整個作業系統虛擬化。他們只是希望在容器裡面執行應用。他們希望以一種可預測的方式執行自己的應用。虛擬化增加了大量的效能過載。如果一切都同等的情況下,為什麼你還會想用虛擬化呢?”

對容器化有贊有彈
由於容器化允許組織在託管作業系統上執行應用,所以在完全虛擬化的環境下有若干潛在好處。不需要專門分配資源給第二套OS、排程程式或者分頁系統。I/O、CPI以及記憶體效能可以提升。甚至儘管虛擬化原來是開發來幫助組織發揮物理基礎設施潛能的,但是也還是要有代價的。

那容器化有沒有弊端呢?移除了抽象層也許可以提高效能,但是並不能像虛擬化那樣確保資源可用。而且其隔離程度也要低一些——這個會存在潛在的安全風險。如果繞開管理程式(hypervisor)的話,安全問題有可能很快就會升級。對於安全意識很強的公司來說,虛擬化額外的負載帶來的成本也許是值得的。或者,容器化也可以通過在託管O/S上增加安全措施來彌補缺少隔離的問題。

對於Java企業社群來說容器化意味著什麼

Maple對於容器化會如何影響虛擬化也有一個有趣的觀點。“JVM的一大價值之一是你可以寫好程式碼然後部署到不同的映象和環境上。有了容器之後,其價值就略為減少了一些。你不再需要具備一次編寫隨地執行的能力。你可以把所有的開發工作都集中在這個LINUX映象上,然後不斷生成新的。把它放到任何地方都可以,基於LINUX的分佈仍不變。”

過時術語會不會復活?
儘管虛擬可能面臨容器化的重大挑戰,SOA卻有可能捲土重來—至少是從概念上來說。Liferay的資深軟體開發者Ray Auge解釋說:“我知道,SOA屬於一種過時的術語,但是從技術上來說,雲就是把一切當作服務來交付。所以說服務才是至關重要的。你把一組服務展示給一大批終端使用者客戶端。但同時你也把那些服務以混搭的方式組合起來創建出應用。無論是Docker趨勢、容器化、App伺服器之死,還是微服務,我們都可以看到其中服務的概念。這一切都受到了對服務進行獨立伸縮、監控、定義、組合、重用、維護並在無需重新部署的情況下進行變更的推動。”

舊愛還會不會徘徊?

容器化的簡潔也許會令人對JVM不那麼渴望,但是Simon指出JVM在其他領域還有很多價值。可能它的狀況還不算危險。然而,像WebSphere以及WebLogic這樣的JEE主流玩家會為了錢而繼續運轉。現在預測事情會如何進展還為時尚早。但是我們會一直關注好讓讀者瞭解容器化與虛擬化之爭的最新情況。