無服務(wù)器計(jì)算:為云中的下一個(gè)重大顛覆做好準(zhǔn)備
在每天發(fā)送超過15億條信息、每月與超過10億消費(fèi)者互動(dòng)的過程中,Braze公司使用了大量的云基礎(chǔ)設(shè)施。但是Braze的業(yè)務(wù)是不可預(yù)測的,因此對(duì)計(jì)算資源的需求可能會(huì)隨著必須轉(zhuǎn)換的數(shù)據(jù)量大幅波動(dòng),以支持客戶的個(gè)性化通信需求。
本文引用地址:http://butianyuan.cn/article/201808/389854.htmBraze公司DevOps和安全主管Sal Poliandro III說:“有時(shí)候我們可能有100臺(tái)服務(wù)器在運(yùn)行,也有的時(shí)候可能有1000臺(tái)?!?Braze曾經(jīng)根據(jù)一系列指標(biāo)來擴(kuò)展其云基礎(chǔ)設(shè)施,而這些指標(biāo)最終支持形成了有根據(jù)的最佳猜測。然后,Braze發(fā)現(xiàn)了亞馬遜的無服務(wù)器計(jì)算平臺(tái)Lambda。
現(xiàn)在,這個(gè)過程完全自動(dòng)化了。算法確定他們需要多少容量,然后啟動(dòng)一個(gè)功能,該功能可以觸及其基礎(chǔ)設(shè)施合作伙伴并立即進(jìn)行擴(kuò)展?!斑^去我們常常根據(jù)峰值負(fù)荷進(jìn)行擴(kuò)展。而有了無服務(wù)器技術(shù),我們就不必?fù)?dān)心這一點(diǎn)了,” ”Poliandro說。對(duì)于一個(gè)典型的開發(fā)團(tuán)隊(duì),他估計(jì)該過程至少比手動(dòng)配置服務(wù)器快了10倍。
Braze只是越來越多追逐這個(gè)云領(lǐng)域、甚至是IT領(lǐng)域最熱門趨勢的公司之一。無服務(wù)器計(jì)算——下面包含功能即服務(wù)等子集——通過擺脫配置基礎(chǔ)設(shè)施、同時(shí)要大幅削減成本的這些苦差事,來吸引開發(fā)者和首席信息官的注意力。
有些人認(rèn)為,無服務(wù)器將最終成為大多數(shù)軟件構(gòu)建的一種方式。風(fēng)險(xiǎn)投資公司Mayfield Fund管理合伙人Navin Chaddha說:“這種底層技術(shù)將為重新定義完整的應(yīng)用堆棧、軟件編寫方式、應(yīng)用程序構(gòu)建方式創(chuàng)造機(jī)會(huì)?!?/p>
狂熱者們可能會(huì)領(lǐng)先一步。畢竟,無服務(wù)器計(jì)算還沒有走出孵化階段。但令人興奮的是,早期采用者的反饋令人鼓舞。
Cloudability對(duì)1500個(gè)組織的云使用情況進(jìn)行了分析,發(fā)現(xiàn)2017年第四季度無服務(wù)器平臺(tái)的使用量增長了7倍多,不過基數(shù)還比較小。RightScale報(bào)告稱,無服務(wù)器技術(shù)是2017年1000名受訪的IT專業(yè)人員認(rèn)為增長最快的擴(kuò)展云服務(wù),采用率從12%增長到21%。
不僅是初創(chuàng)公司,還有大量網(wǎng)站。AWS Lambda及相關(guān)無服務(wù)器服務(wù)總經(jīng)理Tim Wagner表示,Lambda增長最快的用戶群中包括CapitalOne、Hearst和Financial Industry Regulatory Authority等大型企業(yè)。
事實(shí)上,一些企業(yè)已經(jīng)開始將無服務(wù)器技術(shù)推向主流甚至是前沿計(jì)算領(lǐng)域。例如,抵押貸款融資公司Federal National Mortgage Association(Fannie Mae)正在將其風(fēng)險(xiǎn)分析模擬從自己的服務(wù)器轉(zhuǎn)移到Lambda,創(chuàng)造了所謂的金融行業(yè)第一個(gè)無服務(wù)器高性能計(jì)算平臺(tái)。
那些尚未加入的軟件開發(fā)人員正在爭先恐后地追趕上來,那些瞄準(zhǔn)下一代關(guān)鍵技術(shù)的大型科技公司也在關(guān)注這些熱門趨勢。例如下周在舊金山舉行的Google Cloud Next大會(huì)上,無服務(wù)器將成為19個(gè)分會(huì)場主題之一。
“無服務(wù)器計(jì)算不僅將從根本上改變后端計(jì)算的經(jīng)濟(jì)性,也將成為分布式計(jì)算未來的核心,”微軟首席執(zhí)行官Satya Nadella在去年的微軟Build大會(huì)上這樣表示。
為你免除煩惱
簡而言之,無服務(wù)器技術(shù)無需在每次運(yùn)行程序時(shí)設(shè)置服務(wù)器和軟件。相反,各種功能會(huì)根據(jù)事件自動(dòng)執(zhí)行,無論是由人還是由程序觸發(fā)。
“無服務(wù)器”這個(gè)詞實(shí)際上有些用詞不當(dāng),因?yàn)槿匀皇切枰?wù)器來執(zhí)行功能的。但是,與設(shè)置虛擬服務(wù)器或使用軟件模擬的計(jì)算機(jī)所花費(fèi)數(shù)小時(shí)或數(shù)天相比,該過程可以在幾毫秒內(nèi)完成。因此,無服務(wù)器應(yīng)用可以以非常低的成本幾乎無限擴(kuò)展,因?yàn)榭蛻糁辉谑褂迷摴δ軙r(shí)付費(fèi),而無需在服務(wù)器空間時(shí)間內(nèi)付費(fèi)。
相比之下,部署傳統(tǒng)集成應(yīng)用的過程需要分配基礎(chǔ)設(shè)施,如CPU、內(nèi)存和存儲(chǔ),以及一套平臺(tái)軟件。即使應(yīng)用僅偶爾使用,這些資源仍然必須保持隨時(shí)可用。過度配置會(huì)增加成本、浪費(fèi)容量并導(dǎo)致“服務(wù)器無序擴(kuò)張”——在這種情況下IT部門要為很少使用或者被遺忘了的云實(shí)例支付費(fèi)用。
在無服務(wù)器的場景中,開發(fā)人員將應(yīng)用構(gòu)建為小塊代碼(或者功能)的集合,這些代碼或功能以協(xié)調(diào)的方式即時(shí)調(diào)配。這意味著沒有浪費(fèi)、低開銷、快速可擴(kuò)展來滿足容量需求。
移動(dòng)計(jì)算最近推動(dòng)著人們對(duì)無服務(wù)器領(lǐng)域的關(guān)注,因?yàn)樵S多移動(dòng)應(yīng)用非常適合無服務(wù)器設(shè)計(jì)。例如一位智能手機(jī)用戶查找當(dāng)?shù)靥鞖忸A(yù)報(bào),或者某個(gè)足球場的方向,這些查詢可以封裝并保存在云中,以便在必要時(shí)進(jìn)行調(diào)用。程序只是將參數(shù)(例如人的位置和目的地)傳遞給服務(wù)器,服務(wù)器返回單個(gè)目標(biāo)結(jié)果。
無服務(wù)器技術(shù)還在一些更為日常的場景發(fā)揮著作用。例如,當(dāng)用戶使用新照片更新在線個(gè)人資料時(shí),無服務(wù)器功能可以自動(dòng)將照片復(fù)制到其他地方。或者,將Excel文件上載到數(shù)據(jù)庫的用戶可以觸發(fā)無服務(wù)器功能,將文件轉(zhuǎn)換為JavaScript Object Notation格式,以便存儲(chǔ)在數(shù)據(jù)湖中。
無服務(wù)器減輕了Braze等公司在規(guī)劃不可預(yù)測的使用場景時(shí)經(jīng)常遇到的麻煩。這使得無服務(wù)器成為新聞組織的一個(gè)很好的模式,因?yàn)樗麄兛吹剑?dāng)有重要賽事或者有球隊(duì)進(jìn)入季后賽時(shí)球迷活動(dòng)激增導(dǎo)致流量峰值的出現(xiàn),很多新聞組織只會(huì)簡單地分配資源來應(yīng)對(duì)高峰期,為那些未被使用的資源支付費(fèi)用。
十年變遷
無服務(wù)器這一概念并不新鮮。谷歌的App Engine在2008年就具有了計(jì)量收費(fèi)的功能。但直到2014年亞馬遜推出Lambda,這一概念才開始流行起來。其他云服務(wù)提供商紛紛效仿,包括擁有Cloud Functions的谷歌、有Azure云功能的微軟、以及有OpenWhisk的IBM。在此期間,商業(yè)和開源的產(chǎn)品及服務(wù)這一龐大生態(tài)系統(tǒng)已經(jīng)蓬勃發(fā)展起來,其中也包括內(nèi)部部署的選項(xiàng)。
無服務(wù)器應(yīng)用的分布式特性是最有趣的特點(diǎn)之一。無服務(wù)器代碼不一定比傳統(tǒng)代碼運(yùn)行得更快,但它可以分布在網(wǎng)絡(luò)上以便并行執(zhí)行。例如,谷歌的BigQuery分析數(shù)據(jù)倉庫將查詢分成幾個(gè)部分,并在服務(wù)器可用的任何地方處理這些查詢。
這意味著相比單線程引擎處理來說,這么做的處理速度要快上幾個(gè)數(shù)量。分布式引擎在使用資源的方式上也可以更加靈活和具有可擴(kuò)展性,因?yàn)樗梢栽谌魏蔚胤接|發(fā)功能。水平擴(kuò)展是自動(dòng)的、彈性的并且由提供者管理的。
Google Cloud開發(fā)人員Kelsey Hightower表示:“計(jì)算機(jī)的最終目標(biāo)就像計(jì)算器:我希望能夠擁有一個(gè)非常簡單的界面,計(jì)算機(jī)應(yīng)該給我一個(gè)答案。我們會(huì)一直做下去,直到最終的體驗(yàn)變成‘這是我的應(yīng)用,為我運(yùn)行的應(yīng)用?!?/p>
那為什么這項(xiàng)技術(shù)還沒有風(fēng)靡世界呢?嗯,首先,它仍然處于早期階段?!按蠖鄶?shù)客戶都將無服務(wù)器技術(shù)用于非常具體的解決方案中,例如事件處理和數(shù)據(jù)采集,大規(guī)模部署還沒有真正開始,”New Relic公司戰(zhàn)略架構(gòu)高級(jí)主管Lee Atchison說道。
另一個(gè)原因是無服務(wù)器模型的結(jié)構(gòu)是有局限性的,目前是限制于一組有限的應(yīng)用中?!拔艺J(rèn)為很少有公司會(huì)把賭注全部壓在無服務(wù)器上,你的IT部門可以采取混搭的方式,” Red Hat產(chǎn)品管理高級(jí)總監(jiān)Rich Sharples這樣表示。無服務(wù)器是一種很好的快速執(zhí)行簡單任務(wù)的方式,但缺乏統(tǒng)一化的、微服務(wù)平臺(tái)提供的一些關(guān)鍵控制功能。
Gartner技術(shù)和服務(wù)提供商集團(tuán)研究主管Craig Lowery更為樂觀一些。“人們不理解無服務(wù)器技術(shù),所以將其歸類成一個(gè)利基市場。”Gartner研究了五家公司,這五家公司都在沿著無服務(wù)器學(xué)習(xí)曲線向上攀升,并發(fā)現(xiàn)一旦他們放棄了開發(fā)軟件的傳統(tǒng)規(guī)范,所有公司都會(huì)成為顛覆者?!耙坏┧麄兎畔乱郧澳切┢谕麄兙湍軌?qū)崿F(xiàn)這些好處?!?/p>
AWS首席執(zhí)行官Andy Jassy去年表示,假如今年創(chuàng)建亞馬遜公司的話,那么就會(huì)建立在無服務(wù)器平臺(tái)上——他們對(duì)這項(xiàng)技術(shù)的快速采用感到驚訝,即使在大型企業(yè)中也是如此。
“我們有很多企業(yè)客戶,我們?cè)菊J(rèn)為他們不會(huì)是第一批采用Lambda的企業(yè)客戶,”AWS首席信息安全官辦公室主任Mark Ryland上周在紐約舉行的AWS峰會(huì)上表示?!暗且?yàn)樗麄冋谧鲋卮蟮膽?yīng)用重建,他們說,‘我為什么要選擇容器?我可以構(gòu)建一個(gè)功能正常的應(yīng)用。’”
評(píng)論