如何开始容器化
【編者的話】這是一篇入門級的文章。這篇文章描述了DevOps團隊開始使用容器的原因及指導DevOps工程師明確進行應用容器化的戰略。
【3 天燒腦式容器存儲網絡訓練營 | 深圳站】本次培訓以容器存儲和網絡為主題,包括:Docker Plugin、Docker storage driver、Docker Volume Pulgin、Kubernetes Storage機制、容器網絡實現原理和模型、Docker網絡實現、網絡插件、Calico、Contiv Netplugin、開源企業級鏡像倉庫Harbor原理及實現等。
作為我工作的一部分,我經常會遇到DevOps工程師,與他們討論容器戰略。大多數時候,他們都渴望獲得容器提供的好處,但作為新手,他們可能已經有一個基于容器的系統,或部署在本地或云端,卻沒有明確的戰略。
鑒于容器的創新性,我們容易興奮,想要全力以赴,但我鼓勵人們明確界定短期和長期目標,建立適應容器及其周邊文化所需的跑道。
DevOps團隊想要開始使用容器的主要原因如下:
1. 加快應用開發和部署
容器具有精益、輕便和快速。你可以基于流行的開源項目,使用現成的樣板鏡像,輕松開發容器。應用作為容器鏡像進行打包、裝運、并以同樣的方式,在開發環境和生產環境中運行。如果流程中添加了自動化功能,例如CI/CD工具,可以達到更高的效率。
2. 將應用程序遷移到云上
容器的另一個非常有用的特性是可移植性。應用容器化是對應用的抽象,使其運行在主機操作系統和物理基礎架構上。同一容器可以在本機或云(私有或公共)中運行,而無需轉換部署格式或更改一行代碼。
3. 轉向微服務
每個容器通常是單一用途、單進程,它與微服務架構很好地對齊。組織正在尋找更好的方法來開發和維護他們的應用程序,可以放棄難于維護的大型的單體應用,使用更容易開發和升級的微服務架構。容器是微服務的完美平臺,在其周圍發展的生態系統,能夠使大型組織達到微服務擴展策略。
應用容器化有很多好處 - 但問題是從哪里開始?你應該把遺留的單體應用重構到微服務容器中,或者容器化新的應用。
那么,還有其他方法開始嗎? 將現有的遺留應用容器化,而不是重構為微服務。遺留的單體應用容器化,將失去微服務應用程序提供的一些優勢,如: 易于維護和更新,但這樣的做法也會帶來很多好處。
應用容器化,將容器引入環境中,在構建團隊并建立流程的同時,使團隊熟悉容器和微服務架構,從而找到轉換成微服務的優化方法。
同時,使用容器,你需要一個管道和工具鏈,可用于封裝新的微服務, 管理遺留應用程序。這樣,你可以對容器周圍的所有流程進行規范化,即使你在容器內運行遺留的單體應用。這種方法的優點是你可以將微服務使用于現有的應用程序上,以便任何新的功能都是以微服務為基礎的。
最近流行一種混合方法,做為 DevOps的一種用例,稱為 “提升和轉移”。 “提升和轉移”是指將本地部署的單體應用容器化(通常來自舊數據中心)并將其轉移到其他地方(通常進入現代公有云或私有云)的過程。
然而,正如一位DockerCon參會者指出的那樣,“提升和轉移”不僅是傳輸機制。它提供了轉換到微服務模型的基礎,并作為管理的方式將容器引入環境。這就是為什么它很快成為熟悉容器的DevOps團隊的流行方法。即使收益有限,但對于想在容器戰略上展現明確前進目標,也是快速的勝利。
如果你的目標是使用容器重新構建遺留應用,以微服務架構完整的重寫是一大步。這里面有很多中間步驟,例如將應用程序重構成幾個更大的塊 –“宏觀服務”,如果你愿意的話。它還將提供一些好處,并允許你逐漸深入到真正的微服務架構中。
DevOps團隊首先決定什么進行容器化,以及他們可能會考慮與外部利益相關者建立關系,以幫助支持進一步的創新。鑒于我的博客的名稱是“DevSecOps”,因此我希望將安全性放在首位,因為他們有潛力成為DevOps極具戰略意義的合作伙伴。
無論安全和DevOps之間可能存在什么障礙(我之前發布的其中一些內容),DevOps的合作精神可以成為安全工程師的強大誘惑。 安全團隊不僅可以成為一個強大的盟友,他們可能會深入了解安全/ IT風險的考慮因素,從而加強DevOps驅動容器化特定的應用程序的商業理由。
“重建或容器化現有應用程序”沒有一個適合所有的解決方案。 這就是為什么快速勝利如此重要 - 所以無論你決定做什么,做好準備,創造切合實際的成功標準。
原文鏈接:How to Get Started With Containerization(翻譯:范彬)
===============================================================
譯者介紹:范彬,從事微服務、Docker和Kubernetes容器技術等方面的工作??梢躁P注譯者的微信公眾號:范范米飯。
總結
- 上一篇: 游戏网络知识
- 下一篇: 基于Docker的TensorFlow机