天天看點

雲原生-我的學習路線總結1. 雲原生(Cloud Native)是什麼2.雲原生應用的特點3.雲原生技術概述4. 技術棧5. 雲平台應用6. 總結

總結一下截至目前為止學習到的雲原生相關技術,複習及鋪墊未來學習方向.

1. 雲原生(Cloud Native)是什麼

https://github.com/cncf/toc/blob/main/DEFINITION.md#%E4%B8%AD%E6%96%87%E7%89%88%E6%9C%AC

CNCF(雲原生計算基金會)定義:

雲原生技術有利于各組織在公有雲、私有雲和混合雲等新型動态環境中,建構和運作可彈性擴充的應用。雲原生的代表技術包括容器、服務網格、微服務、不可變基礎設施和聲明式API。
這些技術能夠建構容錯性好、易于管理和便于觀察的松耦合系統。結合可靠的自動化手段,雲原生技術使工程師能夠輕松地對系統作出頻繁和可預測的重大變更。
雲原生計算基金會(CNCF)緻力于培育和維護一個廠商中立的開源生态系統,來推廣雲原生技術。我們通過将最前沿的模式民主化,讓這些創新為大衆所用。      

從字面意思了解: 應用原生被設計為在雲上以最佳方式運作.

個人的了解: 在雲平台時代,各種中間件,基礎服務都在雲上運作,而開發應用不在過多考慮這些基礎應用,而是更多專注于業務.換句話說,雲原生應用從開發到部署都是基于雲産品開箱即用的特性,充分利用雲平台的分布式和可伸縮特性.

雲原生是一整套體系,包含了從開發,部署到運維的完整技術棧.

2.雲原生應用的特點

雲原生應用基于雲平台産生,具有雲平台産品的通用特性.

  1. 彈性可伸縮 根據業務需求,業務量按需彈性擴充應用
  2. 快速部署 基于雲平台可快速釋出,快速應用于生産
  3. 分布式
  4. 高效持續疊代
  5. ...

總的來說,對于傳統應用,雲原生應用從誕生就可以直接在雲上運作,而無需考慮伺服器,中間件,第三方元件等資源.

3.雲原生技術概述

雲原生是一整套技術體系,涵蓋了從開發到部署運維.

核心元素分為四塊

3.1 微服務

微服務技術:

  1. SpringBoot
  2. SpringCloud
  3. SpringCloudAlibaba
  4. Dubbo

3.2 容器化

  1. Docker容器化技術
  2. Kubernetes容器編排技術

3.3 DevOps

dev就是開發,ops就是運維

DevOps就是建構從開發到運維的自動化流程技術

DevOps也是一個技術棧,例如git,Jenkins,無

3.4 持續傳遞

以下來自百度百科,主要是我對這兩個概念也有一點混淆,總感覺持續傳遞和DevOps是你中有我,我中有你的感覺

持續傳遞與DevOps的含義很相似,是以經常被混淆。但是它們是不同的兩個概念。DevOps的範圍更廣,它以文化變遷為中心,特别是軟體傳遞過程所涉及的多個團隊之間的合作(開發、運維、QA、管理部門等),并且将軟體傳遞的過程自動化。另一方面,持續傳遞是一種自動化傳遞的手段,關注點在于将不同的過程集中起來,并且更快、更頻繁地執行這些過程。是以,DevOps可以是持續傳遞的一個産物,持續傳遞直接彙入DevOps。      

硬分的話,我将DevOps看作自動化流程的技術,将持續傳遞看作一種概念,DevOps是一種實作.

4. 技術棧

梳理下雲原生的技術棧

https://landscape.cncf.io/?category=app-definition-and-development&grouping=category

先搞一張官網技術棧原圖:

雲原生-我的學習路線總結1. 雲原生(Cloud Native)是什麼2.雲原生應用的特點3.雲原生技術概述4. 技術棧5. 雲平台應用6. 總結

怕不怕? 慌不慌?

總結下java裡我目前用到的技術,以及需要學習的技術,之後不斷補充

雲原生-我的學習路線總結1. 雲原生(Cloud Native)是什麼2.雲原生應用的特點3.雲原生技術概述4. 技術棧5. 雲平台應用6. 總結

5. 雲平台應用

雲原生應用依賴于各種雲平台産品,那麼想要學習雲原生,就也要學習雲平台的應用,更利于雲原生應用的開發部署.

以阿裡雲為例:

涵蓋了大部分應用中間件,需要了解不同中間件的部署應用

雲原生-我的學習路線總結1. 雲原生(Cloud Native)是什麼2.雲原生應用的特點3.雲原生技術概述4. 技術棧5. 雲平台應用6. 總結

6. 總結

雲原生是未來開發的方向,加油,學無止境!