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