6 月 18 日舉辦的 ServerlessDays China 活動,技術大咖云集,來自加州大學伯克利分校,serverless.com,騰訊云和谷歌云等云計算領域的學者與專家共同討論了無服務器計算的最新創新,用例和未來方向,
O'Reilly 在 2019 年對 1500 名 IT 專業人士的調查中,有 40% 的受訪者在采用無服務器架構的機構中作業, 發布于2020年的 DataDog 調查顯示,現在有超過 50% 的 AWS 用戶正在使用無服務器的 AWS Lambda 函式即服務(FaaS),
無服務器技術正在成為主流,
Serverless Days 是無服務器技術的國際前沿技術盛會,來自業界和學術界的知名專家,就為什么無服務器風靡一時、以及企業為什么要關注無服務器,分享了很多實際案例與洞見,
Johann Schleier-Smith 談到了無服務器計算的歷史和未來,他是《簡化的云編程:Berkeley 關于無服務器計算的觀點》論文的作者之一,該報告將無服務器計算定義為無狀態 FaaS(函式即服務,例如 AWS Lambda)和有狀態存盤 BaaS(后端即服務,例如 AWS S3),
在我們的定義中,要使服務被認為是無服務器的,它必須在無需顯式配置的情況下自動擴展,并根據使用情況進行計費, — Berkeley 關于無服務器計算的觀點
根據 Schleier-Smith 的說法,無服務器計算已經大大簡化了系統或基礎架構管理,正進入簡化應用程式開發的新階段,無服務器 FaaS 基礎架構有三種主要方法,都可以為執行用戶提交的代碼提供隔離和安全的沙箱,
- FaaS 基礎架構的第一種方法是使用系統或硬體級別的虛擬機,例如 AWS Firecracker,這種方法為應用程式提供了最佳的隔離和安全性,但很慢并且管理起來很復雜,云服務提供商會安裝并引導作業系統和運行時軟體堆疊(例如,Node.js或 Python)以運行用戶的代碼, AWS Lambda 的成功證明了這種方法的可擴展性,
- 第二種方法是使用容器,例如 Docker,容器由 Kubernetes 等解決方案管理,這種方法的安全性較差,但性能比系統級虛擬機高得多,在執行任何用戶代碼之前,云服務提供商將使用作業系統和運行時堆疊來加載及啟動容器鏡像,
- 第三種新興方法是使用特定于應用程式的虛擬機,例如 WebAssembly,這種方法提供了高度的抽象, WebAssembly 虛擬機不需要系結(bootstrap)自己的作業系統或軟體堆疊,只執行編譯后的位元組碼應用程式, WebAssembly 提供了一個高級的“基于功能”的安全模型,用于訪問系統資源(例如,通過WASI 規范),而不是粗粒度的作業系統級隔離,但是,與作業系統容器不同,WebAssembly 的缺點是僅支持編譯為 WebAssembly 位元組碼的應用程式,目前,僅支持 C/C ++,Rust 和AssemblyScript( TypeScript 的子集),
資料隔離有多種方法,應用程式可以根據需要選擇不同的方法, — Johann Schleier-Smith
這三種方法提供了一系列解決方案,并且在性能,安全性和易用性三者中取得平衡,隨著技術的發展,這三種方法之間的界線越來越模糊,例如,在系統級 VM 和容器之間架起了橋梁,LightVM 方法嘗試將相關的作業系統函式直接編譯到 VM 中以實作更快的性能,
無服務器基礎設施創新的另一個例子是谷歌云的 gVisor,來自 Google 的 Wenlei He 在會議上作了關于 Google Cloud Run 的精彩演講,在后臺,Google gVisor 技術提供了用于運行容器的系統級沙箱,gVisor比 Docker 更安全,并且比系統級虛擬機更快,谷歌云的三個最重要的無服務器產品 Cloud Run,Cloud Functions 和 App Engine 都是基于 gVisor 構建的,
在 FaaS 語境中,無服務器的常見(但可能被低估)維度之一是,它能為公共云基礎架構添加“可編程性”維度, — 谷歌云 Serverless 首席產品經理 Jason Polites
正如 Schleier-Smith 和 Polites 所提到的那樣,無服務器基礎架構創新是達到目的的一種手段,無服務器計算的最終目標是簡化開發者的互聯網應用程式開發,然而,最近,下面的架構圖“serverless Twitter”被瘋狂轉發,該架構圖引發了很多人的疑問:這比我們想要取代的“有服務器”技術要簡單嗎?

Serverless.com 的首席執行官 Austen Collins 介紹了關于無服務器工具和應用程式架構的最新技術,他創造了“無服務器架構師的崛起”(the rise of the serverless architect)這個短語,來描述對有經驗的無服務器技術人才的需求,隨著無服務器應用的日益普及,開發者正在使用無服務器技術來構建成熟的企業應用程式,而不僅僅是簡單 web 服務或 AWS 服務之間的無狀態連接器,例如,開發者正在圍繞無服務器的 FaaS 和 BaaS 之間的分界線展開作業,AWS 最近發布了Lambda Elastic File System,以使 Lambda 函式有狀態(stateful),另一方面,WebAssembly 解決方案正在推動 WASI 或資料庫訪問的自定義擴展來進行安全的檔案系統訪問,
正如上圖所示,FaaS 應用程式的體系結構非常復雜并呈爆炸式增長,為了構建當今的無服務器解決方案,開發者顯然需要軟體架構師的技能,這是第一個在中國舉辦的SeverlessDays活動,Serverless.com 宣布與騰訊云達成合作,提供軟體工具以簡化 Node.js+Express.js apps, 靜態網站,和 RESTful API 端點 在騰訊云無服務器平臺上的部署,
與西方的互聯網巨頭一樣,騰訊作為亞洲最大的互聯網公司之一,運營著復雜的資料中心業務,并為其應用程式提供動力,因此很自然地將騰訊一部分資料中心作為云服務對外提供,騰訊云 Serverless 總經理Yunong Xiao 也作為大會的講者之一,討論了來自騰訊云的無服務器產品,包括無服務器云函式 (SCF) 和無服務器框架,
ServerlessDays China 由騰訊云組織和贊助,這一線上大會吸引了 4 萬多名觀眾在線觀看,這是無服務器計算的“東西方碰撞”時刻,大會討論的技術在中國開發者中引起了強烈興趣,
One More Thing
3 秒你能做什么?喝一口水,看一封郵件,還是 —— 部署一個完整的 Serverless 應用?
復制鏈接至 PC 瀏覽器訪問:https://serverless.cloud.tencent.com/deploy/express
3 秒極速部署,立即體驗史上最快的 Serverless HTTP 實戰開發!
傳送門:
- GitHub: github.com/serverless
- 官網:serverless.com
歡迎訪問:Serverless 中文網,您可以在 最佳實踐 里體驗更多關于 Serverless 應用的開發!
推薦閱讀:《Serverless 架構:從原理、設計到專案實戰》
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/75845.html
標籤:其他
上一篇:五大常見演算法策略之——回溯策略
