1. 程式人生 > 資訊 >2021 關於雲原生技術的九個預判:雲原生 IDE 將興起

2021 關於雲原生技術的九個預判:雲原生 IDE 將興起

1 月 19 日,雲原生計算基金會 CNCF(Cloud Native Computing Foundation)成員之一的 Chris Aniszczyk 撰文,預判了有關雲原生技術的九個趨勢。

據瞭解,Chris Aniszczyk 目前是 Linux 基金會 CTO,同時還是雲原生計算基金會 CNCF 的營運長,並負責開放容器標準(OCI)組織的相關工作。

(PS. 這裡再科普一個小知識,CNCF 隸屬於 Linux 基金會下,獨立於任何廠商,負責推廣雲原生系統。例如,CNCF 擁有云原生軟體堆疊的關鍵元素,包括 Kubernetes 和 Prometheus。CNCF 建立了一箇中立的合作平臺,將業內頂級開發者、終端使用者和供應商整合起來,包括全球最大的雲服務和企業軟體公司,也有初創團隊。)

首先,我們先來了解下過去一年 CNCF 基金會組織成員方面的一些變化。

成員方面:2020 年新增 150 多家新成員,目前總計超過 668 家成員。其中,Kasten by Veeam 和位元組跳動旗下火山引擎在 2020 年加入或升級為白金會員;Cox Communications、HCL Technologies、Hewlett Packard Enterprise、Intuit、浦發銀行和 T-Mobile 都在 2020 年加入或升級為黃金會員。

專案方面:2020 年,由 CNCF 託管的 Helm、Harbor、TikV、Rook、etcd 等 14 個專案,提升到畢業階段;Argo、Contour 和 Operator Framework 則進階孵化階段;Buildpacks、Cortex、Dragonfly、Falco、SPIFFE/SPIRE 和 Thano 等 20 個專案,從沙箱進階孵化階段。

雲原生技術不再是隻為雲服務。Builtin 宣稱 “雲原生技術正轉向企業”,這意味著 “傳統IT正向雲原生覺醒”。雲原生技術也在推動邊緣計算領域擴張的同時,許多企業也意識到 “走雲原生道路所帶來的潛在經濟效益”。

值得一提的是,Dan Kohn 先生,作為前 Linux 基金會公共衛生負責人、CNCF 執行總裁,於 2020 年 11 月日因病離世。他曾多次來到中國交流,對中國開源社群以及雲原生技術的推廣起到了一個非常重要的作用。這份報告中也特別緬懷了這位開源英雄。

迴歸正題,先來了解下 Chris Aniszczyk 根據過去一年觀察所給出的九個開源技術和工具發展趨勢

1、雲原生 IDE(整合開發環境)

相較於使用本地的 Emacs、VSCode,未來,開發人員寫程式碼、架構、除錯等開發全生命週期,將主要以雲的方式進行。例如,開發人員可以為每次 pull request 請求獲得完整的開發環境,不僅能預先配置,還能連線到自身的部署環境中。

GitHub 上開源的兩個新專案:Codespaces、Gitpod,就是鐵證。不過,Codespaces 仍處於測試階段,可以使用 Prometheus 作為示例,在 Gitpod 上進行體驗。

因為只需要一分鐘,開發人員就可以實現一個帶有編譯器和預覽的實時開發環境

2、Kubernetes 在邊緣計算中的應用

儘管 Kubernetes 誕生於大型資料中心,但 Kubernetes 會像 Linux 一樣因環境改變而不斷變化。例如,終端使用者基於 Linux 不斷擴充套件核心,以支援移動、嵌入式等作業系統的開發。實際上,Kubernetes 正有著類似的經歷。美國電信行業和初創公司為探索 Kubernetes 在邊緣計算中的應用,已經在通過將 VNF 轉換為 CNF 以及其他開源專案 k3s、KubeEdge、k0s、LFEdge、Eclipse ioFog 等進行實踐。(注:Virtual Network Functions (VNFs);Cloud Native Network Functions (CNFs))

未來幾年裡,支撐運營商的大規模雲端計算和邊緣計算浪潮,加之對雲原生軟體的反覆使用以及塑造強健生態的能力,將推動 Kubernetes 進一步發展為邊緣計算核心平臺。

3、雲原生 + Wasm

Web Assembly(Wasm)是一門新興技術,但有望成為雲原生生態中日益增長的實用程式和工作負載,尤其是 WASI 變得越來越成熟,而 Kubernetes 也開始更多地被應用於邊緣協調器( edge orchestrator)。

4、FinOps(CFM)興起

全球疫情確確實實加速了企業IT向雲原生的轉變。因為在這場危機中,至少有一半的公司正加速雲部署計劃。根據剛剛公佈的調研報告 State of the Cloud Report 2020,近 60% 的受訪者表示,由於疫情的影響,他們對雲的使用會超過原先計劃。

其中,雲成本優化(Cloud Financial Management,FinOps)對很多企業而言是一個需要關注的話題。坦率來講,過去半年,有一半的討論都是關於公司該如何啟動雲原生的實踐。

儘管雲服務商並沒有主動簡化雲成本優化的規範和方案,因為這會導致客戶更容易減少IT支出,但真正的問題在於,缺乏開源創新和圍繞雲成本優化的標準化管理。目前很多雲服務的成本管理標準有很大差異。

在 CNCF 的專案中,很多也並沒有將雲成本優化當回事兒,像 KubeCost 專案其實也還在早期階段。Linux 基金會最近啟動了 FinOps 基金會,以幫助生態創新。

5、Rust 在雲原生技術中將更為常見

Rust 仍是一個比較年輕的程式語言,如果以 Redmonk 程式語言排名來看,Rust 雖然小眾但有一定的影響力潛能。鑑於目前少數 CNCF 專案在一些非常有趣的雲原生專案中開始使用 Rust,如 microvm Firecracker,未來 Rust 可能會出現在越來越多的雲原生專案中。

儘管 CNCF 的很多專案是用 Golang 編寫的,但預計隨著 Rust 社群的成熟,基於 Rust 的專案將在未來幾年內與 Go 的專案相提並論

6、GitOps+CD/PD 模型顯著增長

GitOps 是雲原生技術的持續交付模型,提供了一套可以統一部署、管理和監測應用(最初由 Weaveworks 知名人士 Alexis Richardson 建立)的最佳實踐。

GitOps 最核心的部分,是描述通過宣告方式在 Git 中進行版本化的期望系統狀態。這實際使得一組複雜的系統更改能夠被正確應用,並通過 Git 和其他工具啟用的日誌進行驗證。

從實用的角度講,GitOps 改善了開發者體驗,並伴隨 Argo、GitLab、Flux 等專案的增長,GitOps 工具預計在今年對企業生產將帶來更大影響。結合目前 GitLab 上的資料,GitOps 仍處於早期實踐中,大多數公司都沒有太多相關的探索,這取決於是否有越來越多的公司在大規模採用雲原生軟體。

7、服務目錄 2.0:雲原生開發者看板

服務目錄不是一個新概念,對於多數成熟的技術人而言,可能大家只會記得 CMDB 等類似的挑戰。

但是,隨著微服務的興起和雲原生的發展,對各類服務進行分類,併為各種實時服務源資料進行索引的能力,對於推動開發人員自動化至關重要。這包括使用服務目錄以處理事件管理、管理 SLO 等。

還有一種趨勢是:開發者看板不僅具備服務目錄,同時還具備自動化擴充套件的能力。不過值得一提的是,任何具有一定雲原生部署能力的公司往往會有一個試圖構建類似能力的平臺基礎架構團隊。

8、跨雲不再是夢想

Kubernetes 和雲原生技術浪潮表明,生產環境中可以使用雲原生和多雲管理的方式。相關資料清晰地表明:“93% 的企業會選擇 Microsoft Azure,Amazon Web Services 和 Google Cloud 等多個雲服務商的使用策略。”

隨著 Kubernetes 在雲市場的應用成熟,未來有望解鎖程式設計式的跨雲託管服務。一個具體示例是 Crossplane 專案,該專案提供了一個開源的跨雲控制平臺,可利用 Kubernetes API 的可擴充套件性來實現跨雲工作負載管理。

9、eBPF 成為主流

eBPF 允許開發者在 Linux 核心中執行程式,而無需更改核心程式碼或載入模組,這種方式可以視為沙盒擴充套件機制。eBPF 允許新一代軟體擴充套件 Linux 核心,以支援改進的網路、監視和安全性等能力。

從歷史上看,eBPF 的缺點是需要一個高版本的核心才能利用,並且在很長一段時間裡這對跟多公司都不是一個切實的選擇。

但情況在發生變化,因為新版 RHEL 開始支援 eBPF 了,預計很快越來越多的專案開始採用這一方式。根據 Sysdig 釋出的最新容器報告,可以看到 Falco 在生產環境中的採用率最近正大幅上升。