跨過十周年的云計算昆禽,未來發(fā)展方向會是?

2006 年 8 月蝇庭,Google 在業(yè)界首次提出“云計算”(Cloud Computing )的概念醉鳖;同年亞馬遜相繼推出在線存儲服務(wù) S3 和彈性計算云 EC2 等云服務(wù)。走過第一個完整的十周年哮内,現(xiàn)在已是“凡人飲水處盗棵,皆言云計算”壮韭。在第二個十年剛開始的現(xiàn)在,云計算的未來會是從中心走向邊緣嗎纹因?

Kuhiro 的 CTO Russell Sullivan 發(fā)文介紹了他們的 NearCloud 產(chǎn)品喷屋,并指出 Serverless 加 CRDT,從中心走向邊緣是云計算未來的發(fā)展方向瞭恰。

作為新興的 IaaS 解決方案屯曹,Serverless 已然成為野心勃勃的互聯(lián)網(wǎng)計算平臺。從亞馬遜 2014 年推出 Lambda 開始惊畏,Serverless 已經(jīng)擴(kuò)展到了 CDN Edge恶耽,并向移動、物聯(lián)網(wǎng)和存儲領(lǐng)域進(jìn)軍颜启。CDN Edge 的 Serverless(SAE)是一個全新的領(lǐng)域偷俭,它預(yù)示著業(yè)務(wù)邏輯將從單一的云區(qū)域向互聯(lián)網(wǎng)邊緣轉(zhuǎn)移,未來的服務(wù)器有可能直接運行在蜂窩基站里缰盏。隨著 5G 技術(shù)的發(fā)展與普及社搅,SAE 到服務(wù)之間的延遲降到了幾毫秒,互聯(lián)網(wǎng)將轉(zhuǎn)變成一個全局性的實時計算平臺乳规。
在經(jīng)歷了創(chuàng)業(yè)并出售了一個 NoSQL 公司之后形葬,Russell 意識到,計算無非局限于兩個方面:數(shù)據(jù)中心或設(shè)備暮的,這兩者之間存在著一個巨大的待開發(fā)處女地笙以。于是,他召集了一班聰明人成立了 Kuhiro冻辩,一個專注于將云推向互聯(lián)網(wǎng)邊緣的初創(chuàng)公司猖腕,逐步創(chuàng)建一個靠近用戶的去中心化云——NearCloud。
NearCloud 的基礎(chǔ)是計算和數(shù)據(jù)恨闪,于是他們構(gòu)建了一個有狀態(tài)的 SAE 系統(tǒng)倘感。他們在 CDN Edge 運行客戶的業(yè)務(wù)邏輯,讓這些函數(shù)實時地讀取和寫入客戶數(shù)據(jù)咙咽。他們在 CRDT 數(shù)據(jù)層投入了大量精力老玛,實現(xiàn)低延遲的動態(tài) Web 處理【ǎ客戶借助 Kuhiro 將對延遲敏感的應(yīng)用從云端遷移到邊緣蜡豹,變成全局性的實時應(yīng)用。

Edge Serverless
從物理層面來看溉苛,SAE 有點類似 CDN:很多迷你數(shù)據(jù)中心分散在國家(或者全球)的各個角落镜廉,為近距離的用戶提供低延遲的服務(wù)。SAE 用戶將 URL 域名改成 SAE 供應(yīng)商的域名愚战,他們的請求就會被發(fā)送給就近的 SAE PoP(Points-of-Presence)娇唯。

在美國齐遵,SAE 系統(tǒng)可以部署在 30 萬個基站上,99% 的人口距離他們附近的基站只有幾公里塔插。

去中心化的好處

一般來說梗摇,去中心化在帶寬、延遲和健壯性方面都會帶來好處佑淀。為了說明這點留美,接下來以亞馬遜的倉儲中心為例彰檬。亞馬遜的倉儲中心為 Prime 會員提供兩天到貨的物流服務(wù)伸刃,貨品直接從各個分散的貨倉發(fā)出。
去中心化倉儲中心的好處在于:

  • 延遲:Prime 會員要求貨物必須在兩天內(nèi)送達(dá)逢倍,低延遲是 Prime 的核心競爭力捧颅。
  • 帶寬:倉儲中心越多,每個倉儲中心需要處理的貨品就越少较雕,Prime 會員規(guī)模就可以更好地伸縮碉哑。
  • 健壯性:如果硅谷的倉儲中心沒有可用的送貨車,或者遭遇了地震亮蒋,加尼福尼亞的倉儲中心可以接管訂單扣典。
    SAE 系統(tǒng)與亞馬遜的倉儲中心類似:
  • 延遲:Edge PoP 位于用戶的就近位置或云區(qū)域,延遲被降到最低慎玖。
  • 帶寬:每個 PoP 只負(fù)責(zé)處理一部分用戶贮尖,不需要將請求路由到中心系統(tǒng):負(fù)載是分布式的,可以更好地伸縮趁怔。
  • 健壯性:如果 PoP 出現(xiàn)飽和或者遭遇地震湿硝,負(fù)載立即被重定向到就近的 PoP。

幾乎所有的互聯(lián)網(wǎng)應(yīng)用都會從去中心化中受益

去中心化的三大好處(延遲润努、帶寬关斜、健壯性)給整個互聯(lián)網(wǎng)帶來了不可估量的價值,Web铺浇、移動痢畜、游戲、廣告鳍侣、虛擬現(xiàn)實裁着、地圖,等等拱她。
降低延遲可以改進(jìn)用戶體驗二驰,是競爭力的源泉。而對于公司來說秉沼,帶寬和健壯性更是無價之寶桶雀,他們不再擔(dān)心運維和動態(tài)伸縮問題矿酵,在流量高峰來臨時也不怕。幾乎所有的互聯(lián)網(wǎng)應(yīng)用都可以從去中心化的云中獲得好處矗积。

Serverless 為 Edge 帶來多租戶和伸縮性
接下來從物理層面來比較一下 Edge 和云的區(qū)別全肮。
單個云可以包含超過 10 萬個服務(wù)器,而 Edge PoP 則要小得多(通常在 10 到 100 臺之間)棘捣,PoP 提供的硬件資源比云要少很多辜腺。
所以,想象一下乍恐,10 臺服務(wù)器如何能夠為 1 萬個用戶提供 IaaS 服務(wù)评疗?不用說每個用戶是否能夠獲得一臺虛擬機(jī),單是一個私有的容器都不行茵烈。所以必須縮小計算單元百匆,也就是使用函數(shù)——FaaS(也就是 Serverless),那么這樣可以把 1 萬個用戶函數(shù)部署在 10 臺服務(wù)器上嗎呜投?這個是可以做到的加匈,甚至可以部署更多的函數(shù)。
Serverless 的低資源消耗特點與 Edge PoP 有限的資源配置相得益彰仑荐。

SAE 的狀態(tài):無狀態(tài)持續(xù)運行

那么 SAE 現(xiàn)在已經(jīng)發(fā)展到什么程度了雕拼?作為一個新興領(lǐng)域(始于 2016 年),提供 SAE 服務(wù)的公司還很少粘招,但一直在增長啥寇。目前最主要的兩個產(chǎn)品分別是 Cloudflare 的 Workers 和亞馬遜的 Lambda@Edge。這兩個產(chǎn)品都很安全男图,并以無服務(wù)器的形式提供最小化的 IaaS Edge 服務(wù)示姿,但在靈活性和性能方面則有所區(qū)別。

對無狀態(tài)計算支持不足

可惜逊笆,不管是 Cloudflare Workers 還是 Lambda@Edge 都沒有提供動態(tài)數(shù)據(jù)選項栈戳,它們只提供計算功能。缺乏動態(tài)數(shù)據(jù)能力(也就是無狀態(tài)能力)限制了一些 SAE 功能难裆,比如基于客戶端狀態(tài)(如 URL-Parameters子檀、Cookie、User-agent)或 orign 狀態(tài)(如 Etag乃戈、Cache-Control)重寫請求和響應(yīng)消息褂痰。
無狀態(tài)計算更像是網(wǎng)絡(luò)路由,而不是一般的編程模型:智能負(fù)載均衡和重寫請求或響應(yīng)消息症虑∷跬幔可以想象一下,如果亞馬遜把所有的商品存放在一個中心倉庫里谍憔,而且倉儲中心只有接收訂單和向外發(fā)送包裹的能力匪蝙,那么 Prime 的體驗會很糟糕主籍,一個訂單可能需要等上幾天甚至幾周。

Edge 數(shù)據(jù)的小秘密:數(shù)據(jù)沖突

SAE 之所以是無狀態(tài)的逛球,是因為往大量 PoP 增加數(shù)據(jù)層會比較復(fù)雜千元。理想情況下,可以為每個 PoP 增加一個數(shù)據(jù)庫颤绕,每個函數(shù)直接操作這個本地數(shù)據(jù)庫幸海,然后把數(shù)據(jù)復(fù)制到其他 PoP 數(shù)據(jù)庫里。但這里有一個問題:在將一個中心數(shù)據(jù)庫拆分成多個數(shù)據(jù)庫之后奥务,在這些數(shù)據(jù)庫之間復(fù)制數(shù)據(jù)會導(dǎo)致沖突物独,而且節(jié)點之間的物理距離越長,出現(xiàn)數(shù)據(jù)沖突的幾率就越高汗洒。
對數(shù)據(jù)進(jìn)行去中心化有兩種方式:一種是基于共識(consensus)议纯,一種是基于 CRDT(Conflict-free Replicated Data Type)父款。這兩種方式都有各自的優(yōu)缺點溢谤,稍后會詳細(xì)解釋。

Edge 復(fù)制

接下來深入了解一下如何往 SAE 添加數(shù)據(jù)層憨攒。

如果在 SAE 中修改了單個 PoP 的數(shù)據(jù)世杀,那么需要把數(shù)據(jù)復(fù)制到哪些地方?是復(fù)制到所有的 PoP 上還是部分 PoP 上肝集,又或者不復(fù)制瞻坝?這個要取決于實際情況,所以說以上三種情況都是有可能的杏瞻。

SAE 復(fù)制可以被想象成一個圖譜所刀,左邊是為 single-user 復(fù)制,右邊是 all-users 復(fù)制捞挥。

single-user 復(fù)制的流程很簡單浮创,只需要將單個 PoP 的數(shù)據(jù)備份起來就可以了,而 all-users 復(fù)制則需要進(jìn)行點對點的數(shù)據(jù)廣播(加上備份)砌函。如果發(fā)生故障斩披,single-user 復(fù)制會變得復(fù)雜一些。用戶需要切換到另一個 PoP 上讹俊,所以需要從多個 PoP 并行復(fù)制到其他多個 PoP 上垦沉。

在最糟糕的情況下,如果數(shù)據(jù)修改頻繁仍劈,那么 all-users 復(fù)制就會變成自我 DDoS 攻擊厕倍。為了避免出現(xiàn)這種情況,可以通過增加延遲來換取性能贩疙,并采用批次的方式讹弯,這樣可以獲得更好的伸縮性诬像。

Edge 的數(shù)據(jù)復(fù)制問題非常獨特,與已有的數(shù)據(jù)存儲復(fù)制流程不太一樣闸婴,所以需要新的技術(shù)來支持它坏挠。

基于 CRDT 的解決方案

所幸,Edge 的狀態(tài)復(fù)雜性可以通過一些數(shù)據(jù)結(jié)構(gòu)和相關(guān)算法(Conflict-free Replicated Data Type邪乍,CRDT)來解決降狠。CRDT 算法允許參與者自主修改數(shù)據(jù),并以零共識的方式自動解決數(shù)據(jù)沖突庇楞。CRDT 的這些特點(自主性榜配、零共識、自動解決沖突)是 SAE 平臺實現(xiàn)低延遲的基礎(chǔ)要素吕晌。
自主性意味著 PoP 可以在本地處理請求并快速做出響應(yīng)蛋褥,不需要與千里之外的其他 PoP 達(dá)成共識。PoP 的自主性和并行修改數(shù)據(jù)會導(dǎo)致數(shù)據(jù)沖突睛驳,而 CRDT 可以通過多種數(shù)據(jù)結(jié)構(gòu)自動解決數(shù)據(jù)沖突烙心,并提供最終強(qiáng)一致性。
盡管 CRDT 也存在一些不足乏沸,但比起基于共識的解決方案要好得多淫茵。

基于共識的解決方案太慢了

以谷歌的 Spanner 為例,Spanner 是目前最為先進(jìn)的基于共識的數(shù)據(jù)層解決方案蹬跃,Spanner 的論文中提到:
客戶端和區(qū)域需要處于網(wǎng)絡(luò)延遲低于 1 毫秒的數(shù)據(jù)中心里匙瘪。
Spanner 并不適合用于長距離節(jié)點,也無法實現(xiàn)低延遲的并行提交蝶缀。Spanner 使用的是兩階段提交丹喻,每個事務(wù)需要穿行網(wǎng)絡(luò)兩次。美國東海岸到美國西海岸一個來回需要 100 毫秒翁都,那么兩階段提交需要 200 毫秒碍论,這對于大部分應(yīng)用程序來說都太慢了。

Kuhiro 比 Lambda 快上 5 到 10 倍

經(jīng)過實測荐吵,對于美國西海岸的用戶骑冗,Kuhiro 比 Lambda 快上 5 到 10 倍,東海岸用戶為 2 到 4 倍先煎,而國際用戶則為 50 倍贼涩。降低延遲對增加營收有直接的影響,Kuhiro 正是這樣的一種工具薯蝎,幫助客戶提升應(yīng)用程序速度遥倦,改進(jìn)用戶體驗,最大化利潤。

Kuhiro 不可思議的健壯性

這里有一個視頻記錄下了 Kuhiro 數(shù)據(jù)層不可思議的健壯性袒哥。在 12 分鐘的時間里缩筛,隨機(jī)停掉不同數(shù)據(jù)中心里的節(jié)點,甚至關(guān)閉整個數(shù)據(jù)中心堡称,然后再重新啟動瞎抛,簡直就是亂來一通。而視頻里顯示却紧,基于 CRDT 的系統(tǒng)仍然健壯如牛桐臊。
數(shù)據(jù)層的健壯性不僅在發(fā)生宕機(jī)或發(fā)生數(shù)據(jù)中心故障時能夠帶來好處,它還能降低 DDoS 攻擊所帶來的影響晓殊。

Edge Serverless 進(jìn)行時

NearCloud 看似遙不可及断凶,但其實它已經(jīng)帶著有狀態(tài) Serverless 來到了 Edge 系統(tǒng)里。SAE 最主要的優(yōu)勢在于它全局性的低延遲巫俺,另外還具有高度的健壯性(包括降低 DDoS 攻擊的影響面)认烁,當(dāng)然也具備 Serverless 所有的優(yōu)點。Kuhiro 的有狀態(tài) Serverless 為用戶提供了創(chuàng)建去中心化應(yīng)用的能力介汹,也可以對已有的 Serverless 應(yīng)用去中心化却嗡,為客戶提供超低延遲的服務(wù)。
原文鏈接:https://mp.weixin.qq.com/s/I9bN8Kl872FpvR3nD2J4ZA
英文鏈接:http://highscalability.com/blog/2017/11/6/birth-of-the-nearcloud-serverless-crdts-edge-is-the-new-next.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末痴昧,一起剝皮案震驚了整個濱河市稽穆,隨后出現(xiàn)的幾起案子冠王,更是在濱河造成了極大的恐慌赶撰,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柱彻,死亡現(xiàn)場離奇詭異豪娜,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)哟楷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門瘤载,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人卖擅,你說我怎么就攤上這事鸣奔。” “怎么了惩阶?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵挎狸,是天一觀的道長。 經(jīng)常有香客問我断楷,道長锨匆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任冬筒,我火速辦了婚禮恐锣,結(jié)果婚禮上茅主,老公的妹妹穿的比我還像新娘。我一直安慰自己土榴,他們只是感情好诀姚,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著玷禽,像睡著了一般学搜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上论衍,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天瑞佩,我揣著相機(jī)與錄音,去河邊找鬼坯台。 笑死炬丸,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蜒蕾。 我是一名探鬼主播稠炬,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼咪啡!你這毒婦竟也來了首启?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤撤摸,失蹤者是張志新(化名)和其女友劉穎毅桃,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體准夷,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡钥飞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了衫嵌。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片读宙。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖楔绞,靈堂內(nèi)的尸體忽然破棺而出结闸,到底是詐尸還是另有隱情,我是刑警寧澤酒朵,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布桦锄,位于F島的核電站,受9級特大地震影響耻讽,放射性物質(zhì)發(fā)生泄漏察纯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望饼记。 院中可真熱鬧香伴,春花似錦、人聲如沸具则。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽博肋。三九已至低斋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間匪凡,已是汗流浹背膊畴。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留病游,地道東北人唇跨。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像衬衬,于是被迫代替她去往敵國和親买猖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容