D16Next

介紹下一個世代的數據虛擬化技術 (Data Virtualization - D16N),與數據處理、雲端相關技術

關於 Cloud Native

如果您第一次聽到 Cloud Native 建議您先看看 “Cloud-Native v.s. Cloud-Based 應用”

Cloud Native 是一個近期常聽到的一個名詞,今天讓我們了解一下什麼是 Cloud Native 呢?很多人會把 Cloud Native 與 Cloud-based 兩個名詞搞混,他們兩個其實是完全不一樣的東西。讓我們來開始吧!

Source

什麼是 Cloud Native?

Cloud Native 用來表示已經包裝好容器 (Containerize) 的應用、軟體,也就是說 Cloud Native 是用來指應用程式已經被容器包裝好可以直接 deploy 成一個 Microservice 或是變成一個很有彈性的架構經過 DevOps 或是 CI/CD 的流程可以直接變成一個新的服務。

Related image

Source

在傳統的做法,管理團隊會需要管理架構並分派資源以及伺服器,而 Cloud Native 則是一個已經包裝好的容器您可以直接的發布在雲運算、儲存、分派資源,或是在您的伺服器中立即的部署 Cloud Native 的服務。

我們來看一下官方對 Cloud Native 這個詞的定義。

Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil. - CNCF definition (Source)

可以看到以上的定義,基本上 Cloud Native 當然就是主要要瞄準雲原生的應用程式,讓服務可以很快地上公有雲、私有雲以及混合雲的架構。而且讓這個雲原生的應用可以很有彈性的去自動化管理系統以及服務。

Cloud Native 有多紅?

以下是筆者在 2019 年 11 月的截圖。

2019 年 11 月狀況

上圖為 2019 年 11 月的狀況,以下為 2018 年的狀況。貢獻者就已經快兩倍的成長。

2018 年狀況

在看以下 2017 年的狀況,對短短兩年內就已經有差不多四倍的成長!!這是非常驚人的成長速度呀!

2017 年狀況

為什麼 Cloud Native 會這麼熱門?有很大一部份的原因就是現在的 Cloud 供應商都是以 Cloud Native 的專案延伸,像是 Kubernetes 在 AWS 就有 EKS,Google Cloud Platform 有 GKE (Google Kubernetes Engine),Azure 有 AKS (Azure Kubernetes Service)。所以這些雲供應商都很大力的推廣 Cloud Native 這個新名詞。

如果您看到 Cloud Native XXX 的服務,基本上就是代表他的服務可以非常快就可以上雲開始應用,後面所使用的 Service 都會幫您管理或是自動部署整個雲端的伺服器的發佈、編排、優化等,主要圍繞在雲架構中。

為什麼 Cloud Native 會這麼紅?

原因很簡單,因為雲服務現在已經是所有企業發展的主流。大家現在要開發任何服務基本上都會先從雲的解決方案開始找。所以雲相關的軟體應運而生,也就是您所看到的 Cloud Native 軟體、應用。

那 Cloud Native 的應用有什麼特色呢?

  1. 打包成一個可以快速發佈的容器:Cloud Native 應用為一包打包好的獨立服務 (Microservices) 所包裝好的輕量容器,讓您可以一下就把這個應用把上獨立的上雲使用。
  2. 依照每個情境最適合的情況做設計:比起過去要開發其他軟體都要去思考既有服務的架構,不論是程式語言及框架可都要考慮到過去的程式架構進行設計,而 Cloud Native 則是完全獨立。
  3. 延續 Microservice 的精神:在 Cloud Native 延續 Microservice 的設計讓他可以獨立的運行,並簡單的銜接其他服務。
  4. 分離於伺服器以及作業系統:由於很多 Cloud Native 的應用是建至於雲服務,所以他在使用的時候都不必在想說要支援 MacOS, Linux, 還是 Windows 等問題。
  5. 立即發佈於雲架構與自動化擴充:就和他的名稱一樣,雲原生所以可以很快速的把服務上雲,並同時有彈性的快速自動化擴充以及優化伺服器!

結論

您還沒有使用過 Cloud Native 應用嗎?照著個趨勢 Cloud 將來會在所有的應用程式中,多多關注 Cloud Native 的動態吧!