近年來,新冠疫情、國際環境等不確定性帶來的風險持續發酵,企業不斷承壓,強化數字化能力已成為企業穩健應對不確定性的共識之一。
云計算是企業數字化過程中應用最廣泛的技術,而Serverless 作為一種云計算模型和新型互聯網架構,現已成為云技術的最新應用,吸引IT高管及技術人員的高度關注。根據 Gartner的預測,全球 Serverless 架構的市場規模將在 2024 年達到 1000 億美元。
什么是Serverless?
根據 CNCF 的定義,Serverless 的概念是指構建和運行不需要服務器管理的應用程序。它描述了一種更細粒度的部署模型,在該模型中,應用程序被捆綁為一個或多個功能,被上傳到一個平臺,然后根據當前所需的確切需求執行、擴展和計費。
Serverless computing即無服務器運算,又被稱為函數即服務Function-as-a-Service,縮寫為 FaaS。Serverless 以平臺即服務(PaaS)為基礎,無服務器運算提供一個微型的架構,終端客戶不需要部署、配置或管理服務器服務,代碼運行所需要的服務器服務皆由云端平臺來提供 。
Serverless 是描述云服務、應用開發實踐和云原生應用架構的一種方式,能夠幫助客戶更加敏捷地構建應用程序,從而幫助他們更快地創新和應對變化。
亞馬遜云科技大中華區產品部總經理陳曉建在近日舉辦的創新大會上用了一句話來概括:“Serverless就是只做一件事情并且把這件事情做好”。而這正是Serverless開發理念中最重要的思想。
Serverless并非指托管和運行應用程序時不再需要服務器,而是指從前耗費研發和運維人員無數精力和資源的CI/CD、服務器配置維護更新、IT 資源容量的規劃和伸縮等工作,被 Serverless這個概念下包含的技術體系封裝好了。研發團隊專注于業務邏輯的編寫,運維團隊向SRE轉型,負責技術SLA的制定和保障工作。
亞馬遜云科技大中華區產品部總經理陳曉建
亞馬遜云科技17年引領Serverless持續進化
早在 2006 年,亞馬遜云科技推出的第一個存儲服務 Amazon S3 就是無服務器架構的,早在Serverless“概念”還沒有產生時,亞馬遜云科技已經完成了服務的搭建。真正讓 Serverless 名聲大噪的是 2014 年,亞馬遜云科技發布了業界第一個 Serverless 計算服務 Amazon Lambda,推動了云計算用戶對 Serverless 的認知。
如今,亞馬遜云科技的 Serverless 服務并不僅止于計算,已經圍繞計算、存儲、應用集成、數據庫、數據分析、人工智能等多個服務領域全面推進 Serverless 進程。伴隨亞馬遜云科技推出分析服務Amazon OpenSearch Serverless,標志著其提供的所有大數據分析產品已全部提供Serverless服務選項。
自Amazon S3推出以來的17年里,亞馬遜云科技持續引領Serverless發展的技術創新、應用場景以及全球客戶的創新實踐,不斷根據客戶需求豐富Serverless服務的廣度和深度。在廣度方面,持續豐富涵蓋計算、存儲、應用集成、數據庫、數據分析等各方面的全棧Serverless服務;在深度方面,推進現有Serverless計算服務的精耕細作,為客戶提供更多功能以及更高的性能。
過去17年,亞馬遜云科技持續推進Serverless的發展,將Serverless提供的極致彈性和自動擴展能力帶給越來越多的客戶。據悉,每天有一億個Amazon EC2實例被啟動;每周有22.5億個Amazon ECS容器任務被啟動;Amazon Lambda月活躍客戶已超過100萬。全球數十萬客戶正在借助亞馬遜云科技的Serverless云服務開展業務創新。
Serverless已成為企業應對不確定性的有效工具
當前社會充滿了錯綜復雜的風險與挑戰,例如硅谷銀行的突然倒閉,生成式AI帶來的機遇、風險與挑戰等等。面對種種不確定性,企業該如何應對這些風險與挑戰呢?
“Serverless無需管理服務器,可自動擴展與縮減容量,支持按使用量付費,具有更高的安全與可用性,這四大特征使其成為企業應對不確定性的一個非常有效的工具。”陳曉建提到。
將Serverless稱之為幫助企業應對不確定性的有效技術手段,理由有三。
首先,Serverless可快速創新,響應不可預測的風險。
“我們希望客戶寫的每一行代碼都是業務邏輯,Serverless正在讓它變為現實。”陳曉建如是說。Serverless 應用無需管理 API、消息隊列、存儲、數據庫,企業只需要專注于業務邏輯,能將更多的精力放在業務創新上,加速應用推出的時間。
在 Serverless 架構中,當一個函數沒有被調用一段時間后,其資源被系統釋放;等再次調用時,系統需要重新初始化資源,從而導致首次請求響應時間變長。同理,對于新到達的并發請求,會產生并發的冷啟動延時問題。這是 Serverless 的弱點之一。
Amazon Lambda作為第一款無服務器計算服務,8年里進行了大量優化。而去年推出的Amazon Lambda Snapstart可將Lambda函數的冷啟動時間降低90%,實現10倍的快速啟動性能,消除在系統啟動時帶來的突發延時。而對其客戶而言,既不需要做任何代碼改變,也不需要支付任何費用。據悉,該功能已幫助智能支付平臺Bill.com提高了95%的冷啟動性能。
初創游戲公司Habby(該公司開發了《彈殼特工隊 》和《弓箭傳說 》等熱門游戲)大幅縮短了新游戲的部署和上線時間;幫助《Marvel Snap》卡牌游戲在半年達成全球5000萬美元的總營收;幫助可口可樂在 100 天內構建了新應用程序,允許客戶在不接觸自動售貨機的情況下訂購和支付飲料。
其次,全棧Serverless服務可幫助企業應對錯綜復雜的訴求。
會上,陳曉建介紹了云端MMO-RPG游戲《新世界》運用了大量Serverless服務應對復雜訴求的最佳實踐。
據悉,新世界把用戶的所有狀態存儲在Amazon DynamoDB(鍵值數據庫)里,實現用戶數據的落地和一致性,不必擔心由于業務程序變更而導致用戶狀態丟失;把用戶運營日志通過Amazon Kinesis傳到Amazon S3,并交給Amazon Athena或Amazon OpenSearch進行后端處理;通過Amazon Lambda進行用戶登錄、計費等業務邏輯的處理。除此之外,新世界還有很多容器應用、容器化的Amazon EC2實例,這些構成了一套簡單、高效的架構。
Amazon Kinesis每分鐘可以傳遞處理2300萬個事件,Amazon Lambda每分鐘可以處理多達1.5億次調用,幫助新世界輕松應對新游戲上線時的流量突增。
從新世界游戲的案例可以看出,Serverless可以消除業務不確定性和業務起伏帶來的隱性成本,輕松應對峰值、非頻發的復雜工作負載;還可以消除數據管理系統按需擴展的復雜實施難題,無需考慮計算和存儲資源的比例,也不會出現節點讀寫狀態不一致等問題。
只有通過計算和存儲分離,才能真正實現Serverless,以應對復雜場景下的需求。從底層的數據庫到中間的大數據分析,再到最上層的人工智能平臺,亞馬遜云科技提供全棧Serverless 服務,以及端到端的數據能力。
以近期推出的Aurora Serverless V2為例,可在幾分之一秒內自動擴展到數十萬個事務; 以細粒度的增量擴展容量,與為峰值負載預置數據庫容量的方式相比,可幫助客戶節省高達90%的成本。
第三,Serverless的故障隔離能力,能夠助力企業應對潛在風險。
以經典的Serverless計算服務——Amazon Lambda為例,它融入了潛水艇隔離倉的安全理念,滿足企業級生產所需的99.99%高可用:執行環境在硬件虛擬化虛擬機(microVM)上運行;每個Amazon Lambda運行的microVM不會跨亞馬遜云科技賬戶共享;每個執行環境只處理一個并發調用。亞馬遜電商自身的業務中,有超過一半的新業務部署是通過Amazon Lambda來實現的。
Serverless無服務器消除了企業管理基礎架構的需要,企業使用Serverless架構后,更多的責任將由亞馬遜云科技承擔,不必再去關注給服務器擴容或者打補丁等事務,可以最大限度的保證企業云上業務的安全。
第三方機構調查顯示:2021年底Log4j漏洞被公布,52%的企業花費了超過一個月的時間解決問題,而且48%的企業不得不通過加班來縮短解決問題的時間。而Amazon Lambda只在三天之內就解決了這一問題,對用戶而言完全不需要做任何事。這意味著將底層基礎設施交給亞馬遜云科技,更高效也更安全。
企業實現Serverless的三條進階路徑
陳曉建還在會上總結了企業用戶使用Serverless的三條進階路徑。
進階路徑1:從一些無需進行代碼改造的遷移開始。
對于后端服務的無服務器化重構,亞馬遜云科技開發了開源工具Lambda Web Adapter,客戶無需修改代碼,可以隨意切換應用程序在Lambda和容器之間轉換。
對于后端數據管理無服務器化遷移,亞馬遜云科技提供與標準接口全面兼容的Serverless數據云服務,包括關系型數據庫、非關系型數據庫、數據倉庫等,可實現高效便捷的遷移。
進階路徑2:擁抱事件驅動架構,靈活應對不確定性。
事件驅動架構具有“依賴更少、故障隔離和架構可進化”三大優勢。
事件驅動架構(Event-Driven Architecture,EDA)基于事件來解耦應用程序組件,由事件生產者、事件路由和事件消費者三個關鍵組件構成。航空公司的訂票系統、餐廳服務的點單系統,和大量的銀行保險業務,都是通過事件驅動架構來實現的,當其中某一處發生變化時,不需要對其他模塊進行更改,而這正是事件驅動架構的優勢所在。
Amazon S3對象存儲服務是事件驅動架構中的典型代表,2006 年Amazon S3由 8 個獨立的微服務組成,如今已經進化為超過235個不同的微服務,而整個進化過程對于用戶的服務而言沒有產生任何影響。
據了解,奈飛Netflix等Serverless客戶,都是首先從事件驅動架構開始其無服務器之旅。總體來看,事件驅動架構的客戶可以更快更容易地采用Serverless構建微服務的新應用,或是開發新功能。
進階路徑3:Serverless First,降低應用成本。
Serverless First是一種思維方式,指在構建新的應用時首先考慮是否可以首選 Serverless 來實現。
實際上,很多應用都可以使用Serverless 來實現。Serverless 應用擁有極致的彈性和成本優勢:相對于容器和使用EC2模式,Serverless可以以更細的顆粒度來做資源的部署,提升資源利用率,且成本更低。此外,Serverless也可用于數據服務類,如Amazon Lake Formation,可以快速構建數據湖,簡化安全管理,并可提供對數據的自動訪問。
Serverless First思維還可用于架構設計。如果面向應用場景選擇通過各種云原生的Serverless服務來設計架構,可以充分發揮服務之間的功能集成和協同治理優勢。
容器化架構具有輕量化、可快速復制、兼容性強等諸多優勢,這也是很多企業選擇將業務改造成容器化架構的原因。當被問到“容器和Serverless如何取舍?”時陳曉建提到:“我們認為容器和Serverless并不是兩個排斥的解決方案。從數據來看,亞馬遜云科技容器服務的客戶中,有80%的客戶也使用了Serverless。”
容器和Serverless面對的是不同應用、不同場景,容器面向的是持續計算型應用,而Serverless大多是面向事件驅動型業務。
“用戶需要意識到,現在有非常多的應用已經可以通過亞馬遜云科技豐富的Serverless服務來實現,而且不需要很深的技術背景,或是需要更改架構才能實現。”陳曉建強調。
總結
無論是Amazon Lambda、Amazon DynamoDB,還是容器的Serverless產品Amazon Fargate,每天的調用量都是天文數字。
當下企業需要從以下幾個維度重新思考Serverless First策略:
- 1、摒棄之前緊耦合的單體思維;
- 2、異步的事件驅動本身就是自然世界的邏輯,要主動擁抱事件驅動的模式;
- 3、無狀態是擴展的關鍵,如通過計算和存儲分離來解決橫向擴展業務的健壯性問題;
- 4、每一個用戶都需要去支持海量的、不斷變化的用戶需求;
- 5、應該更好地使用已有的專業解決方案,避免重復造輪子。
如今,亞馬遜云科技構建了強大的合作伙伴網絡,通過合作伙伴網絡成員與亞馬遜云科技的解決方案組合,幫助各行業客戶基于Serverless服務開展創新。例如西門子Mendix低代碼開發平臺,借助Serverless服務,能夠提供更廣泛的企業級解決方案及業務場景。
據悉,西門子Mendix與亞馬遜云科技幫助荷蘭郵政快遞公司PostNL全面改造其核心郵件和包裹投遞系統,新系統集成了上百個微服務并穩定運行,同時具備高度可擴展和高彈性,每天可以處理4000萬個事件。
亞馬遜云科技CEO Andy Jassy曾說: “經驗沒有壓縮算法!”亞馬遜云科技的所有創新都來源于龐大的客戶群所積累的經驗以及其自身實踐,這些深厚的經驗積累沒有任何捷徑可以實現。所有的機會都藏在一次次優化、迭代和進化中,所謂的長期主義者就是“踏平波動,穿越周期,擁抱趨勢”。
會上,亞馬遜云科技還推出了Serverless訓練營,通過提供完整的學習路徑和資源,以講師授課、動手實驗、小組練習、知識測試等多種方式幫助不同水平的學習者提升Serverless技能,助力企業級客戶支撐豐富的業務場景,助力客戶加速轉型創新。
關于企業網D1net(hfnxjk.com):
國內主流的to B IT門戶,同時在運營國內最大的甲方CIO專家庫和智力輸出及社交平臺-信眾智(www.cioall.com)。同時運營19個IT行業公眾號(微信搜索D1net即可關注)