基於雲原生的架構體系

雲原生,不一樣的組織有不一樣的定義,但綜合起來大體意思是:使用開源技術棧開發微服務架構的應用,並容器化部署在動態變化的雲環境中,以充分利用雲環境提供的一系列優點。因此,雲原生架構指的是一個架構體系,而不僅是某種單一的應用架構,而云原生應用呢,是指充分利用雲環境所提供優點的應用,這些應用從一開始的設計就要考慮到雲環境的特色,生在雲上,長在雲上,是雲計算環境的原住民。微信

雲原生是雲計算髮展到必定階段才提出的概念,和雲計算服務推出的時間相比,大概後推了十年。這是能夠理解的,由於在雲計算髮展的初期,雲計算的各類功能都不是很成熟,你們都是摸索着前進。而當雲計算趨於成熟的時候,愈來愈多的應用上雲、雲化,這時候就須要考慮怎樣的使用方式才能最大發揮出雲計算的價值,雲原生的概念也就應運而生了。網絡

說到雲原生,首先繞不開的是Kubernetes項目,它是雲原生計算基金會(CNCF)孵化後最早畢業的項目,是容器編排領域事實上的標準,全部的其它雲原生項目,幾乎都是圍繞它而發展。Kubernetes不只僅編排和調度容器,並且抽象出了部署系統裏面須要涉及的各類資源對象,上層只須要操做這些資源對象來完成部署,從而達到將底層異構的硬件基礎設施標準化的目的。不一樣的基礎設施標準化後,各個廠商能夠基於此構建本身的PaaS平臺,這樣也能提升應用在不一樣PaaS平臺中的移植性。從某種程度上來講,你能夠認爲Kubernetes是一個分佈式操做系統或者是一個雲操做系統的內核,各家雲廠商都基於一樣的操做系統內核去進行擴展、定製,從而爲用戶提供具備差別化的操做系統界面。架構

那麼咱們所說的雲原生架構,就包括了這個分佈式操做系統自己的架構,以及基於此操做系統進行的其它各類應用、內核擴展組件的架構。這裏的內核組件,並非真正的Linux或Windows的系統內核,只是一種類比。由於咱們說Kubernetes是操做系統內核,那麼圍繞它提供服務的存儲、網絡組件,就能夠當作是對這個內核的擴展組件。咱們基於這個操做系統開發的微服務應用,使用了底層存儲、網絡組件提供的服務,充分利用了雲計算環境提供的優點,那麼這種微服務應用架構也就符合了雲原生架構所倡導的理念。分佈式

對於要學習和了解雲原生的技術同仁來講,首先要了解雲計算的基本概念和技術,而後根據實際須要,適當學習Kubernetes,以及圍繞着Kubernetes而發展的其它一些項目,這樣纔會有一個全局的視角。對於一個架構師或一個企業的技術領導者來講,須要思考怎樣構建企業的基礎架構和應用架構,那麼全局的視角是很是重要的,所謂不謀全局者不足以謀一域,說的就是這個意思,還沒體會到的朋友,隨着你逐漸地成長,慢慢就體會到了。微服務

可能有人就質疑了,雲原生架構,真的有那麼神嗎,真的值得去關注嗎?我一貫喜歡化繁爲簡,因此這麼說吧,雲原生架構體系,應該是將來5年到10年的架構方向,而在這期間,Kubernetes會逐漸成爲雲操做系統,當90%的人都採用這種新的操做系統來跑應用的時候,對於那10%的人來講,就比如如90%的同行都在使用Win7或Win10系統了,而你還在堅持使用XP甚至Dos系統!從這個角度來看,你是否是彷佛明白了點什麼。學習

歡迎微信掃碼關注【技術人成長】視頻號,與你分享更多技術人成長的心法,咱們視頻上見!雲計算

相關文章
相關標籤/搜索