天天看點

【阿裡雲資訊】阿裡雲Serverless産品函數服務(Function Compute)預計年底釋出

 【9月7日訊】移動網際網路、物聯網和大資料應用的快速發展極大地促進了人們對雲計算的需求。但是讓應用架構擁有良好的可伸縮性和高可用性并非易事,運維和管控龐大的基礎架構更是極大的挑戰。近年來,一個新的架構風格serverless成了熱門話題。本文基于serverless概念的提出者martin fowler對serverless概念的解讀,全面闡述serverless架構與傳統架構的差別,優勢及具體應用場景。

serverless是一種基于網際網路的技術架構理念,應用邏輯并非全部在服務端實作,而是采用<b>faas(function as a service)</b>架構,通過功能組合來實作應用程式邏輯。同時,serverless架構能夠讓開發者在建構應用的過程中無需關注計算資源的擷取和運維,由平台來按需配置設定計算資源并保證應用執行的sla,按照調用次數進行計費,有效的節省應用成本。

【阿裡雲資訊】阿裡雲Serverless産品函數服務(Function Compute)預計年底釋出

傳統的網際網路app主要采用c/s架構,伺服器端需長期維持業務程序來處理用戶端請求,并調用代碼邏輯完成請求響應流程。而在serverless架構中,應用業務邏輯将基于faas架構形成獨立為多個互相獨立功能元件,并以api服務的形式向外提供服務;同時,不同功能元件間的邏輯組織代碼将存儲在阿裡雲function compute,amazon lambda,azure function,google cloud functions等産品上,業務代碼僅在調用時才激活運作,當響應結束占用資源便會釋放。

<b>1)節約使用成本</b>

在業務突發性極高的場景下,系統為了應對業務高峰,必須建構能夠應對峰值需求的系統,這個系統在大部分時間是空閑的,這就導緻了嚴重的資源浪費和成本上升。在serverless架構下,服務将根據使用者的調用次數進行計費,節省了使用成本,同時,使用者能夠通過共享網絡、硬碟、cpu等計算資源,在業務高峰期通過彈性擴容方式有效的應對業務峰值,在業務波谷期将資源分享給其他使用者,有效的節約了成本

<b>2)簡化裝置運維</b>

在原有的it體系中,開發團隊即需要維護應用程式,同時還要維護硬體基礎設施;serverless架構中,開發人員面對的将是第三方開發或自定義的api 和url,底層硬體對于開發人員透明化了,技術團隊無需再關注運維工作,能夠更加專注于應用系統開發

<b>3)提升可維護性</b>

serverless架構中,應用程式将調用多種第三方功能服務,組成最終的應用邏輯。目前,例如登陸鑒權服務,雲資料庫服務等第三方服務在安全性、可用性、性能方面都進行了大量優化,開發團隊直接內建第三方的服務,能夠有效的降低開發成本,同時使得應用的運維過程變得更加清晰,有效的提升了應用的可維護性

移動行業、物聯網行業是非常典型的sreverless架構使用場景

<b>1)低頻請求場景</b>

物聯網行業中,由于物聯網裝置傳輸資料量小,且往往是固定時間間隔進行資料傳輸,是以經常涉及低頻請求場景。例如:物聯網應用程式每分鐘僅運作一次,每次運作50ms,這意味着cpu的使用率為0.1%/小時,這也意味着其實有1000個相同的應用可以共享計算資源。而serverless架構下,使用者可以購買每分鐘100ms的資源來滿足計算需求,通過這種方式就能夠有效解決效率問題,降低使用成本。

<b>2)流量突發場景</b>

例如:移動網際網路應用經常會面對突發流量場景,例如:移動應用的通常流量情況是qps 20,但每隔五分鐘會有一個持續10s的qps 200流量(10倍于通常流量),傳統架構下企業必須擴充qps 200的硬體能力來應對業務高峰,即使高峰時間僅占整個運作時間的4%;而在serverless架構下,使用者可以利用彈性擴充特性,快速建構新的計算能力來滿足目前需求,當業務高峰後,資源能夠自動釋放,有效節省成本。

serverless領域 aws lambda是先行者,随後其他廠商相繼推出了自己的函數服務,包括azure function,google cloud functions。阿裡雲的serverless産品函數服務(function compute)現在正在緊張的研發階段,預計2016年底之前會正式對外釋出。

阿裡雲未來會圍繞serverless概念建構完整的生态體系,産品層面将全力打造api gateway,docker,function compute等為主的serverless基礎産品序列,同時圍繞基礎架構提升大資料服務能力,推動api經濟發展,使阿裡雲成為中國serverless的上司者。

http://martinfowler.com/articles/serverless.html

http://martinfowler.com/bliki/serverless.html

繼續閱讀