Serverless并不是消滅服務器,而是更好地使用服務器。
2012年,Serverless這個單詞第一次出現,由Iron公司提出,字面意思就是不需要服務器。但是真正被大家所熟知,是在2014年亞馬遜云科技推出Amazon Lambda的時候。
從某種意義上,Amazon Lambda產品的問世開啟了云計算的新時代,之后所有的大廠都在跟進,比如微軟、谷歌、IBM都先后推出自己的Serverless產品。
為什么業(yè)界都在談Serverless呢?因為Serverless是云計算高級階段。隨著云計算的發(fā)展,Serverless已經成為一個技術趨勢、一個理念、一個云的發(fā)展方向。
Serverless的加速度
想象一下,企業(yè)的開發(fā)者只需關注核心業(yè)務邏輯的實現,而不必操心背后用哪臺服務器,跑什么操作系統、數據庫、存儲,也不用擔心運維、流量限制、可用性等,同時還能降低開發(fā)者的學習門檻,降低程序調試部署難度,并節(jié)省50%以上的代碼量,應用和業(yè)務的創(chuàng)新,將是多么的簡單!
據Datadog 2021年發(fā)布的無服務器狀態(tài)報告,開發(fā)人員正加速采納無服務器架構:2019年之后Amazon Lambda的使用率顯著增加,2021年初,Amazon Lambda函數的平均每天調用頻率是兩年前的3.5 倍,且半數Amazon Web Services新用戶已采用Amazon Lambda。
Serverless之所以能夠如此被廣泛接納,這與其給用戶帶來的價值息息相關。
Serverless是對用戶強調,本質并不是不需要服務器,而是將服務器全權托管給了云廠商,用戶不用去關心,不用去管理,只用把業(yè)務部署到平臺上來,只需聚焦業(yè)務邏輯代碼,能夠根據實際請求進行彈性伸縮,不用再去關心資源夠不夠。
這樣的特征和酷炫的功能讓Serverless可以解決大多數用戶和開發(fā)者最關心的問題——降低運維成本,縮短開發(fā)周期,專注于業(yè)務邏輯開發(fā)整合,因而成為云計算中一股厚積薄發(fā)的力量,獲得無數開發(fā)者青睞。
Serverless的出現,就像人類的演進過程,代表著生產力的解放,極大提升了用戶用云的效率。Serverless在其之上封裝了容器技術,是云原生的高級階段。
技術創(chuàng)新引領無服務器市場
Amazon Lambda在采用率方面一直保持領先地位,有一半的函數即服務(FaaS)用戶在使用亞馬遜云科技的服務。據Amazon Web Services公布的數據顯示,已有數十萬家客戶在用Amazon Lambda來構建他們的服務。
Amazon Lambda是一種事件驅動的計算引擎,用戶無需預置或管理基礎設施即可運行代碼。而且Amazon Lambda可以與亞馬遜云科技的其他服務產品進行無縫集成,更是讓Serverless變得觸手可及。
亞馬遜云科技不斷為Amazon Lambda函數集成了許多其它服務。比如Amazon Cognito認證、Amazon API Gateway、Amazon SNS 、Amazon SQS、Amazon CloudFormation和Amazon CloudWatch等。
在語言支持方面,Amazon Lambda原生支持Java、Go、PowerShell、Node.js、C#、Python和Ruby代碼,并提供Runtime API,允許用戶使用任何其它編程語言來編寫函數。
為了讓Amazon Lambda支持更廣泛的應用,Amazon Lambda不斷改進,比如超時時長設置為15分鐘、內存上限調整為10GB,從而更快地執(zhí)行大數據分析、機器學習、建模、基因組學和高性能計算(HPC)應用程序之類的計算密集型應用程序。
2016年,亞馬遜云科技發(fā)布了Amazon Step Functions;2017年,Amazon Lambda的默認并發(fā)數提升到了1000;2018年,亞馬遜云科技相繼發(fā)布了五項Serverless數據庫服務;2019年,亞馬遜云科技發(fā)布了無服務器事件總線服務Amazon EventBridge;2021年Amazon Lambda計費功能調整為了1ms級別,并且還提供了容器鏡像支持,以及Amazon Graviton2處理器支持。
縱觀Amazon Lambda的發(fā)展歷程,其開創(chuàng)了Serverless計算的先河,亞馬遜云科技持續(xù)迭代產品,引領了無服務器市場。
最佳實踐實現價值落地
技術需要落地才能產生價值,隨著用戶對于Serverless的認知不斷提升,相關的應用實踐也在不斷延展。在各個行業(yè),無論是后臺服務,還是REST API都可以部署到Serverless平臺。尤其是Serverless音視頻處理、輕量ETL(低門檻數據分析/處理)、事件驅動、任務跑批、應用托管、微服務容器化等場景。
每年的亞馬遜云科技re:Invent大會都會有Amazon Lambda用戶分享實踐經驗,其中不乏具有代表性的案例,讓我們看到多樣化的Serverless最佳實踐。
在2017年的亞馬遜云科技re:Invent會議上,美國電信Verizon的Revvel團隊介紹了他們如何使用Amazon Lambda和Amazon S3進行視頻不同格式的轉碼。
視頻轉碼通常非常耗時,特別是那些長視頻,Revvel團隊采用的新方法是將視頻分為5M的小塊分別存儲在Amazon S3存儲桶中,然后用Amazon Lambda啟用上千實例并行計算,完成轉碼后再合并成一個完整的視頻,整個過程縮短到不足 10 分鐘,費用也降低到了原來的十分之一。
在2020年的亞馬遜云科技re:Invent會議上,Coca-Cola的Freestyle設備創(chuàng)新團隊分享了他們的非接觸式售賣機解決方案:使用Amazon Lambda和Amazon API Gateway構建后端托管服務,前端使用Amazon CloudFront ,從而可以在一周內推出原型,并在三個月內將Web應用程序從原型擴展到10000臺機器,進而在疫情期間快速占領市場。
在今年的亞馬遜云科技re:Invent會議主題演講里,亞馬遜云科技則介紹了Amazon Lambda在New World Game多人游戲中的應用。由于多人游戲是復雜的大規(guī)模分布式實時計算場景,需要大量的CPU資源和狀態(tài)存儲,對無服務器的性能提出了非常大的挑戰(zhàn)。而Amazon Lambda無服務器計算達到了每分鐘1.5億次的調用頻率,保證了用戶的游戲體驗。
繼往開來 Serverless重塑企業(yè)創(chuàng)新方式
當下,如何快速構建現代化應用程序已成為企業(yè)提高敏捷性、實現更快創(chuàng)新、發(fā)揮數據價值的關鍵。但是,企業(yè)不僅需要解決現代化應用帶來的諸多技術挑戰(zhàn),例如如何在短時間內擴展至百萬級用戶、實現毫秒級快速響應、處理PB級數據等,更需要根據自身應用狀況考慮選擇哪種路徑實現現代化應用。
在亞馬遜云科技,Serverless不止是一種計算服務,更是一種端到端的架構,除 AmazonLambda外,亞馬遜云科技提供了全棧式的Serverless服務,廣泛覆蓋計算、存儲、網絡、容器、數據庫、應用集成多個方面,幫助客戶快速構建現代化應用。作為“Serverless架構”的深度實踐者,2020年亞馬遜近一半的新應用都部署到了Amazon Lambda上。
創(chuàng)新無止境。在今年Re:invent 2021上,亞馬遜云科技一口氣推出了五款無服務器產品:
- Amazon Redshift Serverless,可自動配置計算資源,使用SQL跨數據倉庫、運營數據庫和數據湖分析結構化和非結構化數據。
- Amazon EMR Serverless(預覽版),是Amazon EMR中的一個新選項,讓數據工程師和分析師能夠借助開源分析框架,例如Apache Spark、Hive和Presto,在云中運行PB級數據分析。
- Amazon MSK Serverless(公開預覽版), 全新類型的Amazon MSK 集群,完全兼容Apache Kafka,且無需管理Kafka的容量,服務會自動預置和擴展計算及存儲資源。
- Amazon Kinesis On-demand,用于大規(guī)模實時流數據處理,服務會自動按需擴展和縮減。
- Amazon SageMaker Serverless Inference(預覽版),讓開發(fā)者無需配置或管理底層基礎設施即可部署機器學習模型進行推理,按執(zhí)行時間和處理的數據量付費。
從以上新產品可以看到,為滿足客戶的不同需求,亞馬遜云科技提供了豐富的現代化應用相關服務與功能,涵蓋容器、Serverless以及諸多不同開發(fā)工具組合,通過幫助企業(yè)處理無差異化的繁重工作,讓企業(yè)聚焦于業(yè)務本身,加快實現應用現代化。
Serverless扛起了變革傳統IT架構的大旗,成為企業(yè)數字化轉型革新架構的首選,遍地開花。Gartner預測,2025年將有50%以上的全球企業(yè)部署Serverless。不久的將來,Serverless將無處不在。
Serverless提供了“來了就用,功能齊全,用完即走”的全新計算提供方式,展望未來,其必將重塑企業(yè)創(chuàng)新的方式,幫助云成為社會發(fā)展的強大動力。