什么是云原生?
什么是云原生?
我相信大部分人都聽(tīng)過(guò)云原生,但是要你說(shuō)出一個(gè)所以然,卻不知道怎么開(kāi)口,我也是一樣。
我不知道云原生到底是什么,從字面來(lái)看:云原生就是為云而生。云是什么?我理解云就是云計算,那云原生就是在云計算的基礎之上設計實(shí)現,充分利用云的彈性、分布式等特性,讓?xiě)媚軌驅?shí)現彈性伸縮、動(dòng)態(tài)調度,也能更高的提升資源利用率。
發(fā)展歷程
在說(shuō)云原生之前,先來(lái)看看云計算的發(fā)展歷程。
從上面的時(shí)間線(xiàn)來(lái)看,云計算的技術(shù)演進(jìn)是朝著(zhù)越來(lái)越靈活的方向發(fā)展。其核心單元從早期的物理服務(wù)器、變成后來(lái)的虛擬機,再到現在的容器,其靈活性越來(lái)越高,啟動(dòng)速度越來(lái)越快,不可變基礎設施逐漸成為主流,軟件技術(shù)棧也逐漸從商業(yè)軟件走向開(kāi)源。
不知道你有沒(méi)有發(fā)現,云原生其實(shí)是云計算發(fā)展歷程中的一種產(chǎn)物。
云原生不是一個(gè)新的概念,它是云計算發(fā)展的過(guò)程中對理念的更新和延申。在云原生時(shí)代,希望讓?xiě)酶袕椥?、容錯性、可觀(guān)測性,讓?xiě)酶菀撞渴?、管理編?xiě)、編排等,希望開(kāi)發(fā)者能夠更好的利用云的資源、產(chǎn)品以及交付能力。
下邊大致梳理云原生的發(fā)展歷程。截止目前(2022年6月),CNCF成員已經(jīng)有810個(gè),參與的開(kāi)發(fā)者高達15W,其中的明星項目如Kubernetes、Envoy等受到大眾非常喜歡。
云原生全景圖(?https://github.com/cncf/landscape):
核心理念
云原生技術(shù)有助于企業(yè)在公有云、私有云和混合云等新型動(dòng)態(tài)環(huán)境中構建和運行可彈性擴展的應用。
云原生的代表技術(shù)包括容器、服務(wù)網(wǎng)格、微服務(wù)、不可變基礎設施以及聲明式API。
隨著(zhù)云原生的發(fā)展,其核心理念如下:(1)利用容器和服務(wù)網(wǎng)格技術(shù),解耦軟件開(kāi)發(fā),提高業(yè)務(wù)開(kāi)發(fā)部署的靈活性和可維護性;(2)以Kubernetes為核心的開(kāi)源技術(shù)棧被各大產(chǎn)商所支持,用戶(hù)的選擇多,避免了產(chǎn)商綁定;(3)以Kubernetes為核心的松耦合架構,易擴展,避免侵入式定制;(4)對應用提供中心式的編排、動(dòng)態(tài)管理以及調度,提高了工作效率和資料利用率;
在最近幾年,云原生技術(shù)呈現如下幾種趨勢:(1)軟硬一體化:傳統基礎設施的網(wǎng)絡(luò )、存儲、計算能力與云原生技術(shù)生態(tài)開(kāi)始深度對接;(2)基于網(wǎng)格的服務(wù)治理能力:服務(wù)治理與業(yè)務(wù)邏輯逐步解耦,服務(wù)治理能力下沉到基礎設施,服務(wù)網(wǎng)格以基礎設施的方式提供無(wú)侵入的連接控制、安全、可監測性、灰度發(fā)布等治理能力;(3)有狀態(tài)應用向云原生遷移:無(wú)狀態(tài)+Job類(lèi)應用趨于成熟,有狀態(tài)應用逐步成為云原生市場(chǎng)中新的增長(cháng)點(diǎn)。Operator 的出現,為有狀態(tài)應用在云原生基礎設施上運行提供一套行之有效的標準規范,降低了使用門(mén)檻,使有狀態(tài)應用得以真正發(fā)展;(4)多云統一管理和多云業(yè)務(wù)流量統一調度:云原生北向API區域穩定,用戶(hù)更多開(kāi)始關(guān)注跨區域、跨平臺、跨云大規??蓮椭颇芰?;
代表技術(shù)
云原生的主要代表技術(shù)如下:(1)容器 容器不是新鮮的事物,在Docker發(fā)布之前就有需要容器技術(shù),比如CGroups、LXC等,Docker受歡迎的一個(gè)主要原因是它的鏡像技術(shù)——分層的鏡像構建。
(2)Kubernetes Kubernetes的聲明式API是面向開(kāi)發(fā)者提供全新的分布式原語(yǔ)。
針對期望狀態(tài)給出聲明,而不是針對過(guò)程 API對象彼此互補、可組合
(3)服務(wù)網(wǎng)格 服務(wù)網(wǎng)格通過(guò)非侵入式的方式接管應用的服務(wù)通信。對于每個(gè)業(yè)務(wù)單元/模塊來(lái)說(shuō),他們甚至不需要對網(wǎng)絡(luò )通信、負載均衡等有任何的感知。
服務(wù)網(wǎng)格提供細粒度流量治理,包括灰度發(fā)布、故障注入、可觀(guān)測性支持等能力,提高了業(yè)務(wù)應用的易維護性 對于企業(yè)開(kāi)發(fā)者來(lái)說(shuō),服務(wù)網(wǎng)格可以很好地幫助他們剝離業(yè)務(wù)代碼和分布式框架
平臺團隊聚焦框架層的開(kāi)發(fā)和調優(yōu) 業(yè)務(wù)團隊聚焦業(yè)務(wù)本身的開(kāi)發(fā)
技術(shù)在不斷的變革,云原生的定義也在不斷的變化,而且以云原生理念而誕生的技術(shù)也越來(lái)越多,最終云原生究竟如何定義現在也未可知,咱們只有拭目以待。