2022 年無服務(wù)器應(yīng)用程序開發(fā)的最新趨勢

無服務(wù)器計(jì)算已經(jīng)在主流應(yīng)用中站穩(wěn)腳跟,并開始出現(xiàn)在企業(yè)組織的技術(shù)路線圖中。研究公司和業(yè)界領(lǐng)袖預(yù)測,在2022年無服務(wù)器的采用將會(huì)有更大的發(fā)展勢頭。雖然在存儲(chǔ)、計(jì)算和網(wǎng)絡(luò)等基礎(chǔ)設(shè)施要素方面,無服務(wù)器有不同的方面,但是本文主要討論無服務(wù)器應(yīng)用開發(fā)的最新趨勢。

本文來自InfoQ架構(gòu)頭條,作者|Ankur Kumar,譯者|Sambodhi,策劃|marsxxl。

無服務(wù)器將繼續(xù)成為云供應(yīng)商的重點(diǎn)領(lǐng)域

無服務(wù)器計(jì)算已經(jīng)在主流應(yīng)用中站穩(wěn)腳跟,并開始出現(xiàn)在企業(yè)組織的技術(shù)路線圖中。研究公司和業(yè)界領(lǐng)袖預(yù)測,在2022年無服務(wù)器的采用將會(huì)有更大的發(fā)展勢頭。雖然在存儲(chǔ)、計(jì)算和網(wǎng)絡(luò)等基礎(chǔ)設(shè)施要素方面,無服務(wù)器有不同的方面,但是本文主要討論無服務(wù)器應(yīng)用開發(fā)的最新趨勢。

隨著人們?cè)絹碓疥P(guān)注將運(yùn)營方面的工作交給云服務(wù)提供商或以平臺(tái)為中心的解決方案,無服務(wù)器架構(gòu)將作為一種功能即服務(wù)(Function-as-a-Service,F(xiàn)aaS)的編程風(fēng)格(見下圖)繼續(xù)在微服務(wù)應(yīng)用開發(fā)中發(fā)揮關(guān)鍵作用。無服務(wù)器應(yīng)用開發(fā)的最新趨勢將繼續(xù)隨著新出現(xiàn)的模式、技術(shù)產(chǎn)品和云原生社區(qū)的創(chuàng)新而發(fā)展。

QQ截圖20211119092508.png

無服務(wù)器計(jì)算是一項(xiàng)關(guān)鍵技術(shù),正在重新定義企業(yè)構(gòu)建、消費(fèi)以及整合云原生應(yīng)用的方式。“無服務(wù)器架構(gòu)使開發(fā)人員能夠?qū)W⒂谒麄儜?yīng)該做的事情——編寫代碼,優(yōu)化應(yīng)用設(shè)計(jì)——為業(yè)務(wù)敏捷性讓路。”

——Gartner:《CIO無服務(wù)器計(jì)算指南》(CIO’s Guide for Serverless Computing)

1

趨勢一:抽象是無服務(wù)器應(yīng)用開發(fā)的新口號(hào)

無服務(wù)器架構(gòu)在開發(fā)者中普及了FaaS的編程風(fēng)格;它通過獨(dú)立構(gòu)建和部署的功能來幫助開發(fā)者專注解決核心業(yè)務(wù)問題,這些功能對(duì)某一事件作出響應(yīng),運(yùn)行業(yè)務(wù)流程,在此過程中生成其他事件,并將規(guī)??s小到零。

——ThoughtWorks Technology Radar

從歷史上看,無服務(wù)器產(chǎn)品已經(jīng)被亞馬遜云科技Lambda、Microsoft Azure Functions、Google Cloud Functions、Alibaba Cloud Function Compute和其他云提供商等無服務(wù)器平臺(tái)普及推廣。這些平臺(tái)提供了對(duì)核心基礎(chǔ)設(shè)施的抽象,并與云托管服務(wù)本地集成。

隨著多云部署的興起,下一個(gè)趨勢是在公共云服務(wù)提供商的產(chǎn)品之上建立一個(gè)抽象層(見下圖)的演變。這將有助于將業(yè)務(wù)服務(wù)與云提供商的專有技術(shù)脫鉤,并且可以根據(jù)服務(wù)的具體要求靈活選擇無服務(wù)器平臺(tái)的提供商。

提供一個(gè)無服務(wù)器應(yīng)用開發(fā)層作為另一個(gè)抽象層,在構(gòu)建基于功能即服務(wù)的應(yīng)用時(shí)提供一個(gè)供應(yīng)商中立的接口,從而有助于應(yīng)用開發(fā)生命周期。

企業(yè)可以組建一個(gè)平臺(tái)工程團(tuán)隊(duì)構(gòu)建無服務(wù)器應(yīng)用開發(fā)層,也可以使用開箱即用的解決方案。

QQ截圖20211119092508.png

無服務(wù)器抽象層在無服務(wù)器平臺(tái)之上提供開發(fā)者平臺(tái)

2

趨勢二——容器和無服務(wù)器作為基礎(chǔ)平臺(tái)

容器和無服務(wù)器將成為應(yīng)用平臺(tái)的基礎(chǔ)設(shè)施。

——Gartner:《2022年云計(jì)算和邊緣計(jì)算規(guī)劃指南》(2022 Planning Guide for Cloud&Edge Computing)

與無服務(wù)器功能相比,容器被認(rèn)為是更粗粒度的,并被當(dāng)作一種替代選擇。

最近的趨勢是兩個(gè)世界力量的結(jié)合,因?yàn)闊o服務(wù)器平臺(tái)已經(jīng)開始支持容器來打包和部署應(yīng)用程序代碼(主要的無服務(wù)器提供商及其對(duì)容器的支持見下表)。

3

趨勢三:開源在構(gòu)建無服務(wù)器平臺(tái)中的崛起

開源云原生開發(fā)以服務(wù)網(wǎng)格和無服務(wù)器為目標(biāo)。

——Forrester Research

雖然亞馬遜云科技Lambda使用其專有技術(shù)來實(shí)現(xiàn)無服務(wù)器,但新興的參與者正在使用開源技術(shù)來構(gòu)建無服務(wù)器平臺(tái)。

這有助于區(qū)分他們作為提供商中立的能力,以及他們對(duì)更加開放和透明的傾向。此外,在混合云部署模式中,它有助于為使用相同開源技術(shù)的企業(yè)內(nèi)部無服務(wù)器平臺(tái)建立一個(gè)一致的方法。

QQ截圖20211119092508.png

云服務(wù)提供商的無服務(wù)器平臺(tái)

與可觀察性相關(guān)的功能(OpenTracing、OpenTelemetry、Grafana和Jaeger)也被無服務(wù)器平臺(tái)廣泛集成。

開源為無服務(wù)器的企業(yè)級(jí)混合云平臺(tái)提供了許多選擇。主要框架有:Apache OpenWhisk、OpenFaaS、Knative、Fn Project、Kubeless(由VMWare歸檔)和Fission。

QQ截圖20211119092508.png

無服務(wù)器的開源框架

4

趨勢四:無服務(wù)器作為端到端應(yīng)用開發(fā)平臺(tái)的推動(dòng)者

我們預(yù)測2022年是無服務(wù)器最終達(dá)到臨界質(zhì)量的一年,接近主流接受度,成為目前軟件開發(fā)的最佳實(shí)踐模式。

—2021年InfoQ《趨勢報(bào)告》(Trends Report 2021)

不僅主要的云服務(wù)提供商(亞馬遜云科技、Azure和Google Cloud)在推動(dòng)無服務(wù)器的采用,而且新的參與者也在簡化無服務(wù)器的采用。有趣的是,這些參與者中的大多數(shù)可能在幕后使用公共云服務(wù)提供商,或者通過在供應(yīng)商之上添加抽象層,讓最終用戶選擇云供應(yīng)商。

與2021年類似,今年將繼續(xù)看到新的功能或產(chǎn)品發(fā)布,如:亞馬遜云科技擴(kuò)展SAM平臺(tái)(SAM加速等新功能),Azure擴(kuò)展其無服務(wù)器平臺(tái),以及Cloudflare擴(kuò)展JAMStack的Workers和Pages等無服務(wù)器功能。

這些關(guān)鍵研究表明,表明提供數(shù)據(jù)庫、應(yīng)用框架、GraphQL等能力的技術(shù)服務(wù)提供商正專注于推出具有無服務(wù)器產(chǎn)品的端到端應(yīng)用開發(fā)平臺(tái)的趨勢。

Akka Serverless(2021年6月推出):使用托管Serverless平臺(tái)構(gòu)建實(shí)時(shí)應(yīng)用程序。

MongoDB Realm(2021年6月推出):利用MongoDB數(shù)據(jù)庫作為一個(gè)集成平臺(tái)來構(gòu)建應(yīng)用程序。

Nimbella Service Platform被DigitalOcean收購,他們宣布將在2022年推出測試版產(chǎn)品。

Cloudflare通過Cloudflare Workers提供無服務(wù)器計(jì)算服務(wù),并不斷建立新的功能,如Workers Durable Objects,這些新功能在2021年普遍用于構(gòu)建有狀態(tài)的無服務(wù)器應(yīng)用程序。

5

趨勢五:邊緣的無服務(wù)器將使計(jì)算更貼近終端用戶

無服務(wù)器邊緣計(jì)算平臺(tái)利用5G/6G的毫秒延遲和人工智能優(yōu)化,將促進(jìn)遠(yuǎn)程應(yīng)用的云連續(xù)。

——IBM無服務(wù)器預(yù)測

新的應(yīng)用程序?qū)㈤_始被設(shè)計(jì)為利用邊緣的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)能力。這將涵蓋云/邊緣連續(xù)體中應(yīng)用程序的整個(gè)生命周期。

隨著使用邊緣計(jì)算的延遲降低(<1-5毫秒),無服務(wù)器應(yīng)用的性能、可擴(kuò)展性和可用性預(yù)期將更高。突發(fā)性工作負(fù)載(遵循工作負(fù)載模式來處理突然和意外的負(fù)載高峰)將繼續(xù)成為無服務(wù)器應(yīng)用程序的執(zhí)行趨勢。

6

其他有趣的觀察和發(fā)現(xiàn)

根據(jù)Datadog的《無服務(wù)器狀態(tài)》(State of Serverless)、IBM和IEEE Research的結(jié)論,亞馬遜云科技Lambda仍然是使用最廣泛的功能即服務(wù)(FaaS)產(chǎn)品。

根據(jù)IEEE對(duì)89個(gè)以上應(yīng)用程序的數(shù)據(jù)研究,典型的無服務(wù)器應(yīng)用程序使用托管云服務(wù),具體趨勢表明在以下領(lǐng)域的使用情況:云存儲(chǔ)(61%)、云數(shù)據(jù)庫(約47%)和云消息傳遞(約38%)。

QQ截圖20211119092508.png

托管云服務(wù)的無服務(wù)器應(yīng)用程序使用情況

Python和JavaScript是無服務(wù)器應(yīng)用開發(fā)中最流行的語言(約30%~40%),其次是Java(約10%~15%)、C/C++(約10%~15%)、Golang(約4%~5%)和Ruby(約1%~2%)。

無服務(wù)器應(yīng)用主要用于API、流/異步處理、批處理作業(yè)、工作流處理和操作任務(wù)。

無服務(wù)器框架是使用亞馬遜云科技CloudFormation部署亞馬遜云科技Lambda應(yīng)用的主要方式,其次是亞馬遜云科技CloudFormation、亞馬遜云科技CDK、亞馬遜云科技SAM。

總而言之,無服務(wù)器將繼續(xù)成為云供應(yīng)商的重點(diǎn)領(lǐng)域,這些趨勢表明,新的創(chuàng)新產(chǎn)品將繼續(xù)在以下領(lǐng)域出現(xiàn):功能即服務(wù)、后臺(tái)即服務(wù)、數(shù)據(jù)庫等領(lǐng)域即服務(wù)、存儲(chǔ)即服務(wù)、Kubernetes和容器編排即服務(wù)、機(jī)器學(xué)習(xí)即服務(wù)等等。

QQ截圖20211119092508.png

無服務(wù)器應(yīng)用程序開發(fā)的最新趨勢摘要

參考:

A year with serverless—BBC Online

Top serverless frameworks to watch in 2021(The Chief I/O)

The State of Serverless(by Datadog)

OWASP Serverless Top 10 Security Risks

The Forrester Wave:Function-As-A-Service Platforms,Q1 2021

A CIO’s Guide to Serverless Computing(Gartner)

原文鏈接:

https://vedcraft.com/tech-trends/the-latest-trends-in-serverless-application-development

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無評(píng)論