本文筆者將根據自身工作經驗以及一些對於雲計算的思考,來給大家科普一下雲計算和Serverless的一些知識。文章主要分為四個部分:雲計算與數字化、雲計算與 Serverless、Serverless 的優勢和作用。
迄今為止,雲計算已經不是一個新鮮的概念,雲廠商的攻城略地,已經將這股春風吹向了網際網路的邊邊角角。而國家看在雲計算降低使用者創業門檻和增加社會資源利用率的份上,也實打實的給到了政策支援。
雲計算到底什麼,用專業術語來說,那就是雲計算不僅實現了 IT 池化、提升效能、降低成本和簡化管理,更重要的是為企業的數字化轉型提供了豐富服務和資源協同。
(圖片來源國務院發展研究中心:中國雲計算產業發展白皮書)
而數字化為什麼有這麼大的魔力?讓企業這幾年都在紛紛提倡和轉型。
這是因為大家都看到了資料的力量,寄希望於改變傳統的生產模式,用資料驅動研發。這其中,數字化轉型最關鍵的就是打通企業內部的資訊孤島,增加組織效率,從而實現用數字化增強和創新業務。
(圖片來源艾瑞:2019年中國數字中臺行業研究報告)
埃森哲出過一份報告,其中調研了中美企業CEO 對於數字化價值認識的側重點。
不出所料,對於各大企業的 CEO 來說,最為關注還是成本與效率。
而在近幾年,既 AWS 的Lambda推出 5 年後,Serverless 終於在國內逐漸有了聲音。而在之前,儘管雲計算被譽為資訊時代的水電煤,但是實際使用場景中卻無法做到即開即用(有幾分鐘的開啟時間),計費靈活(最小計費粒度為 1 小時)。而 Serverless 卻真正讓雲計算從原始時代步入了“水電煤”時代。
Serverless 不是憑空誕生的,相反,是經歷了雲計算技術發展必然技術。這裡用一張圖展示下:
當然,看完圖後,你肯定會疑惑一件事情,Serverless 在哪裡呢?
到目前為止,整個雲計算行業的發展離不開有幾個比較關鍵的節點:
而其中,從基礎設施服務IaaS、平臺服務PaaS,再到如今的函式即服務 FaaS。雲計算的發展經歷了種種變化,最終,使用者側關注的事情越來越少。
Serverless 是實現基於函式即服務 FaaS 的產品形態。在如今,FaaS 已經不再是一個新鮮和小眾的理念,據《Serverless 2020年現狀研究報告》表明,用 AWS Web Services 的 Datadog 客戶中有近一半已經採用了 AWS 的 Lambda。
這裡看兩個單詞,Serverless和Serverful。講到對於Serverless的定義,離不開Serverful。
眾所周知,一個產品的上線離不開幾個角色:前端、後端、運維、測試和產品(嗯,打雜的)。
簡單來說,Serverfull 則是研發(前後端)和運維一起負責將服務上線且保證服務穩定。Serverless 則重新定義了服務邊界,讓研發(前後端)更少關心服務端,專注於業務本身。
從廣義來講,Serverless shi無伺服器架構,當然,這裡指的無伺服器不是無需伺服器就可以執行,而是使用者無須關注支撐應用服務執行的底層主機。
而從狹義來講,FaaS 承載程式碼片段(即函式),可隨時隨地建立、使用、銷燬,無法自帶狀態。所以必須和 BaaS(後端即服務)搭配使用。兩者合在一起,才最終實現了完整行為的 Serverless 服務。
Serverless 總共有三大核心優勢:
這裡藉助下阿里雲的介紹來描述下 Serverless 優勢,畢竟這也是所有Serverless產品的核心優勢。
(來源小攻雲攻略) Serverless 因為即開即用,無需使用者提前購買,真正意義實現了使用者按需使用資源。且對於研發階段,只需要將自己的程式碼部署的程式碼倉庫。
(來源《Serverless入門課》)
當有使用者訪問時,觸發了事件才會啟動 Serverless 應用提供服務。打個比方,Serverless 就相當於聲控燈,當有人夜晚走動時才會亮,其他時間,全都是關燈狀態。自然而言也會更省成本。
而極致彈性又從何而來呢?
還是以使用者訪問為例,Serverless 憑什麼無需常駐後臺,即開即用。歸根究底,這得益於 Serverless 極快的啟動過程。在過去的雲伺服器時代,儘量也是彈性按需使用,但是這個都是一個限度。就比如雲伺服器的啟動時間一般在 1-5 分鐘之間。而在Serverless上,這個啟動時間可以降低到 100 毫秒 到 800 毫秒。而於使用者而言,或者想想你自己,開啟一個網頁,1 秒算很快,2 – 3 s 還能接受。
所以,在 Serverless 的極速啟動基礎上,Serverless 也可以真正意義上實現極致彈性,可以在使用者無感知的情況下輕鬆擴容,無需擔心突發流量。
一場交易,會涉及到三個因素:供給側、交易方式、消費側。對於雲計算廠商而言,無論是 AWS 的 EC2,還是阿里雲的 ECS,又或者是騰訊雲的 CVM。多達百萬計數的伺服器瘋狂的消耗著大量資源,而云計算的之所以能夠廉價,在於其規模效應,當資源池達到一定數量級時邊際成本將無限接近於零。
(來源億歐智庫:2019年中國雲計算行業發展研究報告)
但是現有物理機在雲作業系統下虛擬化成一臺臺雲伺服器,利用率卻無法達到極致,各種碎片的資源被閒置。
而對於企業而言,一個企業會有著各種不同的應用,其中,80%的服務屬於長尾應用,即大部分時間都沒有流量或者有很少流量的應用。這些中長尾應用不可避免的要常駐後臺,至少要獨佔 1 臺虛擬機器。
在這裡,Serverless 的作用就體現了。
於供給側即雲廠商,Serverless 可以讓將閒置碎片化的計算資源進一步虛擬化出計算資源出售。
於消費側即企業,對於大企業而言,可以減少中長尾應用的運營成本。而對於創業者而言,則可以獲得比雲伺服器更少的 IT 成本。
於交易方式,由雲伺服器時代的最小計費粒度 1 小時,細化到了最小計費粒度 1s 。
說到底,在企業的競爭博弈中,只有更好的控制成本,才能在博弈中取得優勢,而另外一方,Serverless 能夠很好的幫助企業減少可見的成本,還能更有效率的讓企業快速部署應用上線並提供服務。
當然,在國內,更多的場景還在不斷擴充套件中,各大雲廠商的 Serverless 也基本處於公測階段,未能真正商業規模化,
但是,我相信,在 Serverless 的基礎上,雲計算最終會實現了最初的願望,成為資訊時代的“水電煤”。
雲計算 “拍了拍” Serverless。
作者:Pasca,微信公眾號:蛋蛋團(ID: dandna_tuan),專注技術科普和產品揭秘
本文由 @Pasca 原創釋出於人人都是產品經理,未經許可,禁止轉載
題圖來自Unsplash, 基於CC0協議