什麼是Serverless架構
Serverless,即無伺服器運算。然而Serverless不是不再需要伺服器,而是公司或開發者不用過多考慮伺服器的問題,運算資源僅作為一種服務而不再以物理硬體的形式出現。
Serverless的優勢
- 可用性冗餘,以便單個機器故障不會導致服務中斷
- 冗余副本的地理分佈,以便在發生災難時保留服務
- 負載平衡和請求路由以有效利用資源
- 響應負載變化進行自動縮放以擴展或縮小系統
- 監控以確保服務仍然運行良好
- 記錄以記錄調試或性能調整所需的消息
- 系統升級,包括安全修補
- 遷移到新實例時可用
為什麼使用Serverless?
Serverless免除公司和開發者對伺服器維護的麻煩,因此也不用考慮DevOps了。公司和開發者只需關注應用的開發和運維即可,因此Serverless可以在更大程度上節約運維的成本。
Serverless的適用場景
- 事件觸發的運算
無伺服器可應用於涉及多個設備訪問各種文件類型的場景,例如移動電話和上傳圖像,視頻和文本文件的PC。 - 實時視頻廣播的彈性調整大小
無伺服器架構是實時視頻廣播場景的理想選擇。例如,廣播室客戶端從主機和受眾收集音頻和視頻流,並將它們發送到功能運算以進行多路復用。函數運算將收集的數據發送到多路復用服務進行綜合,並將合成的視頻流推送到CDN。觀眾可以實時提取實時流以查看多路復用和合成的視頻。 - 物聯網數據處理
無伺服器架構可以應用於物聯網(IoT)場景。 - 共享交付調度系統
客戶可以使用調度平台從各種賣家提供的服務中進行選擇,例如訂購食品或購買產品。然後,調度平台通知最近的交貨人員從最近的賣家處取出相關產品並將產品交付給客戶。
阿里雲Serverless架構
阿里雲Serverless架構由函數運算、對象存儲、API網關、表格存儲、日誌服務和批量運算構成。
- 函數運算
函數運算(Function Compute)是一個無伺服器的全託管的運行環境,客戶只需編寫代碼並設置運行的條件,即可以彈性、安全地運行。函數運算會自行維護伺服器資源,網絡資源,以及消息分發和負載均衡等功能,函數運算是按運行時長計費,不執行不付費。 - 對象存儲
對象存儲(Object Storage Service,簡稱OSS)提供海量、安全、低成本、高可靠的雲存儲服務,提供99.99999999%的數據可靠性。使用RESTful API 可以在互聯網任何位置存儲和訪問,容量和處理能力彈性擴展,多種存儲類型供選擇全面優化存儲成本。 - API網關
API 網關(API Gateway),提供API託管服務,涵蓋API發布、管理、運維、售賣的全生命週期管理。輔助用戶簡單、快速、低成本、低風險的實現微服務聚合、前後端分離、系統集成,向合作夥伴、開發者開放功能和數據。 - 表格存儲
表格存儲(Table Store)是構建在阿里雲飛天分佈式系統之上的分佈式NoSQL數據存儲服務,根據99.99%的高可用以及11個9的數據可靠性的標准設計。表格存儲通過數據分片和負載均衡技術,實現數據規模與訪問並發上的無縫擴展,提供海量結構化數據的存儲和實時訪問。 - 日誌服務
日誌服務(Log Service,簡稱Log)是針對日誌類數據一站式服務,在阿里巴巴集團經歷大量大數據場景錘煉而成。用戶無需開發就能快捷完成數據採集、消費、投遞以及查詢分析等功能,同時幫助提昇運維、運營效率,建立DT時代海量日誌處理能力。 - 批量運算
批量運算(BatchCompute)是一種適用於大規模並行批處理作業的分佈式服務。可支持海量作業並發規模,系統自動完成資源管理,作業調度和數據加載,並按實際使用量計費。被廣泛應用於電影動畫渲染、生物數據分析、金融保險分析等多領域。
了解更多關於阿里雲Serverless架構。