溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

來自CNCF的云原生景觀簡介是怎樣的

發(fā)布時間:2021-11-22 17:18:41 來源:億速云 閱讀:148 作者:柒染 欄目:大數(shù)據(jù)

本篇文章為大家展示了來自CNCF的云原生景觀簡介是怎樣的,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

當(dāng)你在研究云原生應(yīng)用程序和技術(shù),則可能會看到過云原生基金會(CNCF)提供的云原生景觀圖。毫不奇怪,它的規(guī)模相當(dāng)龐大。如此眾多的類別和眾多的技術(shù)。我們應(yīng)該如何看待它?

與其他任何復(fù)雜事物一樣,如果你并對其進(jìn)行拆分并分析,你會發(fā)現(xiàn)它并不那么復(fù)雜。實際上,云原生景觀圖是按功能整齊地組織的,一旦你了解了每個類別所代表的內(nèi)容,就可以輕松進(jìn)行“導(dǎo)航”。

在本系列的第一篇文章中,我們將分解這個龐大的云原生景觀并提供整體,每個層,每一列和每個類別的概述。在后續(xù)文章中,我們將著重介紹每個層和每一列,并介紹每個類別是什么,它解決了什么問題以及如何運用等。

來自CNCF的云原生景觀簡介是怎樣的

云原生景觀的四層

在第一層中,是配置云原生基礎(chǔ)架構(gòu)的工具。第二層和第三層,是添加運行和管理應(yīng)用程序所需的工具,例如運行時和編排層。在第四層,是用于定義和開發(fā)應(yīng)用程序的工具,例如數(shù)據(jù)庫,鏡像構(gòu)建和CI/CD工具。

來自CNCF的云原生景觀簡介是怎樣的

現(xiàn)在,云原生景觀始于基礎(chǔ)架構(gòu),每一層都更接近實際應(yīng)用程序。你可能也注意到還有跨所有層運行的兩個“列“,文章后面我們將討論。

1.供應(yīng)層(Provisioning)

Provisioning指的是創(chuàng)建和強(qiáng)化云本機(jī)應(yīng)用程序基礎(chǔ)所涉及的工具。它涵蓋了從自動化基礎(chǔ)結(jié)構(gòu)的創(chuàng)建,管理和配置鏡像掃描,鏡像簽名和存儲鏡像的所有內(nèi)容。除此之外,它還具備在應(yīng)用程序和平臺中構(gòu)建身份驗證授權(quán)以及處理密鑰分發(fā)的工具,資源調(diào)配和安全領(lǐng)域的工具。

在供應(yīng)層中,你會看到:

  • 自動化和配置工具(Automation &configuration ):可幫助工程師無需人工干預(yù)即可構(gòu)建基礎(chǔ)環(huán)境。

  • 容器倉庫(Container Registry): 存儲應(yīng)用程序的鏡像。

  • 安全( Security &compliance ):涉及不同的安全領(lǐng)域。

  • 密鑰管理(Key management):有助于加密,以確保只有授權(quán)的用戶才能訪問該應(yīng)用程序。

這些工具使工程師可以了解所有基礎(chǔ)架構(gòu)的細(xì)節(jié),以便根據(jù)需要進(jìn)行調(diào)整,來確保它們的一致性和安全性。

2.運行時層(Runtime)

運行時是云原生中最可能引起混淆的術(shù)語之一。與IT中的許多術(shù)語一樣,沒有嚴(yán)格的定義,可以根據(jù)上下文使用的不同來定義。從狹義上講,運行時是運行應(yīng)用程序的特定沙箱環(huán)境(應(yīng)用程序運行所需的最低限度)。從廣義上講,運行時是應(yīng)用程序運行所需要的任何工具。

在CNCF云原生環(huán)境中,運行時重點放在對容器化應(yīng)用特別重要的組件上。它們包括:

  • 云原生存儲(Cloud native storage):為容器化的應(yīng)用程序提供了虛擬化磁盤或持久性。

  • 容器運行時(Container runtime):為容器提供了約束,資源和安全性等。

  • 云網(wǎng)絡(luò)(Cloud native networking):分布式系統(tǒng)的節(jié)點通過其進(jìn)行連接和通信的網(wǎng)絡(luò)。

3.編排和管理層(Orchestration & Management )

一旦按照安全性標(biāo)準(zhǔn)自動搭建了基礎(chǔ)結(jié)構(gòu)(供應(yīng)層),并設(shè)置了應(yīng)用程序需要運行的工具(運行時層),工程師就需要知道如何編排和管理其應(yīng)用程序。

編排和管理層,把所有容器化應(yīng)用程序作為一個組進(jìn)行管理。還要確定是否需要和其他服務(wù)相互通信并進(jìn)行協(xié)調(diào)。同時,云原生應(yīng)用程序具有良好的可擴(kuò)展性。

在這一層中,包括:

  • 編排和調(diào)度( Orchestration & scheduling ):部署和管理容器集群,以確保它們具有彈性,松耦合和可伸縮性。具有代表性的容器編排工具就是Kubernetes。

  • 服務(wù)發(fā)現(xiàn)( Coordination and service discovery ):服務(wù)可以相互通信的工具。

  • 遠(yuǎn)程過程調(diào)用(RPC):跨節(jié)點上的服務(wù)進(jìn)行通信的技術(shù)。

  • 服務(wù)代理( Service proxy ):代理的唯一目的是對服務(wù)通信施加更多控制,它不會對通信本身添加任何內(nèi)容。這些代理對于下面提到的服務(wù)網(wǎng)格至關(guān)重要。

  • API網(wǎng)關(guān):一個抽象層,外部應(yīng)用程序可以通過它進(jìn)行通信。

  • 服務(wù)網(wǎng)格( Service mesh ):在某種程度上類似于API網(wǎng)關(guān),它是應(yīng)用程序通過其進(jìn)行通信的專用基礎(chǔ)結(jié)構(gòu)層,但是它提供了策略驅(qū)動的服務(wù)的通信。此外,它可能包括從加密、服務(wù)發(fā)現(xiàn)、到應(yīng)用程序可觀察性的所有內(nèi)容。

4.應(yīng)用程序定義和開發(fā)層(Application Definition & Development)

顧名思義,應(yīng)用程序定義和開發(fā)層,是側(cè)重于使工程師能夠構(gòu)建應(yīng)用程序并使其運行的工具。

在此類別下,你會看到:

  • 數(shù)據(jù)庫( Databases):使應(yīng)用程序能夠以有組織的方式收集數(shù)據(jù)。

  • 流和消息傳遞( Streaming & messaging):使應(yīng)用程序能夠發(fā)送和接收消息(事件和流)。它不是網(wǎng)絡(luò)層,而是用于對消息進(jìn)行排隊和處理的工具。

  • 應(yīng)用程序定義和鏡像構(gòu)建( Application definition &image build ):是幫助配置,維護(hù)和運行容器鏡像的服務(wù)。

  • 持續(xù)集成和持續(xù)交付(CI/CD):使開發(fā)人員能夠自動測試代碼,自動打包,甚至還可以自動部署到生產(chǎn)環(huán)境中。

跨所有層運行的工具

接下來,我們將介紹在所有層上運行的兩列–可觀察性和分析。

來自CNCF的云原生景觀簡介是怎樣的

可觀察性與分析(Observability &Analysis)

為了降低MRRT(解決軟件問題的時間),你需要監(jiān)視和分析應(yīng)用程序的各個方面,以便立即發(fā)現(xiàn)并糾正任何異常情況。在復(fù)雜的環(huán)境中故障隨時會發(fā)生,而這些工具將通過幫助盡快識別和解決故障來幫助減輕故障的負(fù)面影響。由于此類別遍歷并監(jiān)視所有層,因此它在側(cè)面,而不是嵌入在特定層中。

在這里你會發(fā)現(xiàn):

  • 日志記錄( Logging):收集事件日志(有關(guān)進(jìn)程的信息)的工具。

  • 監(jiān)視( Monitoring ):收集指標(biāo)(系統(tǒng)參數(shù),例如RAM可用性等),監(jiān)視運行狀況。

  • 跟蹤( Tracing ):比監(jiān)視更進(jìn)一步,這與服務(wù)網(wǎng)格相關(guān)。

  • 混沌工程( Chaos engineering):是對生產(chǎn)中的軟件進(jìn)行測試的工具,可以在交付之前識別缺陷并加以修復(fù)。

平臺類(Platforms)

如我們所見,每個模塊都解決了一個特定的問題。例如,僅存儲并不能提供管理應(yīng)用程序所需的全部功能。你將需要一個編排工具,覆蓋多層,將不同的工具捆綁在一起,以解決更大的問題。

你可能會注意到,所有類別都圍繞Kubernetes展開。這是因為Kubernetes是最受歡迎的云原生編排工具。

平臺可分為四類:

  • Kubernetes發(fā)行版:未經(jīng)修改的開源代碼(盡管有人對其進(jìn)行了修改),并跟蹤市場需求添加相應(yīng)功能。

  • Kubernetes托管:類似于發(fā)行版,在提供商的基礎(chǔ)架構(gòu)上進(jìn)行管理。

  • Kubernetes安裝程序:使用它們可以自動執(zhí)行Kubernetes的安裝和配置過程。

  • PaaS /容器服務(wù):與Kubernetes托管相似,但包含了廣泛的應(yīng)用程序部署工具集(通常是云原生環(huán)境的一部分)。

在每種類別中,都有旨在解決相同或相似問題的不同工具。區(qū)別在于它們的實現(xiàn)和設(shè)計方法。

在選擇時,工程師必須仔細(xì)考慮每種功能并進(jìn)行權(quán)衡,以確定適合其用例的最佳選擇。盡管這帶來了額外的復(fù)雜性,但選擇最適合應(yīng)用程序需求的數(shù)據(jù)存儲,基礎(chǔ)架構(gòu)管理,消息系統(tǒng)等,都是至關(guān)重要的。

上述內(nèi)容就是來自CNCF的云原生景觀簡介是怎樣的,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI