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