這四種容器部署方式,哪種最適合你?
p#qiye a:link,p#qiye a:visited{text-decoration:none;}
.text img {max-width:630px;}
容器作為一種賦能技術(shù),在企業(yè)it規(guī)劃中扮演著重要的角色。其中原因不言而喻,它能幫助企業(yè)獲得快速發(fā)展。畢竟對于數(shù)字化業(yè)務(wù)而言,速度就是金錢。為了實(shí)現(xiàn)業(yè)務(wù)敏捷度,it領(lǐng)導(dǎo)者希望顛覆以往的二八模式,即將80%%u7684預(yù)算用于維護(hù),僅投入20%%u9884算進(jìn)行創(chuàng)新。如今,cio們希望將更多預(yù)算用來幫助企業(yè)建立敏捷性與敏銳性。
容器、devops以及微服務(wù)等要素組合起來,可以幫助cio們實(shí)現(xiàn)這一目標(biāo)。
簡而言之,容器將應(yīng)用程序封裝在單一程序包當(dāng)中,與運(yùn)行所在的主機(jī)系統(tǒng)相隔離。開發(fā)人員能夠在開發(fā)過程中,輕松移動(dòng)這些程序包,這也是devops理念中的基本要求。從開發(fā)環(huán)境快速遷移至生產(chǎn)環(huán)境時(shí),容器技術(shù)同樣具有重大意義。
僅僅技術(shù)本身并不能解決問題,在多個(gè)跨職能devops小組和重新考慮流程以及業(yè)務(wù)邊界時(shí),cio還需要直面文化層面的種種挑戰(zhàn)。無論是技術(shù)還是文化,cio都可以從同行身上學(xué)到很多東西。本文介紹了企業(yè)采用容器的四種典型方式,并列舉出每種方式所需要注意的事項(xiàng)。
當(dāng)然,對于任何一家企業(yè)而言,并不存在完美的容器部署方式。你可以以一條路徑作為切入點(diǎn),之后再切換至其他路徑。另外,企業(yè)內(nèi)部的不同團(tuán)隊(duì)往往也會(huì)采取不同的容器部署方式。因此,企業(yè)內(nèi)部往往同時(shí)存在多種容器部署模式。
引入容器平臺
不少企業(yè)在開始使用容器之后,很快意識到自己需要一套平臺。通常,由特定的小組(例如devops小組)在推進(jìn)變更的過程中,引入一套用于快速執(zhí)行實(shí)驗(yàn)及部署的敏捷性技術(shù)平臺。在此過程中,容器就成了理想的解決方案,他們會(huì)力爭說服領(lǐng)導(dǎo)者接納容器,并最終將其作為企業(yè)運(yùn)營的固定組成部分。關(guān)鍵問題在于,企業(yè)應(yīng)該使用哪種平臺部署并管理容器?盡管目前市面上存在著大量開源容器工具,但企業(yè)級容器平臺通常囊括數(shù)十種開源項(xiàng)目,包括kubernetes編排、安全性、網(wǎng)絡(luò)、管理、自動(dòng)化構(gòu)建以及持續(xù)集成/部署等功能??偠灾?,這類平臺有助于解決管理、治理以及安全性方面的諸多問題。
對于這條路徑,企業(yè)可以先從易于實(shí)現(xiàn)的目標(biāo)入手。 web服務(wù)器與應(yīng)用程序服務(wù)器往往是最易于作為容器化工作負(fù)載進(jìn)行部署的目標(biāo),然后進(jìn)一步引入數(shù)據(jù)庫與有狀態(tài)系統(tǒng),同時(shí)密切關(guān)注與現(xiàn)有構(gòu)建及部署工具/流程的集成效果,把握進(jìn)展情況。
除此以外,也要考慮容器安全問題。由于容器中包含系統(tǒng)特定的庫與依賴項(xiàng),因此更不容易發(fā)現(xiàn)隱藏的安全漏洞,可信注冊表、鏡像掃描與管理工具可實(shí)現(xiàn)自動(dòng)識別并修復(fù)容器鏡像。
打造云原生應(yīng)用容器
一些企業(yè)更傾向于使用由應(yīng)用程序開發(fā)團(tuán)隊(duì)打造的云原生應(yīng)用容器,其中包括新項(xiàng)目以及對原有應(yīng)用程序的改造成果。這類應(yīng)用程序通常以微服務(wù)架構(gòu)為基礎(chǔ),目標(biāo)在于將應(yīng)用程序拆分為多項(xiàng)基礎(chǔ)服務(wù),以便團(tuán)隊(duì)可以針對各獨(dú)立組件進(jìn)行應(yīng)用程序更新。it團(tuán)隊(duì)還可以使用靈活的api實(shí)現(xiàn)這類目標(biāo)。
如果采用此種模式,企業(yè)應(yīng)使用安全且易于理解的api集在應(yīng)用程序當(dāng)中同其他自有,或者第三方應(yīng)用程序、系統(tǒng)及數(shù)據(jù)進(jìn)行交互。另外,還需要充分考慮如何將其與現(xiàn)有系統(tǒng)相集成。由此可以看出,容器與微服務(wù)及api相結(jié)合,將幫助開發(fā)團(tuán)隊(duì)更輕松地開發(fā)、協(xié)同并部署云原生應(yīng)用程序。
在考慮使用新的運(yùn)行時(shí),以往部署的單體式應(yīng)用服務(wù)器很難用于運(yùn)行下一代應(yīng)用程序,這是因?yàn)楹笳咄捎檬录?qū)動(dòng)設(shè)計(jì)、響應(yīng)式以及無服務(wù)器等新興技術(shù)。容器平臺必須有能力支持廣泛的現(xiàn)有及云原生運(yùn)行時(shí)與框架方案。同時(shí),也要關(guān)注開發(fā)者工具,在運(yùn)行時(shí)不斷發(fā)展的同時(shí),立足云端的開發(fā)者工具,也有望高效管理由自我學(xué)習(xí)技術(shù)以及自動(dòng)化工作流帶來的日益復(fù)雜的工作環(huán)境,進(jìn)而幫助開發(fā)人員更快構(gòu)建起高質(zhì)量產(chǎn)品代碼。
實(shí)現(xiàn)云管理的技術(shù)與文化因素
在這種常用模式中,運(yùn)營團(tuán)隊(duì)或管理大量應(yīng)用程序的其他團(tuán)隊(duì)通常已經(jīng)深刻認(rèn)識到公有云的優(yōu)勢,且希望將其彈性、速度與性能等要素納入運(yùn)營環(huán)境。但團(tuán)隊(duì)可能出于歷史、法規(guī)或安全等方面的考量,仍需要在本地環(huán)境中運(yùn)行某些應(yīng)用程序。此外,團(tuán)隊(duì)通常還需要面對原有裸機(jī)服務(wù)器或虛擬化環(huán)境,甚至包括一部分私有云。面對繁多的考量因素,云管理將成為至關(guān)重要的一環(huán)。
這其中關(guān)鍵問題在于——要如何建立一個(gè)抽象層級?一套在所有環(huán)境中都能良好運(yùn)行的平臺?確保運(yùn)營團(tuán)隊(duì)能夠無縫管理所有應(yīng)用程序?又如何將各類基礎(chǔ)設(shè)施隱藏起來,為開發(fā)人員提供一套統(tǒng)一的部署環(huán)境?這種便利性將成為提高開發(fā)者工作速度的重要前提。
從另外一個(gè)方面來看,文化因素可能讓數(shù)字化轉(zhuǎn)型難以起步。一位帶領(lǐng)重要變革的銀行cio表示,除非員工們能夠在心態(tài)與行為模式上真正適應(yīng)這種改變,否則一切變革都只能是空談。推動(dòng)文化變革的it領(lǐng)導(dǎo)者需要同時(shí)得到企業(yè)高層與基層團(tuán)隊(duì)管理者的支持。畢竟,無論愿不愿行動(dòng)、如何行動(dòng),業(yè)務(wù)對于速度的追求永遠(yuǎn)不會(huì)消失。
推動(dòng)業(yè)務(wù)創(chuàng)新
在這種模式下,企業(yè)會(huì)成立一支小團(tuán)隊(duì)以解決特定的業(yè)務(wù)問題,這就需要引入更多現(xiàn)代實(shí)踐,引導(dǎo)員工成為變革的推動(dòng)者。同時(shí),it團(tuán)隊(duì)需要快速創(chuàng)建、迭代并確保it部門后續(xù)能夠?qū)鉀Q方案進(jìn)行擴(kuò)展。這些團(tuán)隊(duì)通常會(huì)獲得新的技術(shù)工具與使用權(quán)限,根據(jù)不同規(guī)則進(jìn)行探索性嘗試。
我們的it人員是否具備適應(yīng)新需求的技能?我們需要招聘新員工嗎?我們原本的技能投資該怎么處理?……這些對技能的爭論逐漸浮出水面。企業(yè)不僅需要招聘新員工,還需將內(nèi)部交叉培訓(xùn)結(jié)合起來,由外部專家評估當(dāng)前狀況,并制定計(jì)劃以幫助達(dá)成目標(biāo)。
值得注意的是,企業(yè)不要怕失敗,如果企業(yè)不愿放手讓it團(tuán)隊(duì)進(jìn)行大膽嘗試,那么人才必將開始流失。以澳大利亞麥格理銀行為例,他們的cio就希望招募人才以建立新的、極具突破性的客戶體驗(yàn)。正是憑借著這種充分放權(quán)、尊重創(chuàng)造的態(tài)度,麥格理銀行才成功吸引到了高質(zhì)量的新鮮血液。
總結(jié)
每一段數(shù)字化轉(zhuǎn)型都有其獨(dú)特之處,也沒有哪兩條devops道路會(huì)一模一樣。正如之前提到的四種模式一樣,你不一定非要照搬其他企業(yè)或競爭對手的容器使用方式。但可以向他們學(xué)習(xí),并參考以下幾項(xiàng)基本思路推動(dòng)容器采用:
成熟企業(yè)比云原生企業(yè)面臨著更大的挑戰(zhàn)。netflix一直以快速發(fā)展的開發(fā)團(tuán)隊(duì)為傲,而且從不會(huì)為陳舊的基礎(chǔ)設(shè)施所限。相比之下,不少成熟企業(yè)的cio仍然需要支持cobol應(yīng)用程序。it管理團(tuán)隊(duì)需要明白,沒必要在這方面netflix進(jìn)行直接比較。
不要被規(guī)模問題困擾。單從規(guī)模角度來看,世界上沒有幾家企業(yè)能夠與facebook相提并論。但你并不需要facebook那么龐大的資源或技能儲(chǔ)備,也可以完成重大的業(yè)務(wù)變革,從小處入手,并在逐步獲得成功后再擴(kuò)展團(tuán)隊(duì)、引入技術(shù)。
最后,鼓勵(lì)it團(tuán)隊(duì)積極參與外部交流。鼓勵(lì)團(tuán)隊(duì)成員與公司之外的同行們交互,共同探討技術(shù)與文化層面的挑戰(zhàn)。