Serverless架構用這5大優勢,挽救了後來7億使用者的Instagram

數人云發表於2017-07-06

Markdown

數人云之前分享的文章:《關於Serverless架構及平臺選擇,你知道多少?》詳細地講述了發展歷史和公有云的Serverless服務平臺,今天小數再講講它的5大優勢,在如縮短交付週期等功能上與DevOps&SRE不謀而合。

圖片社交巨頭Instagram面對流量爆增,通過Serverless完成自救。果然創業艱辛,而這也恰恰證明了Serveless架構逐漸成為主流技術是有道理的。

Instagram&Serverless

Serverless架構在IT行業蓄勢待發,並非沒有道理。儘管這是一個相對較新的技術,但已引起了廣泛的關注,許多新技術專家指出,Serverless架構具有縮短交付時間,改善操作和安全實踐等功能,以及創造出一種革命性的付費模式——按資源消耗付費。

2010年Instagram釋出時,差點因其準備不足而無法成為下一個白手起家的社交媒體公司。

在短短的6個小時之內,暴增的流量超過了其在洛杉磯伺服器所能承受的負載。

聯合創始人Mike Krieger和Kevin Systrom被迫將本地伺服器緊急遷移到Amazon的E2C雲服務上,他們稱之為心臟手術。也正是這個舉措挽救了Instagram。

經過六年的快速發展,Serverless架構取得了巨大的成果,不止簡單的將現有伺服器遷移到雲端幫助擴充套件和操作,還採用彈性計算這種新的方法來簡化開發過程。為Uber、口袋妖怪GO、部落衝突、Airbnb和其他具有大量基數的應用及實時資料提供了必要的保障。

在蘋果或者谷歌的遊戲應用商店裡,有超過400萬個應想供使用者選擇,開發人員為了尋求競爭優勢,逐步轉向Serverless架構。遊戲應用的開發成本很容易就到達6位數,但90%的付費應用每天收入不到1250美元。通過降低成本和內部複雜性,Serverless架構幫助開發者應對激烈競爭的市場,以及提供良好的使用者體驗。

例如,利用全球網路資料流,無需繁瑣構建架構和維護伺服器,為什麼不這樣做呢?

Serverless架構的祕密 對於開發者來說,Serverless架構可以將其伺服器端應用程式分解成多個執行不同任務的函式,整個應用分為幾個獨立、鬆散耦合的元件,這些元件可以在任何規模上執行。

Serverless需要這些功能執行在並行的容器上,分別監控和縮放。這種新的體系結構提供了幾個關鍵點,並解決了其他軟體挑戰性和伸縮性問題。

舉個例子:實時過濾聊天評論。許多聊天應用的業務需求大都是每條資訊必須經過過濾、解析或在交付給收件人之前進行管理。

通常的方法是每條訊息首先會傳送到伺服器,解析並重新發布到聊天室,對於少量的同步使用者可能有用,但若有100萬使用者的話,簡單的聊天過濾問題就會變成分散式計算的噩夢。

同樣的問題對於Serverless架構來說簡直是無痛的,開發人員寫一個過濾聊天資訊的函式。Serverless將函式封裝到容器中,可以在任意數量的伺服器上監控、備份和分發。開發人員將所有聊天資訊路由到程式,只需執行更多容器即可確保邏輯能在任何規模上執行。

Serverless架構的優勢

無論是正在開發一個聊天應用,還是想成為下一個口袋妖怪GO,Serverless架構都是最好的選擇。

〓 縮短交付時間

Serverless架構允許開發人員在極短時間內(數天、數小時)交付新的應用程式,而不是像以前一樣需要幾個星期或數月。在新的應用程式中,依賴於第三方API提供服務的例子很多,如認證(OAuth)、社交(Twitter)、地圖(Mapbox)、人工智慧(IBM的Watson)等等。

〓 增強可伸縮性

所有人都希望自己開發的應用成為下一個Facebook,但若夢想成真,它能夠負載嗎?當成功降臨卻沒有準備好就更加令人遺憾。Serverless架構的體系不用有上述擔憂,如某個線上培訓APP,6個月內獲取了4萬使用者,但一個伺服器都沒有用。

〓 降低成本

Serverless架構模式可以降低計算能力和人力資源方面的成本,如果不需要伺服器,就不用花費時間重新造輪子、風險監測、影像處理、以及基礎設施管理,操作成本更會直線下降。

〓 改善使用者體驗

使用者不太關心基礎設施,更注重的是功能和使用者體驗。Serverless架構允許團隊將資源集中在使用者體驗上。例如:氣象公司利用Serverless架構給種植者提供了豐富的介面去操作農場裝置,並會提示相關操作改進。

〓 減少延遲及優化地理位置資訊

應用規模能力取決於三個方面:使用者數量、所在位置及網路延遲。現在應用要面向全球受眾,因而產生延遲降低體驗。在Serverless架構下,供應商在每個使用者附近都有節點,大幅度降低了延遲,因此對每個使用者都適用。如:Gett在全球範圍內提供按需服務,因此它選擇了Serverless架構來降低延遲,即時訊息連線司機和乘客,以及流媒體的地理位置更新。

結語

從照片分享應用到農業資料儀表盤再到連線引擎,Serverless架構可以滿足開發者的廣泛需求。

隨著資料負載的持續增長,期待Serverless架構通過降低成本、延遲、交付時間和複雜性,成為應用開發領域的主要技術。

關於Serverless架構,你還知道哪些其他的優勢嗎?

相關文章