無(wú)服務(wù)器計算:為云中的下一個(gè)重大顛覆做好準備
在每天發(fā)送超過(guò)15億條信息、每月與超過(guò)10億消費者互動(dòng)的過(guò)程中,Braze公司使用了大量的云基礎設施。但是Braze的業(yè)務(wù)是不可預測的,因此對計算資源的需求可能會(huì )隨著(zhù)必須轉換的數據量大幅波動(dòng),以支持客戶(hù)的個(gè)性化通信需求。
本文引用地址:http://dyxdggzs.com/article/201808/389854.htmBraze公司DevOps和安全主管Sal Poliandro III說(shuō):“有時(shí)候我們可能有100臺服務(wù)器在運行,也有的時(shí)候可能有1000臺?!?Braze曾經(jīng)根據一系列指標來(lái)擴展其云基礎設施,而這些指標最終支持形成了有根據的最佳猜測。然后,Braze發(fā)現了亞馬遜的無(wú)服務(wù)器計算平臺Lambda。
現在,這個(gè)過(guò)程完全自動(dòng)化了。算法確定他們需要多少容量,然后啟動(dòng)一個(gè)功能,該功能可以觸及其基礎設施合作伙伴并立即進(jìn)行擴展?!斑^(guò)去我們常常根據峰值負荷進(jìn)行擴展。而有了無(wú)服務(wù)器技術(shù),我們就不必擔心這一點(diǎn)了,” ”P(pán)oliandro說(shuō)。對于一個(gè)典型的開(kāi)發(fā)團隊,他估計該過(guò)程至少比手動(dòng)配置服務(wù)器快了10倍。

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