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