Serverless架構的優缺點
Serverless架構或Serverless計算是軟體架構風格向分散式系統發展結果,而當前建立一個系統的標準是面向服務架構(SOA)或者是SOA之微服務架構。
在微服務架構中,應用/服務被開發出來然後部署,每個服務組相關一些函式,在Serverless架構中,函式是被開發並部署到獨立的平臺,這個平臺會照顧執行這些函式響應一些事件,舉例:當有HTTP請求訪問時,也許有一個函式計算計算出一個響應結果,或當一些東西寫入到資料庫式,會有一個專門函式來執行。
乍一看,這就讓人想起了傳統的儲存過程,與儲存過程相反,Serverless架構中的函式不僅僅限制於資料庫操作事件,每個函式能夠被不同程式語言實現,更遠,也沒有保證同樣函式總是在同一個伺服器上執行。
下面看看Serverless的目標和優缺點權衡。
低運營成本
微服務架構中的服務需要一直執行,實際上,在高負載情況下每個服務都不止一個例項,這樣才能完成高可用性,在Serverless架構中則是沒有事件發生時不會有服務執行,主機平臺會只有在需要時才會執行相應的函式,按照雲端計算pay-as-you-go原則,如果沒有東西執行,你就不必付款。
在Serverless架構中,擴充套件和自動擴充套件是沒有問題的,當負載增加,會讓受影響的函式以並行方式執行得更頻繁。
彈性配置也在Serverless架構中很有效率,對於傳統的雲端計算環境你會說:
“我願意買3G記憶體,然後以後暫時就不需要再擴充套件了”。
而現在你會說:
“我會為X型別的30000個事件付費,為Y型別的5000個事件付費,然後以後暫時就不需要再擴充套件了”。
很明顯,Serverless計算針對資源的使用是有效率的,特別具有運營的可操作性。
風險1:廠商鎖定
平臺會提供Serverless架構給大玩家,比如AWS Lambda,執行它需要使用AWS指定的服務,比如API閘道器,DynamoDB,S3等等,一旦你在這些服務上開發一個複雜系統,你會粘牢AWS,以後只好任由他們漲價定價了。
複雜性和低聚合
多少年來,軟體工程師為高聚合和低複雜性奮鬥,領域驅動設計和微服務是完美的配合,因為他們總結過去多少年的軟體工程經驗。
如果開發者忽視這些經驗教訓是會有風險的,特別是在構建Serverless架構時,它們會遭遇不可維護的函式地獄,在這個情況下,低運營成本優勢也許會被更高維護成本超過。
轉載:http://www.jdon.com/48121
相關文章
- 微服務架構優缺點微服務架構
- serverless與容器優缺點Server
- 花了1000G,終於弄清楚了Serverless (中):Serverless 架構的優缺點Server架構
- DDD CQRS架構和傳統架構的優缺點比較架構
- NUMA架構介紹及優缺點分析架構
- MySQL 8 大叢集架構的優缺點總結MySql架構
- 架構之:serverless架構架構Server
- Android:四大架構的優缺點,你真的瞭解嗎?Android架構
- MariaDB Codership Galera Cluster的特性和架構優缺點介紹架構
- 對Serverless架構的一點體驗和思考Server架構
- Docker的優缺點Docker
- Serverless 架構的演進Server架構
- 什麼是分散式系統!以及分散式系統架構的優缺點!分散式架構
- 簡單介紹常見的三種架構設計模式及其優缺點!架構設計模式
- Serverless 架構下的服務優雅下線實踐Server架構
- RabbitMQ優缺點MQ
- MySQL索引的優缺點MySql索引
- 繼承的優缺點繼承
- 節點快取的優缺點快取
- MyBatis的優缺點以及特點MyBatis
- 繼承的優點和缺點繼承
- Serverless 架構開發手冊 — “人人都是 Serverless 架構師”先導篇Server架構
- kafka的優缺點都有那些Kafka
- 關於 Cookie的優缺點Cookie
- 使用css框架的優缺點CSS框架
- 淺談Ajax的優缺點
- mysql和Oracle的特點,優缺點MySqlOracle
- [技術日誌] 從零開始微服務架構 (1) 傳統架構的缺點微服務架構
- HTTPS 優點與缺點HTTP
- DCI架構是如何解決DDD戰術建模缺點的?架構
- 開發婚戀交友原始碼可以使用的四種架構,各有什麼優缺點原始碼架構
- 線性表順序儲存優缺點,線性連結串列的優缺點
- 代理伺服器的優缺點伺服器
- 02 SVN 與 Git 的優缺點Git
- HTTP和RPC的優缺點HTTPRPC
- 單頁應用的優缺點
- 資料中心代理的優缺點
- 雲伺服器的優缺點伺服器