老外編輯帶你邁出自己容器化的第一步
譯文【51CTO.com快譯】作為一名技術(shù)編輯,我在工作中經(jīng)常與人討論他們的容器化戰(zhàn)略。在剛開(kāi)始接觸容器的時(shí)候,人們總是希望得到容器技術(shù)所帶來(lái)的利好,而沒(méi)有想到過(guò)破壞性容器。他們可能有一兩個(gè)基于容器的系統(tǒng),或者在使用云技術(shù),但是沒(méi)有明確的戰(zhàn)略。
在你興奮的全力奔向容器之前,***弄清楚破壞性容器是什么。我建議人們建立短期和長(zhǎng)期的目標(biāo),并且在容器化的道路上適應(yīng)新的需求并且接受其文化內(nèi)涵。
Devops團(tuán)隊(duì)要開(kāi)始使用容器的原因是:
首先,加快應(yīng)用程序的開(kāi)發(fā)和部署:容器簡(jiǎn)潔、輕便、快速,你可以很容易的開(kāi)始使用基于熱門開(kāi)源項(xiàng)目的現(xiàn)成模版圖像和顯影容器。準(zhǔn)備就緒之后,你可以打包你的任務(wù)為容器映象,并在生產(chǎn)環(huán)境中運(yùn)行,與你在開(kāi)發(fā)環(huán)境中所做的完全一樣。如果將自動(dòng)化添加到進(jìn)程中,比如CI/CD工具,那么進(jìn)程將變得更快。
其次,將應(yīng)用程序遷移到云中:容器的另一個(gè)非常有用的特性是它們的可移植性。容器化一個(gè)應(yīng)用程序來(lái)自主操作系統(tǒng)和物理基礎(chǔ)設(shè)施,相同的容器可以在前提下運(yùn)行也可以在公有或私有云中運(yùn)行,而不需要轉(zhuǎn)換部署格式或更改代碼。
***,轉(zhuǎn)向微服務(wù)構(gòu)架:每個(gè)容器通常是單一的指向,單一的過(guò)程,并且恰當(dāng)?shù)男?zhǔn)微服務(wù)構(gòu)架。組織正在尋找更好的方法來(lái)開(kāi)發(fā)和維護(hù)應(yīng)用程序,離開(kāi)那些難以維持微服務(wù)構(gòu)架的大型應(yīng)用程序,會(huì)有助于開(kāi)發(fā)和升級(jí)。容器是微服務(wù)構(gòu)架的***平臺(tái),生態(tài)系統(tǒng)的涌現(xiàn)使得大型微服務(wù)戰(zhàn)略得以實(shí)施。
容器化你的應(yīng)用有很多好處,但問(wèn)題是從哪里開(kāi)始呢?你應(yīng)該把過(guò)去的應(yīng)用重構(gòu)為現(xiàn)代微服務(wù)構(gòu)架容器還是應(yīng)該用容器制造一些新的東西?
有時(shí)我們也會(huì)嘗試用另一種方法,容器化現(xiàn)有的應(yīng)用程序而不是重構(gòu)為微服務(wù)的模式?當(dāng)我們?nèi)萜骰粋€(gè)應(yīng)用程序的時(shí)候,整體的應(yīng)用程序可能和容器不兼容,你可能會(huì)損失一部分微服務(wù)應(yīng)用帶來(lái)的利好,特別是易于維護(hù)和更新的選項(xiàng),但是仍然有很多可以保留的地方。
容器化一個(gè)應(yīng)用程序可以使你把容器帶到環(huán)境中,幫助你去構(gòu)建團(tuán)隊(duì)和建立流程,優(yōu)化這之間的過(guò)渡,直到完成一個(gè)基于微服務(wù)構(gòu)架的應(yīng)用程序。
在容器化的結(jié)尾,你會(huì)想有一個(gè)管道和工具鏈,可以用于新的微服務(wù)和管理舊應(yīng)用程序的打包。通過(guò)這種方式,您可以規(guī)范容器周圍的所有進(jìn)程,甚至可以在容器中運(yùn)行遺留的單片應(yīng)用程序。使用這個(gè)方法的優(yōu)勢(shì)是,你可以把微服務(wù)綁定在現(xiàn)有的應(yīng)用程序上,然后所有的新功能都可以基于微服務(wù)構(gòu)架。
一個(gè)最近比較流行的混合的方法是,用Devops的已知案例來(lái)提升和轉(zhuǎn)移。"提升和轉(zhuǎn)移"是指容器化過(guò)程中的一個(gè)前提。用單一的應(yīng)用程序來(lái)解除它(通常來(lái)自舊的數(shù)據(jù)中心)并將其轉(zhuǎn)移到其他地方(通常是現(xiàn)代公共或私有云)。
然而,作為一個(gè)提示,提升和轉(zhuǎn)移應(yīng)該不僅僅只是一個(gè)傳送機(jī)制。它為轉(zhuǎn)化為微服務(wù)構(gòu)架模式提供了基礎(chǔ),并且以可管理的方式將容器引入環(huán)境中。這就是為什么它可以迅速成為一種Devop團(tuán)隊(duì)容器化的流行方法。但是當(dāng)用于提供更有效的一系列好處時(shí),對(duì)于那些想在容器戰(zhàn)略上表現(xiàn)出實(shí)質(zhì)性進(jìn)展的人來(lái)說(shuō),這可能是一個(gè)快速的勝利。
如果你的目標(biāo)是用容器重新構(gòu)建一個(gè)遺留應(yīng)用程序的話,完整改寫微服務(wù)構(gòu)架是重要的一步。這中間有許多環(huán)節(jié),如分成幾大塊重構(gòu)應(yīng)用程序。它還將提供一些好處,讓你逐步深入到真正的微服務(wù)構(gòu)架中去。正如Devops團(tuán)隊(duì)決定如何運(yùn)用容器技術(shù)一樣,他們可能會(huì)考慮建立外部聯(lián)系,因?yàn)橥獠康耐顿Y可以支持更長(zhǎng)遠(yuǎn)的創(chuàng)新。就像我在博客中命名的"DevSecOps",我把安全小組放在列表的首位,我認(rèn)為它將會(huì)是Devops有用的伙伴,非常有戰(zhàn)略意義。
不管在安全和Devop之間會(huì)存在什么樣的障礙,Devops的協(xié)作精神對(duì)于安全人員來(lái)說(shuō)很有吸引力。安全小組不僅可以成為強(qiáng)大的盟友,他們可能在安全和IT風(fēng)險(xiǎn)方面有更長(zhǎng)遠(yuǎn)的考慮,這可以加強(qiáng)對(duì)特定應(yīng)用程序容器化的Devops驅(qū)動(dòng)業(yè)務(wù)。
***,對(duì)于重建或容器化現(xiàn)有應(yīng)用程序,兩難在于,沒(méi)有一個(gè)解決方案是適合所有人的,這就是為什么快速獲勝是非常重要的。所以不管你決定怎么做,做好計(jì)劃,去創(chuàng)造一個(gè)現(xiàn)實(shí)的成功標(biāo)準(zhǔn)吧!
技術(shù)名詞解釋:
容器:容器技術(shù)虛擬化技術(shù)已經(jīng)成為一種被大家廣泛認(rèn)可的容器技術(shù)服務(wù)器資源共享方式,容器技術(shù)可以在按需構(gòu)建容器技術(shù)操作系統(tǒng)實(shí)例的過(guò)程當(dāng)中為系統(tǒng)管理員提供極大的靈活性。
Devops:英文是Development和Operations的組合,是一組過(guò)程、方法與系統(tǒng)的統(tǒng)稱,用于促進(jìn)開(kāi)發(fā)(應(yīng)用程序/軟件工程)、技術(shù)運(yùn)營(yíng)和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。
微服務(wù)構(gòu)架:微服務(wù)是一項(xiàng)在云中部署應(yīng)用和服務(wù)的新技術(shù)。大部分圍繞微服務(wù)的爭(zhēng)論都集中在容器或其他技術(shù)是否能很好的實(shí)施微服務(wù)。
作者:InfoWorld編輯AmirJerbi
原文鏈接:
http://www.infoworld.com/article/3200174/devops/how-to-get-started-with-containerization.html
劉妮娜譯
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】