「雲原生」,不少人會對這個新名詞感到困惑,到底什麼是雲原生,雲原生又能給咱們帶來什麼呢?其實雲原生的概念最先是由來自Pivotal的MattStine於2013年首次提出,這是他根據自身多年的架構和諮詢經驗總結出來的一個思想集合,獲得了開源社區的不斷完善,並被一直延續使用至今。安全
1、什麼是雲原生服務器
那麼到底什麼是「雲原生」呢?咱們試圖先從字面意思理解「雲(Cloud)」和「原生(Native)」。網絡
「雲(Cloud)」這個字面意識不難理解簡單的看就是天空中漂浮的一朵雲,那麼這個「雲」放在科技環境下由從指代網絡、互聯網的標識到如今的雲計算,因此能夠說「雲」在如今咱們默認指代雲計算。架構
「原生(Native)」字面的意識理解爲本地人,那麼一樣的放到現今的科技大環境下就是指"應用所處的環境"。框架
因此"雲原生"能夠簡單的理解爲:「一個應用系統藉助雲計算相關的周邊技術進行設計研發,從而使該應用能完美的適配雲上環境」。分佈式
雲原生計算基金會總經理Priyanka Sharma對雲原生的解釋爲:「雲原生技術是指工程師和軟件人員利用雲計算構建更快、更有彈性的技術,這樣作是爲了快速知足客戶的需求」。ide
而官網(CNCF)上則將雲原生的定義概況爲:服務網格、聲明式API、不可變基礎設施、微服務、容器這五大特徵,這也成了不少人對雲原生的基礎印象。模塊化
總結來講,雲原生就是一個快速構建應用的理念,一種快速交付應用的技術集合。微服務
雲原生還有一個很是重要的知識點,那就是雲原生基金會,畢竟雲原生這個理念須要落地推行的話仍是須要靠衆人來拾材,CNCF(雲原生計算基金會)致力於培育和維護一個廠商中立的開源生態系統,來推廣雲原生技術,能夠說CNCF的主要目的是培育雲原生工具市場。工具
目前CNCF基金會開放的相關項目圖以下:
CNCF基金會的會員大體以下:
2、雲原生的表明技術
上文提到過雲原生是一種理念,一個技術棧的集合。那麼相對應的技術棧主要有:容器、服務網格、微服務、不可變基礎設施和聲明式API。
容器:容器是與系統其餘部分隔開的一系列進程。運行這些進程所需的全部文件都由一個鏡像提供,這意味着從開發到測試再到生產的整個過程當中,容器都具備可移植性和一致性。簡單的說容器就是存放應用和應用相關依賴的「獨立集裝箱」,根據運送的貨物的不一樣特性能夠制定多種集裝箱類型(即容器鏡像)
服務網格:服務網格簡單的說能夠看作是咱們平時用的代理軟件,但這個代理軟件又更加的智能。Service Mesh能夠看作是傳統代理的升級版,用來解決如今微服務框架中出現的問題,能夠把 Service Mesh看作是分佈式的微服務代理。
微服務:將應用程序構造爲一組鬆散耦合的服務。在微服務體系結構中,服務是細粒度的,協議是輕量級的。簡單的說就是其中單個應用程序由許多鬆散耦合且可獨立部署的較小組件或服務組成。
不可變基礎設施:這裏基礎設施能夠理解爲一個應用運行所須要的基本需求,不可變性最基本的就是指運行服務的服務器在完成部署後,就不在進行更改。這裏指代容器鏡像。
聲明式API:描述最終運行環境的狀態,而由系統來決定如何來建立這個環境。例如,你的描述就變成「建立一個有三個Nginx的集羣」,而不是把建立Nginx的命令運行三次組成一個集羣。這樣的好處是當運行環境與描述不符合時,系統能檢測到差別,並自動修復,這樣系統就有了自動容錯的功能。
這些技術可以構建容錯性好、易於管理和便於觀察的鬆耦合系統。結合可靠的自動化手段,雲原生技術使工程師可以輕鬆地對系統做出頻繁和可預測的重大變動。
3、雲原生能帶來什麼
在去年IDC(互聯網數據中心)對企業的調研中,有將近70%已經將雲策略落地,卻只有3%能帶來明顯的獲利突破,差別就在技術面的「雲實踐成熟度」也就是雲原生化。
MSP團隊(基礎設施平臺服務商)在面對一個雲化項目時大體的流程,首先須要作相關的業務系統的調研,而後選擇相對應的雲平臺,而後給出相關的雲化方案,最後根據方案對業務系統進行遷移或者雲化的改造。可是面對混合雲或多雲環境的下雲特點存在差別性,致使了在雲實踐上的差別性。
而云原生化的雲服務平臺,不只可以顯着的下降基礎建設與管理成本、提升佈署靈活性與可擴充性,並且還有較高的安全性。
在微服務化方面:雲原生將應用程序代碼解耦成獨立模塊化單元,下降微服務的部屬時間與互依性,提升應用的擴展性等。
在容器化包裝方面:過去程序開發者可能須要建立多個虛擬機好讓不一樣的應用程序運做,但程序容器化讓多個應用程序得以存在同一操做環境中,開發人員將代碼、微服務放置在可複製、搬移的容器中,輕鬆地複製、發佈到任意雲平臺,多個容器間不會互相干擾(沙盒機制),不只減小管理工做還能更有效地利用硬件資源,實現更快的持續集成、交付與發佈。
在動態管理方面:經過集中的編排調度系統進行動態管理和調度,達到高速、低風險、迅速擴展和部署的方式,進行應用或服務的構建、測試、部署。
藉助以上優點以及相對一致的實踐方式,雲原生能快速的打通各家雲環境的壁壘,企業能夠對市場變化作出最快的反應,使得新創雲原生企業擁有能不斷顛覆傳統企業的威力。
4、雲原生的挑戰
根據CNCF的統計自2016年以來,生產中使用容器的數量增長了300%。根據這個規模來看如果在大型應用雲化部署後(這裏假設都是以容器實例在運行),那麼這個應用數以百計或者千計的容器該如何作好全生命週期的管理,如:監控日誌的採集告警、調度、以及應用模塊與模塊之間鏈路調用追蹤等將會是咱們即將面臨的最大的挑戰之一。