Serverless已經成為雲端計算領域不得不關注的趨勢之一。據亞馬遜雲科技給出的資料,全球已經有數十萬客戶在使用Serverless技術開展業務創新。
從業務上雲到採用雲原生技術,再到Serverless的不斷普及,雲端計算的價值被瞬間提升。
亞馬遜雲科技大中華區產品部總經理陳曉建指出,Serverless代表了目前的技術方向,根據亞馬遜雲科技多年的實踐來看,這個方向符合使用者的訴求。"我們大量的客戶希望的是魚和熊掌都需要,既要有更低的門檻去使用我們的Serverless服務,同時也希望有更低的成本,還能獲得更高的安全性。Serverless是企業應對不確定性的一個非常有效的工具。它不是萬能的,但它是非常好的工具。"
釋放 Serverless 力量加速創新應對不確定性
Serverless是幫助企業應對不確定性的有效技術手段。
一個典型的應用有6個組成部分“基礎設施、計算、儲存與資料庫、訊息佇列和編排、API、頂層業務邏輯”。傳統的、典型的IT服務,使用者需要去關心從底層到上層每一塊功能實際的開發。Serverless能接管底層所有物理資源的部署和管理,讓使用者可以把自己的精力放在最應該關心的地方,加速應用推出時間.
2022 re:Invent全球大會上推出的Amazon Lambda Snapstart可將Lambda函式的冷啟動時間降低90%,實現10倍的快速啟動效能,消除在系統啟動的時候帶來的突發延時,客戶不需要做任何的程式碼改變,也不需要支付任何的費用。
Serverless可以消除業務不穩定起伏帶來的隱性成本,輕鬆應對峰值、非頻發的複雜工作負載;還可以消除資料管理系統按需擴充套件的複雜實施難題,無需考慮計算和儲存資源的比例,也不會出現節點讀寫狀態不一致等問題。
亞馬遜雲科技提供全棧Serverless Data服務,包括六大Serverless資料庫:Amazon Aurora Serverless、Amazon DynamoDB、Amazon Timestream、Amazon Keyspaces和Amazon Quantum Ledger Database (Amazon QLDB)和Amazon Neptune。以及全部的分析服務:互動式查詢服務Amazon Athena、大資料處理服務Amazon Managed Streaming for Apache Kafka (Amazon MSK)、實時分析服務Amazon Kinesis和Amazon MSK、資料倉儲服務Amazon Redshift、資料整合服務Amazon Glue、商業智慧服務Amazon QuickSight以及運營分析服務Amazon OpenSearch Service。
Serverless對已有技術並不是直接替代
當199IT向亞馬遜雲科技相關負責人提出Serverless與容器之間的關係和未來的融合趨勢的問題時,得到的答案並不是簡單的替代。
陳曉建認為,包括虛擬機器、容器等客戶擁有完整的物理資源的管控,都是非常合理的。這些需求可能會跟著客戶的使用場景長期存在。使用者如果真的能夠放心地使用Serverless,必須要能做到在絕大部分的功能和效能方面是能夠達到直接使用物理資源的效果。隨著亞馬遜雲科技產品能力的逐漸演化,等到某一天如果絕大部分的場景下都可以完全使用Serverless去達到和物理機完全一樣的功能性,相信很多使用者自然就會使用Serverless。目前還未使用Serverless可能是客戶不習慣,但不代表客戶真正的目的是要擁有自己的虛擬機器,擁有容器。
亞馬遜雲科技大中華區產品部計算與儲存總監周舸認為,"在容器和Serverless之間會產生更多的融合的發展方向,我們不會認為一個會取代另外一個,我們一直尊重客戶有各種選擇可能性。"
亞馬遜雲科技還表示,Serverless和容器都是現代應用開發當中一個重要組成部分,在很多DevOps的工作環境當中,無論是Serverless還是容器,在很多客戶場景當中都大量的使用。除了像AmazonLambda Web Adapter,讓使用者在不改程式碼的情況下,讓應用在Serverless、在AmazonFargate、在AmazonEC2中無縫遷移。AmazonFargate本身也是Serverless的一個服務,但AmazonFargate的管理是可以透過AmazonECS和AmazonEKS去管理的。AmazonEKS是亞馬遜雲科技託管的Kubernetes容器管理編排方案,所以亞馬遜雲科技提供了Serverless也好,容器也好,它本身就是互相融合、相輔相成的過程。從當下來講,兩者不是二選一的關係,而是相輔相成、互相促進,都能給客戶帶來很多價值的技術產品。
亞馬遜雲科技在Serverless和容器兩方面都提供很多的服務,無論是無伺服器優先策略還是開源路線自建容器,兩個方向將持續演進,客戶可基於自身業務需求、IT能力選擇技術路線。具體來看:
Serverless和容器本質上都是對應用部署的一種管理方式,並且融合到現代應用開發的整個DevOps生命週期之中不可或缺;容器使用者中,80%的客戶也同時在使用Serverless,可見兩者並不是二選一的關係,而是相輔相成的關係。特別是亞馬遜雲科技的Serverless產品線中除了Amazon Lambda以外,還有Amazon Fargate,Amazon Fargate本身的編排就是透過Amazon ECS和Amazon EKS這樣的容器管理工具進行的。
無伺服器優先策略(Serverless First):對於不想承擔運維負擔的客戶,建議優先考慮無伺服器技術。這種方法可以讓客戶集中精力處理業務邏輯,而無需關心伺服器管理、擴容和維護,以及安全和高可用等問題。
開源路線自建容器:對於需要更多定製化能力的客戶,可以考慮使用開源技術自建容器,使客戶能夠根據自身特定需求和場景構建解決方案。例如,Kubernetes是一個廣泛使用的開源容器編排平臺,為客戶提供更多的定製化選項。
使用Serverless的進階之路
陳曉建在主題演講中提到了客戶使用Serverless的進階之路,包括從遷移開始,無需程式碼改造、擁抱事件驅動架構,靈活應對不確定性、Serverless First,降低應用成本。
從後端服務的無伺服器化重構到對於後端資料管理無伺服器化遷移,亞馬遜雲科技均提供了豐富的產品。
事件驅動型的好處在於更少的依賴,有故障隔離,同時是可進化的架構。到今天為止,亞馬遜雲科技已經有超過200組自己的產品和包括40種SaaS的服務,可以作為事件的產生者。同時還有超過30個Serverless的產品可以作為事件的消費者。結合這些產品,客戶完全可以構建一個非常完善的、且符合事件驅動架構的Serverless的應用。
Serverless First就是在構建新的應用時首先考慮是否可以首選 Serverless 來實現。Serverless 應用擁有極致彈性和成本最佳化:相對於容器和有EC2模式,Serverless可以以更細的顆粒度來做資源的部署,提供資源利用率,降低成本。Serverless First思維還包括:面向應用場景選擇各種所需雲原生Serverless服務來設計架構,充分發揮服務之間的功能整合和協同治理優勢。
陳曉建表示,“如同雲端計算將客戶從複雜的物理基礎設施中解放出來一樣,亞馬遜雲科技進一步透過Serverless將這一過程延展到了雲上的虛擬基礎設施和雲服務領域。我們希望客戶寫的每一行程式碼都是業務邏輯,Serverless正在讓它變為現實。過去17年,我們持續推進Serverless的發展,將Serverless提供的極致彈性和自動擴充套件能力帶給越來越多的客戶。此外,亞馬遜雲科技大規模雲服務的運營能力以及標準、安全的產品API體系,確保了我們的Serverless服務為客戶提供極致的瞬間併發能力,應對極端業務激增,並幫助他們實現大規模部署,把應用快速部署到全球。”