雷鋒網按:過去一年,在疫情的影響下,企業生產和協作模式發生了巨大改變,從原有的線下轉移到線上,導致對IT有著十分強烈的訴求。這時,企業如何快速實現自身的業務治理和協作管理?我們觀察到的是,傳統的軟件開發方式無論在人力還是時間成本方面,都已經無法滿足企業業務的需要,應用開發又改如何跟上市場的腳步,以提升企業生產力和市場競爭力?
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在生產環境中的采用率最近正大幅上升。