1. 程式人生 > 其它 >無伺服器應用程式開發的最新趨勢

無伺服器應用程式開發的最新趨勢

2022 年無伺服器應用程式開發的最新趨勢 https://mp.weixin.qq.com/s/Sg2hAej3tQ8nCasf8c6fag

2022 年無伺服器應用程式開發的最新趨勢

InfoQ 架構頭條 2022-05-31 11:41 發表於北京 作者 | Ankur Kumar
譯者 | Sambodhi策劃 | marsxxl無伺服器將繼續成為雲供應商的重點領域

無伺服器計算已經在主流應用中站穩腳跟,並開始出現在企業組織的技術路線圖中。研究公司和業界領袖預測,在 2022 年無伺服器的採用將會有更大的發展勢頭。雖然在儲存、計算和網路等基礎設施要素方面,無伺服器有不同的方面,但是本文主要討論無伺服器應用開發的最新趨勢。

隨著人們越來越關注將運營方面的工作交給雲服務提供商或以平臺為中心的解決方案,無伺服器架構將作為一種 功能即服務(Function-as-a-Service,FaaS)的程式設計風格(見下圖)繼續在微服務應用開發中發揮關鍵作用。無伺服器應用開發的最新趨勢將繼續隨著新出現的模式、技術產品和雲原生社群的創新而發展。

無伺服器計算是一項關鍵技術,正在重新定義企業構建、消費以及整合雲原生應用的方式。“無伺服器架構使開發人員能夠專注於他們應該做的事情——編寫程式碼,優化應用設計——為業務敏捷性讓路。”

——Gartner:《CIO 無伺服器計算指南》(CIO’s Guide for Serverless Computing

1趨勢一:抽象是無伺服器應用開發的新口號

無伺服器架構 在開發者中普及了 FaaS 的程式設計風格;它通過獨立構建和部署的功能來幫助開發者專注解決核心業務問題,這些功能對某一事件作出響應,執行業務流程,在此過程中生成其他事件,並將規模縮小到零。

——ThoughtWorks Technology Radar

  • 從歷史上看,無伺服器產品已經被 亞馬遜雲科技 Lambda、Microsoft Azure Functions、Google Cloud Functions、Alibaba Cloud Function Compute 和其他雲提供商等無伺服器平臺普及推廣。這些平臺提供了對核心基礎設施的抽象,並與雲託管服務本地整合。

  • 隨著多雲部署的興起,下一個趨勢是在公共雲服務提供商的產品之上建立一個抽象層(見下圖)的演變。這將有助於將業務服務與雲提供商的專有技術脫鉤,並且可以根據服務的具體要求靈活選擇無伺服器平臺的提供商。

  • 提供一個無伺服器應用開發層作為另一個抽象層,在構建基於功能即服務的應用時提供一個供應商中立的介面,從而有助於應用開發生命週期。

  • 企業可以組建一個平臺工程團隊構建無伺服器應用開發層,也可以使用開箱即用的解決方案。

無伺服器抽象層在無伺服器平臺之上提供開發者平臺

2趨勢二——容器和無伺服器作為基礎平臺

容器和無伺服器將成為應用平臺的基礎設施。

——Gartner:《2022 年雲端計算和邊緣計算規劃指南》(2022 Planning Guide for Cloud & Edge Computing

  • 與無伺服器功能相比,容器被認為是更粗粒度的,並被當作一種替代選擇。

  • 最近的趨勢是兩個世界力量的結合,因為無伺服器平臺已經開始支援容器來打包和部署應用程式程式碼(主要的無伺服器提供商及其對容器的支援見下表)。

3趨勢三:開源在構建無伺服器平臺中的崛起

開源雲原生開發以服務網格和無伺服器為目標。

——Forrester Research

  • 雖然亞馬遜雲科技 Lambda 使用其專有技術來實現無伺服器,但新興的參與者正在使用開源技術來構建無伺服器平臺。

  • 這有助於區分他們作為提供商中立的能力,以及他們對更加開放和透明的傾向。此外,在混合雲部署模式中,它有助於為使用相同開源技術的企業內部無伺服器平臺建立一個一致的方法。

雲服務提供商的無伺服器平臺

  • 與可觀察性相關的功能(OpenTracing、OpenTelemetry、Grafana 和 Jaeger)也被無伺服器平臺廣泛整合。

  • 開源為無伺服器的企業級混合雲平臺提供了許多選擇。主要框架有:Apache OpenWhisk、OpenFaaS、Knative、Fn Project、Kubeless(由 VMWare 歸檔)和 Fission。

無伺服器的開源框架

4趨勢四:無伺服器作為端到端應用開發平臺的推動者

我們預測 2022 年是無伺服器最終達到臨界質量的一年,接近主流接受度,成為目前軟體開發的最佳實踐模式。

—2021 年 InfoQ 《趨勢報告》(Trends Report 2021

  • 不僅主要的雲服務提供商(亞馬遜雲科技、Azure 和 Google Cloud)在推動無伺服器的採用,而且新的參與者也在簡化無伺服器的採用。有趣的是,這些參與者中的大多數可能在幕後使用公共雲服務提供商,或者通過在供應商之上新增抽象層,讓終端使用者選擇雲供應商。

  • 與 2021 年類似,今年將繼續看到新的功能或產品釋出,如:亞馬遜雲科技擴充套件 SAM 平臺(SAM 加速 等新功能),Azure 擴充套件其 無伺服器平臺,以及 Cloudflare 擴充套件 JAMStack 的 Workers 和 Pages 等無伺服器功能。

這些關鍵研究表明,表明提供資料庫、應用框架、GraphQL 等能力的技術服務提供商正專注於推出具有無伺服器產品的端到端應用開發平臺的趨勢。

  • Akka Serverless(2021 年 6 月推出):使用託管 Serverless 平臺構建實時應用程式。

  • MongoDB Realm(2021 年 6 月推出):利用 MongoDB 資料庫作為一個整合平臺來構建應用程式。

  • Nimbella Service Platform 被 DigitalOcean 收購,他們宣佈將在 2022 年推出測試版產品。

  • Cloudflare 通過 Cloudflare Workers 提供無伺服器計算服務,並不斷建立新的功能,如 Workers Durable Objects,這些新功能在 2021 年普遍用於構建有狀態的無伺服器應用程式。

5趨勢五:邊緣的無伺服器將使計算更貼近終端使用者

無伺服器邊緣計算平臺利用 5G/6G 的毫秒延遲和人工智慧優化,將促進遠端應用的雲連續。

——IBM 無伺服器預測

  • 新的應用程式將開始被設計為利用邊緣的計算、儲存和網路能力。這將涵蓋雲 / 邊緣連續體中應用程式的整個生命週期。

  • 隨著使用邊緣計算的延遲降低(<1-5 毫秒),無伺服器應用的效能、可擴充套件性和可用性預期將更高。突發性工作負載(遵循工作負載模式來處理突然和意外的負載高峰)將繼續成為無伺服器應用程式的執行趨勢。

6其他有趣的觀察和發現
  • 根據 Datadog 的《無伺服器狀態》(State of Serverless)、IBM 和 IEEE Research 的結論,亞馬遜雲科技 Lambda 仍然是使用最廣泛的功能即服務(FaaS)產品。

  • 根據 IEEE 對 89 個以上應用程式的資料研究,典型的無伺服器應用程式使用託管雲服務,具體趨勢表明在以下領域的使用情況:雲端儲存(61%)、雲資料庫(約 47%)和雲訊息傳遞(約 38%)。

託管雲服務的無伺服器應用程式使用情況

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

  • 無伺服器應用主要用於 API、流 / 非同步處理、批處理作業、工作流處理和操作任務。

  • 無伺服器框架是使用亞馬遜雲科技 CloudFormation 部署亞馬遜雲科技 Lambda 應用的主要方式,其次是亞馬遜雲科技 CloudFormation、亞馬遜雲科技 CDK、亞馬遜雲科技 SAM。

總而言之,無伺服器將繼續成為雲供應商的重點領域,這些趨勢表明,新的創新產品將繼續在以下領域出現:功能即服務、後臺即服務、資料庫等領域即服務、儲存即服務、Kubernetes 和容器編排即服務、機器學習即服務等等。

無伺服器應用程式開發的最新趨勢摘要

參考:

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

搜尋

複製