天天看點

應用容器化遷移與雲原生的探索|商派運維團隊雲原生的由來雲原生的探索應用容器化遷移過程解決的問題總結

文:商派運維團隊 朱士傑

前言:

回顧過往,商派ShopeX的基礎架構體系,從最早的IDC(大量采買硬體來搭建我們的服務),再到雲計算(虛拟化上雲),在這兩次變革中,我們的服務效率、費用成本和品質都上了一個新的台階。但在業務場景大爆發的潮流中,我們也遇到了許多需要解決的問題,如:

● 傳遞新環境的時間比較長

● 應用日常釋出更新比較繁瑣

● 大促緊急擴容的能力不足

● 底層的雲資源無法有效利用

經過大量的實踐與經驗積累,商派ShopeX正式步入了雲原生的架構體系,通過容器+K8S+devops的管理方法,不斷提升商派的基礎架構的穩定性、擴充性、高效性、安全性。

#   什麼是雲原生

           

雲原生的由來

雲原生(Cloud Native)由來已久,其本質就是說應用程式從設計之初即考慮到雲的環境,原生為雲而設計,在雲 上以最佳姿态運作,充分利用和發揮雲平台的彈性+分布式優勢。

我們現在說的雲原生最核心的技術就是Kubernetes,以至于後面雲原生可以真正落地。Google從2000年就開始使用了容器(linux容器)系統,其内部一直使用容器化編排引擎(Borg),Kubernetes也由此而來。

2014年Google開源了Kubernetes。

2015年Google主導成立的雲原生計算基金會(CNCF),并把Kubernetes作為初創項目貢獻給了CNCF。

雲原生的探索

● 解決應用環境标準化的問題

容器化是指将軟體代碼和所需的所有元件(例如庫、架構和其他依賴項)打包在一起,讓它們隔離在自己的“容器”中。
 這樣,容器内的軟體或應用就可以在任何環境和任何基礎架構上一緻地移動和運作,不受該環境或基礎架構的作業系統影響。容器就像是一個氣泡(或者是應用周圍的計算環境),把應用和周圍環境隔離開來。它相當于是一個功能全面、便于移植的計算環境。
 将應用打包裝入可在平台和基礎架構之間移動的容器後,隻用把該容器移動到某個位置,應用就能在那裡成功運作使用,因為容器中包含了成功運作應用所需的一切。
           
應用容器化遷移與雲原生的探索|商派運維團隊雲原生的由來雲原生的探索應用容器化遷移過程解決的問題總結

● Kubernetes自動化的特性

Kubernetes 是用于自動部署,擴充和管理容器化應用程式的開源系統。官方初始定義就是企業級應用,而他天生就高可用架構,我們可以通過同一份配置立即啟動一個一模一樣的環境,進而提高應用開發和部署的效率,而其本身就具有自動化上線,自動化擴容,自我修複的特性。
             
應用容器化遷移與雲原生的探索|商派運維團隊雲原生的由來雲原生的探索應用容器化遷移過程解決的問題總結

應用容器化遷移過程

遷移思維導圖

應用容器化遷移與雲原生的探索|商派運維團隊雲原生的由來雲原生的探索應用容器化遷移過程解決的問題總結

k8s容器化遷移

應用容器化遷移與雲原生的探索|商派運維團隊雲原生的由來雲原生的探索應用容器化遷移過程解決的問題總結

解決的問題

● 容器化之後新環境無需重複部署

容器化打包之後,應用本身部署的環境已經被容器本身取代,是以新開應用是無需重複部署環境的,和之前部署環境1-2天(加測試問題排查等)相比容器标準化之後,大大降低了部署時間。

● 大促擴容效率提速

應用容器化遷移與雲原生的探索|商派運維團隊雲原生的由來雲原生的探索應用容器化遷移過程解決的問題總結

2021雙11 商派業務中台 其中一個服務 從20個執行個體擴容到100個執行個體全部啟動僅用了8分鐘

● 應用日常釋出快

單應用一周釋出頻率超過30次,隻需負責項目研發負責上線工作,大大降低了上線成本。

● 底層的雲資源使用率提高

一般沒有容器化之前,非容器化應用的伺服器cpu水位使用率大概不到百分之10,容器化之後在相同的資源cpu水位提升百分之100,資源沒有飽和的情況下可以部署更多的應用。

總結

雲原生化使得應用增益良多,實踐和探索雲原生是未來很長一段時間需要走的路線,雲原生究其本質,凡是能夠提高雲上資源使用率和應用傳遞效率的行為或方式都是雲原生。

繼續閱讀