來自西雅圖的報(bào)道,容器遲早要改變世界,以及改變操作系統(tǒng)的角色。這是 Wim Coekaerts 帶來的 LinuxCon 演講主題,Coekaerts 是 Oracle 公司 Linux 與虛擬化工程的高級(jí)副總裁。
Coekaerts 在開始演講的時(shí)候拿出一張關(guān)于“桌面之年”的幻燈片,引發(fā)了現(xiàn)場(chǎng)觀眾的一片笑聲。之后他說 2015 年很明顯是容器之年,更是應(yīng)用之年,應(yīng)用才是容器的關(guān)鍵。
“你需要操作系統(tǒng)做什么事情?”,Coekaerts 回答現(xiàn)場(chǎng)觀眾:“只需一件事:運(yùn)行一個(gè)應(yīng)用。操作系統(tǒng)負(fù)責(zé)管理硬件和資源,來讓你的應(yīng)用運(yùn)行起來。”
Coakaerts 補(bǔ)充說,在 Docker 容器的幫助下,我們的注意力再次集中在應(yīng)用上,而在 Oracle,我們將注意力放在如何讓應(yīng)用更好地運(yùn)行在操作系統(tǒng)上。
“許多人過去常常需要繁瑣地安裝應(yīng)用,而現(xiàn)在的年輕人只需要按一個(gè)按鈕就能讓應(yīng)用在他們的移動(dòng)設(shè)備上運(yùn)行起來”。
人們對(duì)安裝企業(yè)版的軟件需要這么復(fù)雜的步驟而感到驚訝,而 Docker 幫助他們脫離了這片苦海。
“操作系統(tǒng)的角色已經(jīng)變了。” Coekaerts 說。
Docker 的出現(xiàn)不代表虛擬機(jī)的淘汰,容器化過程需要經(jīng)過很長(zhǎng)時(shí)間才能變得成熟,然后才能在世界范圍內(nèi)得到應(yīng)用。
在這段時(shí)間內(nèi),容器會(huì)與虛擬機(jī)共存,并且我們需要一些工具,將應(yīng)用在容器和虛擬機(jī)之間進(jìn)行轉(zhuǎn)換遷移。Coekaerts 舉例說 Oracle 的 VirtualBox 就可以用來幫助用戶運(yùn)行 Docker,而它原來是被廣泛用在桌面系統(tǒng)上的一項(xiàng)開源技術(shù)。現(xiàn)在 Docker 的 Kitematic 項(xiàng)目將在 Mac 上使用 VirtualBox 運(yùn)行 Docker。
容器的開放計(jì)算計(jì)劃和一次寫隨處部署
一個(gè)能讓容器成功的關(guān)鍵是“一次寫,隨處部署”的概念。而在容器之間的互操作領(lǐng)域,Linux 基金會(huì)的開放計(jì)算計(jì)劃(OCI)扮演一個(gè)非常關(guān)鍵的角色。
“使用 OCI,應(yīng)用編譯一次后就可以很方便地在多地運(yùn)行,所以你可以將你的應(yīng)用部署在任何地方”。
Coekaerts 總結(jié)說雖然在遷移到容器模型過程中會(huì)發(fā)生很多好玩的事情,但容器還沒真正做好準(zhǔn)備,他強(qiáng)調(diào) Oracle 現(xiàn)在正在驗(yàn)證將產(chǎn)品運(yùn)行在容器內(nèi)的可行性,但這是一個(gè)非常艱難的過程。
“運(yùn)行數(shù)據(jù)庫(kù)很簡(jiǎn)單,難的是要搞定數(shù)據(jù)庫(kù)所需的環(huán)境”,Coekaerts 說:“容器與虛擬機(jī)不一樣,一些需要依賴底層系統(tǒng)配置的應(yīng)用無法從主機(jī)遷移到容器中。”
另外,Coekaerts 指出在容器內(nèi)調(diào)試問題與在虛擬機(jī)內(nèi)調(diào)試問題也是不一樣的,現(xiàn)在還沒有成熟的工具來進(jìn)行容器應(yīng)用的調(diào)試。
Coekaerts 強(qiáng)調(diào)當(dāng)容器足夠成熟時(shí),有一點(diǎn)很重要:不要拋棄現(xiàn)有的技術(shù)。組織和企業(yè)不能拋棄現(xiàn)有的部署好的應(yīng)用,而完全投入新技術(shù)的懷抱。
“部署新技術(shù)是很困難的事情,你需要緩慢地遷移過去,能讓你順利遷移的技術(shù)才是成功的技術(shù)。”Coekaerts 說。