雲上開發新範式:Serverless的必然與應然 | 飛天技術觀

本文根據作者與阿里云云原生應用平臺總經理丁宇(花名:叔同)及阿里雲資深技術專家、Serverless技術負責人楊皓然(花名:不瞋)的對話整理

從不被看好,到成爲數字經濟和AI發展的算力基石,中國雲計算已經走過了十五年。

如今,雲計算正迎來一場新的技術升級——Serverless化,無需考慮底層資源,即可簡單、高效地構建和部署應用,實現高可用、易運維、低成本上雲。

2023年雲棲大會,阿里雲繼續推陳出新,40+款核心雲產品全面Serverless化。

AI時代,Serverless將引領雲上開發新範式。這既是產品演進的終極方向,也是服務客戶的終極模式。Serverless讓雲計算從資源變成服務,阿里雲也將不遺餘力持續創新,並推動這一能力更普及,讓雲計算真正像水和電一樣便利。

雲計算下一站

雲計算的過去十五年,其實是在“培育”市場,或者說讓市場更願意接受雲計算這種服務形態。這個階段企業關注的是“該不該上雲,以及怎麼能夠更好地上雲”。之後,隨着越來越多的企業上雲,其關注點進而升級,“如何用好雲”成爲企業的關注核心。

雲計算最開始提供的是一種資源。企業用雲先要購置資源,然後部署應用,應用的運維管理由企業自己負責,因此仍然存在一些門檻和挑戰。

而隨着上雲成爲新常態,如何解決“用好雲”的問題,成爲必答題。

一方面,從雲計算服務方的角度出發,阿里雲的核心理念是讓客戶做得更少、獲得更多,能實現“多快好省”地使用雲計算,所以也一直在考慮如何更好託管客戶的應用、提供更好的雲產品。基於這層考慮,阿里雲持續對產品進行創新,更適配用戶的需求,解決用戶的痛點。

例如,企業在管理應用、維護網站的過程中,隨着流量的變化,需要調整資源與應用容量匹配,而企業自建的方式處理起來相對較慢,往往不能夠滿足業務流量快速變化的需要。對應這個痛點,阿里雲提供了具備“自適應彈性伸縮”能力的應用託管PaaS產品,如SAE等。

此外,企業一直都有降本增效的訴求,阿里雲不僅提供了更普惠的資源,也提供了更優質、更簡單的服務,按需彈性、按量計費,這就是阿里雲做Serverless的初衷——讓客戶“用好雲”。

另一方面,隨着雲計算的廣泛應用,也逐步讓企業和開發者感知到Serverless的好處。

隨着微服務、分佈式架構的普及,應用的治理、架構的治理,整個數據鏈路架構體系變得非常複雜。互聯網架構膨脹到一定程度較難維護,每一個組件的引入,都會帶來容量、管理和性能等開發運維層面的挑戰。

頭部公司的很多部門或者很多新興企業,已經擁抱Serverless思路和產品,把更多的基礎能力都託管給雲平臺,由雲廠商解決後顧之憂。

在宣佈核心產品全面Serverless化之前,阿里雲在Serverless上佈局已經有六七年了,一直在打磨產品技術,夯實基礎。從去年開始,阿里雲進入了Serverless的第二階段,全面加速。

僅僅一年時間,阿里雲Serverless化演進歷程進入快車道——產品形態更豐富,方案集成更全面,核心產品都在加速向Serverless化邁進,行業客戶也看到了更多應用案例,Serverless模式帶來的種種好處被廣泛感知,客戶接受度也在逐步提高。

從某種程度上來說,Serverless現在還不是一個完整的技術棧。整個行業不斷地把Serverless技術棧做完整,將非原生Serverless產品和服務形態,逐漸過渡到Serverless化,阿里雲也在把整個Serverless產品組合或者技術棧逐步完善、逐步擴展。

產品全面Serverless化,重磅發佈容器計算服務ACS

阿里雲正朝着Serverless方向突飛猛進,相對應地,Serverless產品數量和豐富度都在快速增長,業務規模也在快速擴張。

在2023年雲棲大會期間,阿里雲向業界重磅發佈全球首個容器計算服務ACS,率先將容器和資源一體化,重新定義容器算力,算力交付模式升級爲Serverless形態,通過ACS實現了容器和Serverless的和諧統一。ACS支撐的負載類型也更加豐富,大幅降低了企業使用容器、K8s的代價和成本。

由此帶來的好處非常顯著。

第一,極簡易用,快速上手:容器與資源一體化,對於用戶來說,無需關注底層節點和集羣;通過極簡的產品設計,用戶只需要簡單配置即可創建應用。同時,易用性提升50%,無需花費大量時間理解衆多複雜的產品和技術概念,大幅降低K8s和用雲門檻。

第二,按需彈性,按量付費:ACS在業內首創超靈活Pod配置模式,支持1:1~1:8資源配比,用戶可以按需自由選擇;同時,ACS還提供了秒級彈性能力,讓企業從容應對流量波動;在使用方式與計費模式上,ACS支持按需彈性、資源預留和節省計劃三種方式,提供秒級計費模式,給用戶提供更多選擇,同時成本也更實惠。

第三,場景豐富,靈活調配:ACS與阿里雲產品體系深度集成,並支持開源生態和自研產品無縫遷移上雲,原生支持網絡服務器、微服務應用、Web應用等通用業務負載,支持大數據計算、AI計算、音視頻轉碼等任務類負載,還支持高性能網絡服務器、網關係統、中間件、數據庫等實時性能敏感類業務。此外,ACS在業內首創算力調配資源複用,讓資源在用戶負載和雲產品負載中靈活調配,減少資源閒置。

第四,自由組合,高性價比:ACS讓用戶專注於Pod,屏蔽了代際和機型差異,並提供通用型、任務型和獨享型三類Pod實例,針對多種應用負載和雲產品,可以選擇最適合的實例類型,自由組合充分適配,用雲成本更低。

除了用雲範式的改變之外,阿里雲也創造性提出流程式開發的理念,打造了以函數計算FC、事件總線EventBridge、雲工作流爲核心的開發新範式。

作爲國內最早佈局Serverless的雲廠商之一,阿里雲在2017年推出函數計算FC,開發者只需編寫代碼並上傳,函數計算就會自動準備好相應的計算資源,大幅簡化開發運維過程。

今年雲棲大會期間,函數計算3.0全新升級,業內首發神龍ServerlessGPU架構,冷啓動大幅優化,全鏈路調度延時降低80%,函數執行性能波動率降低70%;作爲事件驅動的全託管計算服務,足夠輕量靈活,讓用戶以更少的代碼,更好、更快地實現業務創新。相對函數計算2.0,3.0版本突出易用性、高彈性,並且可以和更多阿里雲服務無縫集成。

此外,SAE2.0也迎來重磅升級。SAE是一款零代碼改造、極簡易用、自適應彈性的應用全託管平臺,免運維IaaS和K8s,秒級完成從源代碼/代碼包/Docker鏡像部署任何語言的在線應用(如Web/微服務/Job任務)到SAE,並自動伸縮實例,按使用量計費,開箱即用日誌、監控、負載均衡等配套能力。

此次升級,重點攻克彈性能力、用戶體驗、適用場景等。在彈性能力上,彈性效率優化到百毫秒級,支持縮容到0。並提供閒置計費能力,無請求時CPU不計費。零改造遷移,秒級創建應用,一鍵灰度。新增支持Web應用類型,從實例託管到流量託管。

爲了讓企業和開發者更快速、便捷地進行雲上開發,阿里雲重磅發佈雲工作流,它是一款強大的面向開發者的流程編排開發工具,全託管、高併發、高可用,幫助用戶簡化和自動化複雜的雲上業務流程和工作流程,更便捷地在雲上構建應用。

雲工作流的出現,加速了流程式開發範式的到來。隨着阿里雲提供越來越全面的Serverless產品,很多雲產品都變成模塊化、API化、服務化,它們可以進行組裝,通過拖拉拽的方式就能夠構建應用。在Serverless架構下,流程式開發將成爲主流。相比傳統模式,流程式開發可提效50%以上。

可以想象這樣一個場景:當企業產生一項業務訴求,要解決業務問題,先要設計一套系統的業務流程,再將業務流程裡每一步拆解處理。比如,業務邏輯設計可能運行在容器上,可能需要跟數據庫、雲消息隊列、OSS等雲產品交互,從業務流程上就可以看到一個雲資源的拓撲圖。

如何自動化簡潔地一鍵部署、執行如上業務邏輯,解決業務問題,關鍵能力就是流程式開發。用戶可以通過事件總線收集和分發事件,通過函數計算快速實現事件處理和定製化的業務邏輯,通過工作流編排多個雲服務或自定義的應用組件,從而輕鬆構建出彈性、高可用的雲原生應用。這種開發方法不僅能提高開發速度,還能降低開發和運維成本,進一步推動企業數字化轉型。

總結起來,阿里雲產品會針對不同領域的需求,從彈性、易用性以及對業務改造的負擔角度,做不同的取捨,但所有產品都有一個非常確定的趨勢,就是Serverless化。

Serverless最大的難題,不是技術

企業對Serverless雲產品的接納考量主要有幾個維度:成本,是不是比之前開源自建更優惠;性能,是不是足夠支撐起業務需求;維護成本,比如產品的可觀測性、故障診斷能力是否足夠,是否全託管免運維低投入;遷移改造成本,是否在可接受範圍內。

目前,無論是支撐淘寶天貓的大規模實踐,還是對外服務大量客戶的使用情況來看,Serverless產品在覈心業務場景上應用,沒有非常難的技術卡點。

企業的歷史包袱和遷移成本也會成爲是否選擇Serverless的關鍵因素。

大模型是一個很好的例子。2023年很多開發者都在研發和實踐大模型,開發者和企業應用沒有歷史包袱,所有人都可以使用新的技術棧。因此,在阿里雲上,有大量開發者使用Serverless產品構建大模型全新的業務場景。

綜合來看,不同類型的企業,對Serverless有不同的思考,也有多種選擇。

企業要實現Serverless升級,首先要考慮團隊人員、技術儲備。當企業有一個很好的基礎設施團隊,並且建立了平臺和內外部各種系統,企業可能會選擇一個漸進的演進路徑。

如果一家初創公司做技術選型,從投入時間、團隊建設、平臺打磨、成本的角度綜合考慮,會直接選擇用Serverless架構。

國內外使用Serverless也有一些差異:一,很多海外客戶會把節省人力投入看得更重,使用Serverless產品更容易做到;二,國內客戶採用微服務更多,包括很多流行的微服務框架以及配套的工具鏈、生態,延伸出來的慣性也非常強;但在海外,很多Serverless產品幾乎不太追求跟傳統微服務框架兼容;三,國內客戶更看重開源開放,對技術選型、開放標準,甚至具備多雲遷移的能力更加重視。

此外,海外企業價值驅動居多,對PaaS層的廠商綁定接受度更高,更願意使用雲廠商提供的一整套方案幫助企業架構適應雲;國內企業這方面擔憂更多一些。阿里雲採取了並駕齊驅的路線,既有全新架構方案也有兼容利舊方案,通過Serverless化產品以及產品生態的打造,幫助企業更快實現Serverless化。

同時,積極幫助企業降低“心理包袱”也是阿里雲一直在做的事情。提供行業最好的產品技術,創造行業最好的用戶體驗,降低廠商綁定擔憂,需要更加開放的標準,阿里雲後續會推出SAE產品的開源版本,通過社區的力量推動萬千企業和開發者擁抱Serverless,獲取技術紅利。

本文摘自《雲棲戰略參考》2023年10月刊

掃碼限時申領紙質版