而今,云原生成了耳熟能詳的熱門詞,似乎不提云原生就落伍了,加入CNCF也成了云廠商引以為傲的技術優勢。
我們也看到各種云原生的定義,有來自CNCF的“微服務+容器+持續交付+DevOps”,也有來自不同云廠商的說法。2020年9月,阿里云成立了云原生技術委員會,今天我就從云計算的初心嘗試談談什么是真正的云原生。
狹義的云原生
讓我們先回顧云原生的由來。
云計算興起之后,以Docker為代表的容器浪潮,席卷業界,以DevOps和標準化交付而廣受青睞。在此背景下,Google創造性地提出了云原生的概念,并發布了開源編排工具Kubernetes,從統一部署和標準化的角度切入,其后更成立了CNCF基金會,成功地殺出了一片天地。
2020年12月,CNCF大使Ian Coldwater在社交媒體上說:“Kubernetes現已棄用了對Docker的支持。您需要注意這一點,并作好相應的規劃。這會搞壞您的集群。”
這說明云原生戰略獲得了歷史性的進展。從這個角度來看,將云原生等同于容器和服務網格,是早期對云原生狹義的理解。
廣義的云原生
那么,什么是廣義的云原生呢?因云而生的軟件、硬件、架構,就是真正的云原生。
我們認為,云原生更多應該從客戶應用的視角來看,部署到云上的應用,必須用到了只有大規模公共云實踐才能提供的三類能力的一類或多類,即彈性、API自動化部署和運維等特性;服務化的云原生產品,如RDS、EMR等;因云而生的軟硬一體化架構。這,就是云原生。
首先,云原生應用是相對線下傳統企業IT物理機上的環境而言,要用云的方式來部署和管理應用,充分利用云的供應效率,要全球部署、即開即用、按量付費。
客戶就近獲取云的能力,就是所謂彈性,我們去年出過一本書,書名叫《彈性計算 無處不在的算力》,講的就是背后的原理,要具備這種極致的彈性才是云原生。在云上提供的Kubernetes,是通過自動化部署和運維的API標準化,實現了云原生。
其次,今天我們已經看到云原生數據庫、云原生大數據、云原生容器、云原生中間件、云原生安全等等概念,這都是在云上可以隨意獲取的服務化云原生產品,是傳統線下沒有的服務,有助于獲得性能和成本上的加強,這就是云原生。
特別值得一提的是以神龍架構為代表的軟硬一體虛擬化。虛擬化經歷了純軟件虛擬化、通用硬件虛擬化、到現在的軟硬一體化虛擬化。
通過計算存儲的分離,使用專用的神龍芯片,對虛擬化進行加速,從而達到超越物理服務器的高性能。作為云計算架構的底層,所有中間件和應用層都能從中獲得性能的收益,而無需進行任何代碼和架構的修改。
此外,神龍架構支撐的是同一套資源架構并池的資源能力,包括ECI(Serverless容器)、VM、裸金屬等,從而讓所有的資源能夠統一調度,進而實現最深的彈性。這也是業界第一次實現了統一架構和統一資源調度,被視為中國云廠商的重大技術貢獻。
從這種意義上來說,神龍架構就是因云而生,是典型的云原生。簡單而言,如果沒有云計算的大規模部署場景,神龍的優勢就不能發揮得淋漓盡致。
所以,云原生的初心是在云上的原生,如果缺乏云的基本特征,必然不是云原生。極端而言,如果你自己買了兩臺服務器,放在辦公室,上面部署了容器,然后用Kubernetes來管理,那就不是云原生,因為缺乏彈性、API自動化部署和運維的能力,連云都不是。
CNCF更多的是倡導一個系統要用什么組件進行架構,這樣才能實現互聯網架構和運維能力,實現快速迭代、靈活擴展、高效運維。而這些能力的發揮需要這些架構框架基于云,兩者結合則為云原生。
很多人會問,某個開源軟件是否是云原生?這個要看它的架構。以開源數據庫為例,如果其架構上還是針對傳統的單機和小規模,那就不是云原生;如果保持開源的接口兼容性,同時做了云原生改造和重新設計,運維和管控都充分利用了云的基礎能力,那就是云原生的軟件和服務,如阿里云的PolarDB數據庫。
多云和混合云加速了云原生
歷史的發展總是曲折的,因為相信所以看見,也總是一波三折。在盤山公路上前行時,往往眼中只能看到有限的視野。
為達到更高的性價比、容錯和效率,業界產生了多云和混合云。多云是客戶將業務負載分別部署到不同的公共云廠商,而混合云更多是客戶將業務負載部署到公共云和專有云上。
多云是競爭的產物,雖然亞馬遜和阿里云一直認為用戶用一家的云就夠了。而混合云的產生角度不同,它是為了滿足客戶分步上云的意愿,同時滿足部分行業監管合規的需求,而構建的一種云架構。
無論是多云還是混合云,云廠商為了降低業務分布式部署的難度,讓客戶更容易接受,都會敦促客戶對業務進行單元化改造,因為Kubernetes解決了標準化部署和遷移的問題。
同時除了Kubernetes和容器之外,往往涉及到使用公共云帶來的彈性、加速等等服務能力,以及數據庫、大數據、音視頻等系統的云原生改造。可見,Kubernetes加速了狹義的云原生能力。
云原生芯片
從計算芯片的角度而言,云計算帶來了全新的應用場景,從而對CPU提出了新的需求,也就是云原生芯片。
比如阿里云的神龍芯片,就是云原生芯片。它是整個設備的核心,因為通過它可以讓神龍服務器完完全全具有虛擬機的特性,包括虛擬機的接口。
基于神龍芯片的神龍MOC卡在整個架構中具有重要作用,它具備豐富的管理接口和對外數據接口,可以幫助我們實現彈性裸金屬服務器具備的這些功能。
CPU的多元化正在逐漸成為現實。首先是英特爾的對手AMD的崛起,雖然都是x86體系,但其芯片在性價比高之外,性能和特性也突飛猛進;其次,x86架構之外的發展非常迅猛,除Ampere的ARM服務器芯片外,自研的ARM體系正成為很多云廠商的選擇。
AWS的Graviton 2自研芯片使用64位ARM Neoverse內核定制而成,設計思路是多核加每核單Thread負載,每個內核都旨在通過盡可能多的、完全獨立的內核來交付實際工作負載,力圖成為最節能的處理器。
微軟也在設計一款用于數據中心的ARM處理器,這是微軟的重大戰略舉措,微軟認為,自己的芯片更適合某些需求,更具成本和性能優勢。
云原生CPU正呈現一些共有的特性:主頻不需要特別高、功耗要特別低、獨立運行的核、多核架構能更好地支持服務網格的應用、有成熟的軟件生態等等。
用云原生的思維用好云原生架構
對于云計算的用戶來說,理解什么是云原生尤為重要。不是簡單地使用容器來定義自己的系統,而是在設計、開發、部署等周期中,使用原汁原味的云原生系統,將會帶來巨大的競爭優勢,充分享受云計算的紅利。
云原生不僅是實踐,更是一種理念,帶來的是時代變革。開發人員的開發環境也要生在云上、長在云上。使用類似無影這樣的遠程工具,讓產品設計文檔、開發調試環境、部署工具、測試過程、POC驗證、資源消費等等,全部基于云來進行。
所以,云原生帶來的是思維的變化,是文化的變化,是新時代的生產力,遠遠超越了CNCF定義的Kubernetes標準接口,是未來使用云的標準方式。
什么是真正的云原生
我們很幸運,我們正親歷一個邁入云時代的歷史性進程。
多年以后,新一代的新新人類,他們會更幸運,他們接觸的一切計算環境都是云原生的。他們天生就會認為,云計算資源是無處不在、取之不盡、用之不竭的,他們不會關心云資源在哪里、有多少。就像今天我們使用自來水一樣,沒有人會費勁心思考慮水從哪里來。
因云而生的軟件、硬件、架構,就是真正的云原生;因云而生的技術,就是云原生技術。
責任編輯:PSY
-
云計算
+關注
關注
39文章
7732瀏覽量
137196 -
大數據
+關注
關注
64文章
8863瀏覽量
137292 -
云原生
+關注
關注
0文章
241瀏覽量
7939
發布評論請先 登錄
相關推薦
評論