1. 程式人生 > 其它 >雲原生應用與架構

雲原生應用與架構

雲原生應用一般是指原生支援雲部署,並能充分利用和發揮雲平臺能力的應用程式。它一般都有3大特徵:

  • 容器化封裝。容器化封裝是指以容器為基礎,應用程式封裝在容器之中,在容器裡執行,實現資源的相對隔離與容器映象的重複使用。
  • 面向微服務。面向微服務是指把一個大的功能應用拆分成一個個功能單一、相對獨立、相互解耦的微應用,微應用之間通過介面進行通訊。
  • 動態管理。動態管理指通過一個統一的編排工具,比如K8S,來動態的管理和排程這些微服務。

後來隨著雲端計算的發展,CNCF雲原生計算基金會又增加了另外2條:

  • 宣告式的API
  • 服務網格

如果某個應用符合以上的幾點特徵,就可以稱為雲原生應用。因為雲原生應用天生的各種優勢,現在越來越多的企業開始擁抱雲原生,這就要求企業要有一個新的技術架構使之能更好的利用雲原生技術。而這種利用雲原生技術讓業務更敏捷、成本更低、應用更強的技術架構,就可以成為雲原生架構。它利用容器技術,基於微服務,藉助敏捷方法,通過DevOps路程來實現應用的持續交付。

所以,雲原生架構 = 微服務 + 容器化 + DevOps + 持續交付

使用雲原生架構帶來的好處很多,歸納起來大概可以有以下幾點:

  1. 快速。天下武功,無堅不摧,唯快不破!雲原生架構使用敏捷開發和DevOps,不但可以讓企業快速的開發產品,自動化的部署產品,同時還能持續的更新產品,讓產品更得上需求,甚至是引導需求,讓企業立於不敗之地。
  2. 彈性擴充套件。雲原生架構天生具有云計算的特點。它的資源是可以按照實際情況進行伸縮,這樣不但提高了資源的利用率,也大大降低了企業成本。
  3. 安全與強壯。雲原生架構依託於容器編排工具(K8S)與微服務的組合,應用就擁有了自動恢復能力、容錯能力、故障隔離能力,讓應用時刻處於可用的狀態。
  4. 遮蔽底層差異。因為使用了容器化技術,應用運行於容器之中,應用就不需要考慮底層硬體的差異,只要是能執行容器映象的硬體都可以執行程式,大大簡化了開發工作量。同時對運維人員也極為友好,不需要再為環境問題而苦惱。