2021年雲原生趨勢預測

本文作者利用自己雲原生工程師的優勢,分享了他對2021年及之後的雲原生髮展趨勢的看法,包括雲原生IDE、邊緣側Kubernetes、雲原生 + Wasm、FinOps崛起、更多的Rust出現在雲原生、GitOps + CD/PD顯著增加、服務目錄2.0:雲本地開發人員儀表盤、交叉雲、主流eBPF等等。

我希望每個人都度過了一個美好的假期,因爲2021年1月的頭幾周非常瘋狂,從叛亂到新冠病毒。在雲原生(Cloud Native)領域,CNCF最近發佈了年度報告[1],包含我們去年完成的所有工作。我建議每個人有機會都看一看這份報告,考慮到病毒大流行的情況,我們度過了頗有收穫的一年。

雲原生作爲我工作的一部分,相比我共事過的公司和開發人員,我有獨特的優勢,所以我想分享一下我對2021年及以後的雲原生髮展趨勢的看法。

雲原生IDE

作爲一個在Eclipse Foundation中花了相當一部分時間在開發人員工具上的人,我對最新的技術進展感到非常興奮。未來的開發生命週期(代碼、構建、調試)將主要發生在雲上,而不是你本地的Emacs或VSCode設置中。最終,你將爲每個pull請求獲得一個完整的開發環境設置,預先配置並連接到它們自己的部署,以幫助你開發和調試需求。這個技術的一個具體例子是通過GitHub Codespaces和GitPod實現的。雖然GitHub的Codespaces還在測試階段,但是你可以用GitPod來體驗一下,比如Prometheus。在一分鐘左右的時間內,你就擁有了一個具有編輯器和預覽環境的完全實時開發環境。這個開發環境(工作區)是用代碼描述[2]的,並且可以像其他代碼工件一樣與團隊中的其他開發人員共享。

最後,我希望在明年看到雲原生IDE領域驚人的創新,特別是隨着GitHub Codespaces進入測試階段,並變得更廣泛可用,這樣開發者就可以體驗這個新概念並愛上它。

邊緣側Kubernetes

Kubernetes是通過大規模數據中心的使用而誕生的,但Kubernetes將會像Linux在新環境中所做的那樣不斷髮展。Linux的情況是,最終用戶擴展了內核,以支持各種新的部署場景,包括移動部署、嵌入式部署等等。我堅信Kubernetes將經歷類似的演變,我們已經看到電信公司(和初創公司)通過將VNFs轉換爲雲原生網絡功能[3](CNFs),以及k3s、KubeEdge、k0s、LFEdge、Eclipse ioFog等開源項目,將Kubernetes作爲邊緣平臺進行探索。推動超規模雲支持電信公司和edge的力量,加上重用雲本地軟件的能力,以及在已經龐大的生態系統上構建的能力,將在未來幾年鞏固Kubernetes在邊緣計算領域的主導平臺地位。

雲原生 + Wasm

Web Assembly[4](Wasm)是一項剛剛起步的技術,但我預計它將成爲本地雲生態系統中日益增長的實用程序和工作負載,特別是隨着WASI的成熟以及Kubernetes更多地用作前面所述的邊緣協調器。一個用例是支持擴展機制,就像Envoy使用過濾器和LuaJIT所做的那樣。與直接處理Lua不同,你可以使用支持多種編程語言的更小的優化運行時。Envoy項目目前正處於採用Wasm的過程中,我希望在任何環境中都能遵循類似的模式,即腳本語言是一種流行的擴展機制,將來會被Wasm全盤取代。

在Kubernetes的前沿,有一些項目,比如來自微軟的Krustlet,正在探索如何在Kubernetes中支持基於wasi的運行時。這並不奇怪,因爲Kubernetes已經通過CRDs和其他機制進行了擴展,以運行不同類型的工作負載,如VM (KubeVirt)等。

FinOps崛起(CFM)

冠狀病毒的爆發加速了雲本地的轉變。在危機期間,至少有一半的公司正在加快其雲計算計劃……近60%的受訪者表示,由於COVID-19大流行,雲計算使用量將超過之前的計劃(2020年雲計算狀況報告[5])。除此之外,雲財務管理(或稱FinOps)是許多公司日益關注的問題,在我過去6個月與正在進行雲原生旅程的公司的討論中,有一半都提到了這個問題。你也可以認爲雲提供商不鼓勵簡化雲財務管理,因爲這樣客戶將會花費更少,然而,在我看來,圍繞雲財務管理,真正的痛苦是缺乏開源創新和標準化(每家公司做的雲成本管理都不同)。在CNCF環境中,沒有多少開源項目試圖使FinOps變得更容易,有個KubeCost項目,但它還處於相當早期的階段。

另外,Linux基金會最近啓動了“FinOps基金會[6]”來幫助這個領域的創新,他們在這個領域有一些很好的介紹性材料[7]。我希望在未來幾年裏在FinOps領域看到更多的開源項目和規範。

更多的Rust出現在雲原生

Rust仍然是一門年輕的編程語言,特別是當你以Redmonk的編程語言排名爲例時。然而,我的感覺是,在接下來的一年裏,你會在更多的雲原生項目中看到Rust,因爲已經有一些利用Rust的CNCF項目出現在有趣的基礎設施項目中,比如microvm Firecracker。雖然CNCF目前絕大多數的項目是用Golang編寫的,但我希望隨着Rust社區的成熟[8],在幾年內基於Rust的項目能夠與基於Go的項目相媲美。

GitOps + CD/PD顯著增加

GitOps是雲本地技術的操作模型,提供了一套統一部署、管理和監控應用程序的最佳實踐(最初由來自Weaveworks的Alexis Richardson創造)。GitOps最重要的方面是通過聲明的方式描述所需的在Git中版本化的系統狀態,這本質上允許正確應用一組複雜的系統更改,然後驗證(通過Git和其他工具啓用的漂亮的審計日誌)。從實用的角度來看,GitOps改善了開發者的體驗,隨着Argo、GitLab、Flux等項目的發展,我預計GitOps工具今年將更多地衝擊企業。如果你看看來自GitLab的數據,你會發現,GitOps仍然是一個新興的實踐,大多數公司還沒有探索它,但隨着越來越多的公司開始大規模採用雲本地軟件,在我看來,GitOps將會自然而然地跟進。如果你有興趣瞭解更多關於這個領域的信息,我建議你查看CNCF中新成立的GitOps工作組[9]。

服務目錄2.0:雲本地開發人員儀表盤

服務目錄的概念並不新鮮,對於我們這些在ITIL時代長大的老年人來說,可能還記得CMDB(恐怖)之類的東西。然而,隨着微服務和雲原生開發的興起,記錄服務和索引各種實時服務元數據的能力對於推動開發人員自動化至關重要。這可以包括使用服務目錄來了解所有權,以處理事件管理、管理SLO等。

在未來,你將看到開發人員儀表盤的趨勢,它不僅是一個服務目錄,還提供了通過各種自動化特性在一個地方擴展儀表盤的能力。最典型的開源例子是來自Lyft的Backstage和Clutch,然而,任何擁有相當現代的本地雲部署的公司都傾向於擁有一個平臺基礎架構團隊,試圖構建類似的東西。伴隨着一個大型插件生態系統,開源開發人員儀表盤將更成熟,你將看到各地的平臺工程團隊加速採用儀表盤。

交叉雲變得更加現實

Kubernetes和雲本地運動已經證明了雲本地和多雲方法在生產環境中是可能的,數據清楚地表明“93%的企業有一個戰略,使用多個供應商,如微軟Azure、亞馬遜Web服務和谷歌雲”(2020年雲報告狀態)。Kubernetes多年來隨着雲市場的成熟,有望開啓可編程的跨雲管理服務。這種方法的一個具體例子體現在Crossplane項目中,該項目提供了一個開源的跨雲控制平面,利用Kubernetes API的可擴展性來支持跨雲工作負載管理(參見《GitLab部署跨雲控制平面來提供多雲部署[10]》)。

主流eBPF

eBPF允許你在Linux內核中運行程序,而無需更改內核代碼或加載模塊,你可以將其視爲一種沙箱擴展機制。eBPF允許新一代軟件擴展Linux內核的行爲,以支持改進的網絡、監控和安全等各種不同的東西。從歷史上看,eBPF的缺點是它需要一個現代的內核版本來利用它,在很長一段時間裏,這對許多公司來說都不是一個現實的選擇。然而,情況正在發生變化,甚至RHEL的新版本最終也支持eBPF,因此你將看到更多的項目從中受益。如果你看一下Sysdig最新的容器報告[11],你會發現Falco的使用率最近有所上升,儘管該報告可能有點偏向Sysdig,但它反映在生產使用中。所以請繼續關注並期待未來更多基於eBPF的項目!

相關鏈接:

  1. https://www.cncf.io/cncf-annual-report-2020/

  2. https://github.com/prometheus/prometheus/blob/master/.gitpod.yml

  3. https://github.com/cncf/cnf-wg

  4. https://webassembly.org/

  5. https://info.flexera.com/SLO-CM-REPORT-State-of-the-Cloud-2020

  6. https://www.finops.org/blog/linux-foundation

  7. https://www.edx.org/course/introduction-to-finops

  8. https://blog.rust-lang.org/2020/08/18/laying-the-foundation-for-rusts-future.html

  9. https://github.com/gitops-working-group/gitops-working-group

  10. https://thenewstack.io/gitlab-deploys-the-crossplane-control-plane-to-offer-multicloud-deployments/

  11. https://sysdig.com/blog/sysdig-2021-container-security-usage-report/

原文鏈接:https://www.aniszczyk.org/2021/01/19/cloud-native-predictions-for-2021-and-beyond/

Kubernetes管理員認證(CKA)培訓

本次CKA培訓在北京開班,基於最新考綱,通過線下授課、考題解讀、模擬演練等方式,幫助學員快速掌握Kubernetes的理論知識和專業技能,並針對考試做特別強化訓練,讓學員能從容面對CKA認證考試,使學員既能掌握Kubernetes相關知識,又能通過CKA認證考試,學員可多次參加培訓,直到通過認證。點擊下方圖片或者閱讀原文鏈接查看詳情。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章