聊聊Serverless

聊聊Serverless

Serverless is like teenage sex: Everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it, so everyone claims they are doing it.

 

每種新技術,都是這樣的。最開始大家都在談論,都不知道怎麼落地,最詭異的是大家都是自己在做。

 

2019 年 2 月,UC 伯克利大學發表了一篇標題爲《Cloud Programming Simplified: A Berkeley View on Serverless Computing》的論文,論文中也有一個非常清晰形象的比喻,文中這樣描述:

在雲的上下文中,Serverful 的計算就像使用低級的彙編語言編程,而 Serverless 的計算就像使用 Python 這樣的高級語言進行編程。例如如 c = a + b 這樣簡單的表達式,如果用匯編描述,就必須先選擇幾個寄存器,把值加載到寄存器,進行數學計算,再存儲結果。這就好比今天在雲環境下 Serverful 的計算,開發首先需要分配或找到可用的資源,然後加載代碼和數據,再執行計算,將計算的結果存儲起來,最後還需要管理資源的釋放。

 

serverless落地實現的話,搬磚的工作,大部分人會失業。

基礎設施,架構,業務設計和實現,徹底分開了。

軟件工程,真正走向建築工程。

一部分人研究新材料,做成新的預製板,鋼精,玻璃,一部分人做設計,設計大樓,一部分人設計裝修,,,一部分人或機器搬磚,實施。

 

好消息是,距離我們還有一段較長的時間。

 

曉磊:華爲雲早就有了serverless服務了。感覺是提供一個運行環境,nodejs的這種代碼非常合適,丟上去就運行了。是不是一個東西?

 

回覆:現在的serverless,都是炒概念,還沒搞出了工業級可用的東西。

按現在的一些所謂serverless,以前的asp/php就成,雲廠商部署一個iis或apache server,然後建幾個虛擬目錄,讓用戶往裏丟asp/php代碼或文件,實時生效。

對外看起來,是不是就是一個serverless?

 

可以參考《Cloud Programming Simplified: A Berkeley View on Serverless Computing》,瞭解一下好好思考什麼是serverless。

 

現在的開發人員可以看做是在做彙編語言,你需要考慮怎麼去部署,這叫面向申請資源去編程。所謂的雲計算,實際上也是給你預留了多少內存、多少核,你付錢的是這些預留資源,無論你部署不部署應用,你的虛擬機,雲磁盤,雲數據庫,都在計費。

到了serverless時代,你就只需要考慮你的計算邏輯,它不需要考慮任何部署方案。你也不用買雲主機,買雲磁盤和數據庫。你的應用邏輯代碼,會被整個基礎設施調度和執行。並且只有被執行了,才按執行的次數,或佔用的資源計費。

 

發現了沒?天生無狀態,天生支持彈性。所有的高可用問題,基礎設施幫你做掉,啥也不用考慮了。軟件工程的工業化時代,到這時候真正來臨了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章