過去一年,,在疫情的影響下,,企業(yè)生產(chǎn)和協(xié)作模式發(fā)生了巨大改變,從原有的線下轉(zhuǎn)移到線上,,導(dǎo)致對IT有著十分強烈的訴求,。這時,,企業(yè)如何快速實現(xiàn)自身的業(yè)務(wù)治理和協(xié)作管理?我們觀察到的是,,傳統(tǒng)的軟件開發(fā)方式無論在人力還是時間成本方面,,都已經(jīng)無法滿足企業(yè)業(yè)務(wù)的需要,應(yīng)用開發(fā)又改如何跟上市場的腳步,,以提升企業(yè)生產(chǎn)力和市場競爭力,?
1月19日,云原生計算基金會CNCF(Cloud Native Computing Foundation)成員之一的Chris Aniszczyk撰文,,預(yù)判了有關(guān)云原生技術(shù)的九個趨勢,。
據(jù)了解,Chris Aniszczyk目前是Linux基金會CTO,,同時還是云原生計算基金會CNCF的首席運營官,,并負責開放容器標準(OCI)組織的相關(guān)工作。
(PS.這里再科普一個小知識,,CNCF隸屬于Linux基金會下,,獨立于任何廠商,負責推廣云原生系統(tǒng),。例如,,CNCF擁有云原生軟件堆棧的關(guān)鍵元素,包括Kubernetes和Prometheus,。CNCF創(chuàng)建了一個中立的合作平臺,,將業(yè)內(nèi)頂級開發(fā)者,、最終用戶和供應(yīng)商整合起來,包括全球最大的云服務(wù)和企業(yè)軟件公司,,也有初創(chuàng)團隊,。)
首先,我們先來了解下過去一年CNCF基金會組織成員方面的一些變化,。
成員方面:2020年新增150多家新成員,,目前總計超過668家成員。其中,,Kasten by Veeam和字節(jié)跳動旗下火山引擎在2020年加入或升級為白金會員,;Cox Communications、HCL Technologies,、Hewlett Packard Enterprise,、Intuit、浦發(fā)銀行和T-Mobile都在2020年加入或升級為黃金會員,。
項目方面:2020年,,由CNCF托管的Helm、Harbor,、TikV,、Rook、etcd等14個項目,,提升到畢業(yè)階段,;Argo、Contour和Operator Framework則進階孵化階段,;Buildpacks,、Cortex、Dragonfly,、Falco,、SPIFFE/SPIRE和Thano等20個項目,從沙箱進階孵化階段,。
云原生技術(shù)不再是只為云服務(wù),。Builtin宣稱“云原生技術(shù)正轉(zhuǎn)向企業(yè)”,這意味著“傳統(tǒng)IT正向云原生覺醒”,。云原生技術(shù)也在推動邊緣計算領(lǐng)域擴張的同時,,許多企業(yè)也意識到“走云原生道路所帶來的潛在經(jīng)濟效益”。
值得一提的是,,Dan Kohn先生,,作為前Linux基金會公共衛(wèi)生負責人、CNCF執(zhí)行總裁,于2020年11月日因病離世,。他曾多次來到中國交流,,對中國開源社區(qū)以及云原生技術(shù)的推廣起到了一個非常重要的作用。這份報告中也特別緬懷了這位開源英雄,。
回歸正題,,先來了解下Chris Aniszczyk根據(jù)過去一年觀察所給出的九個開源技術(shù)和工具發(fā)展趨勢。
1,、云原生IDE(集成開發(fā)環(huán)境)
相較于使用本地的Emacs,、VSCode,未來,,開發(fā)人員寫代碼,、架構(gòu),、調(diào)試等開發(fā)全生命周期,,將主要以云的方式進行。例如,,開發(fā)人員可以為每次pull request請求獲得完整的開發(fā)環(huán)境,,不僅能預(yù)先配置,還能連接到自身的部署環(huán)境中,。
GitHub上開源的兩個新項目:Codespaces,、Gitpod,就是鐵證,。不過,,Codespaces仍處于測試階段,可以使用Prometheus作為示例,,在Gitpod上進行體驗,。
因為只需要一分鐘,開發(fā)人員就可以實現(xiàn)一個帶有編譯器和預(yù)覽的實時開發(fā)環(huán)境,。
2,、Kubernetes在邊緣計算中的應(yīng)用
盡管Kubernetes誕生于大型數(shù)據(jù)中心,但Kubernetes會像Linux一樣因環(huán)境改變而不斷變化,。例如,,終端用戶基于Linux不斷擴展內(nèi)核,以支持移動,、嵌入式等操作系統(tǒng)的開發(fā),。實際上,Kubernetes正有著類似的經(jīng)歷,。美國電信行業(yè)和初創(chuàng)公司為探索Kubernetes在邊緣計算中的應(yīng)用,,已經(jīng)在通過將VNF轉(zhuǎn)換為CNF以及其他開源項目k3s、KubeEdge、k0s,、LFEdge,、Eclipse ioFog等進行實踐。(注:Virtual Network Functions (VNFs),;Cloud Native Network Functions (CNFs))
未來幾年里,,支撐運營商的大規(guī)模云計算和邊緣計算浪潮,加之對云原生軟件的反復(fù)使用以及塑造強健生態(tài)的能力,,將推動Kubernetes進一步發(fā)展為邊緣計算核心平臺,。
3、云原生+Wasm
Web Assembly(Wasm)是一門新興技術(shù),,但有望成為云原生生態(tài)中日益增長的實用程序和工作負載,,尤其是WASI變得越來越成熟,而Kubernetes也開始更多地被應(yīng)用于邊緣協(xié)調(diào)器( edge orchestrator),。
4,、FinOps(CFM)興起
全球疫情確確實實加速了企業(yè)IT向云原生的轉(zhuǎn)變。因為在這場危機中,,至少有一半的公司正加速云部署計劃,。根據(jù)剛剛公布的調(diào)研報告State of the Cloud Report 2020,近60%的受訪者表示,,由于疫情的影響,,他們對云的使用會超過原先計劃。
其中,,云成本優(yōu)化(Cloud Financial Management,,F(xiàn)inOps)對很多企業(yè)而言是一個需要關(guān)注的話題。坦率來講,,過去半年,,有一半的討論都是關(guān)于公司該如何啟動云原生的實踐。
盡管云服務(wù)商并沒有主動簡化云成本優(yōu)化的規(guī)范和方案,,因為這會導(dǎo)致客戶更容易減少IT支出,,但真正的問題在于,缺乏開源創(chuàng)新和圍繞云成本優(yōu)化的標準化管理,。目前很多云服務(wù)的成本管理標準有很大差異,。
在CNCF的項目中,很多也并沒有將云成本優(yōu)化當回事兒,,像KubeCost項目其實也還在早期階段,。Linux基金會最近啟動了FinOps基金會,以幫助生態(tài)創(chuàng)新,。
5,、Rust在云原生技術(shù)中將更為常見
Rust仍是一個比較年輕的編程語言,如果以Redmonk編程語言排名來看,Rust雖然小眾但有一定的影響力潛能,。鑒于目前少數(shù)CNCF項目在一些非常有趣的云原生項目中開始使用Rust,,如microvm Firecracker,未來Rust可能會出現(xiàn)在越來越多的云原生項目中,。
盡管CNCF的很多項目是用Golang編寫的,,但預(yù)計隨著Rust社區(qū)的成熟,基于Rust的項目將在未來幾年內(nèi)與Go的項目相提并論,。
6,、GitOps+CD/PD模型顯著增長
GitOps是云原生技術(shù)的持續(xù)交付模型,提供了一套可以統(tǒng)一部署,、管理和監(jiān)測應(yīng)用(最初由Weaveworks知名人士Alexis Richardson創(chuàng)建)的最佳實踐,。
GitOps最核心的部分,是描述通過聲明方式在Git中進行版本化的期望系統(tǒng)狀態(tài),。這實際使得一組復(fù)雜的系統(tǒng)更改能夠被正確應(yīng)用,,并通過Git和其他工具啟用的日志進行驗證。
從實用的角度講,,GitOps改善了開發(fā)者體驗,,并伴隨Argo、GitLab,、Flux等項目的增長,GitOps工具預(yù)計在今年對企業(yè)生產(chǎn)將帶來更大影響,。結(jié)合目前GitLab上的數(shù)據(jù),,GitOps仍處于早期實踐中,大多數(shù)公司都沒有太多相關(guān)的探索,,這取決于是否有越來越多的公司在大規(guī)模采用云原生軟件,。
7、服務(wù)目錄2.0:云原生開發(fā)者看板
服務(wù)目錄不是一個新概念,,對于多數(shù)成熟的技術(shù)人而言,,可能大家只會記得CMDB等類似的挑戰(zhàn)。
但是,,隨著微服務(wù)的興起和云原生的發(fā)展,,對各類服務(wù)進行分類,并為各種實時服務(wù)源數(shù)據(jù)進行索引的能力,,對于推動開發(fā)人員自動化至關(guān)重要,。這包括使用服務(wù)目錄以處理事件管理、管理SLO等,。
還有一種趨勢是:開發(fā)者看板不僅具備服務(wù)目錄,,同時還具備自動化擴展的能力。不過值得一提的是,任何具有一定云原生部署能力的公司往往會有一個試圖構(gòu)建類似能力的平臺基礎(chǔ)架構(gòu)團隊,。
8,、跨云不再是夢想
Kubernetes和云原生技術(shù)浪潮表明,生產(chǎn)環(huán)境中可以使用云原生和多云管理的方式,。相關(guān)數(shù)據(jù)清晰地表明:“93%的企業(yè)會選擇Microsoft Azure,,Amazon Web Services和Google Cloud等多個云服務(wù)商的使用策略?!?/p>
隨著Kubernetes在云市場的應(yīng)用成熟,,未來有望解鎖編程式的跨云托管服務(wù)。一個具體示例是Crossplane項目,,該項目提供了一個開源的跨云控制平臺,,可利用Kubernetes API的可擴展性來實現(xiàn)跨云工作負載管理。
9,、eBPF成為主流
eBPF允許開發(fā)者在Linux內(nèi)核中運行程序,,而無需更改內(nèi)核代碼或加載模塊,這種方式可以視為沙盒擴展機制,。eBPF允許新一代軟件擴展Linux內(nèi)核,,以支持改進的網(wǎng)絡(luò)、監(jiān)視和安全性等能力,。
從歷史上看,,eBPF的缺點是需要一個高版本的內(nèi)核才能利用,并且在很長一段時間里這對跟多公司都不是一個切實的選擇,。
但情況在發(fā)生變化,,因為新版RHEL開始支持eBPF了,預(yù)計很快越來越多的項目開始采用這一方式,。根據(jù)Sysdig發(fā)布的最新容器報告,,可以看到Falco在生產(chǎn)環(huán)境中的采用率最近正大幅上升。