無(wú)服務(wù)器技術(shù)可有助于提高靈活性并降低云整體成本。為了充分利用好這些優(yōu)勢(shì),請(qǐng)務(wù)必精心設(shè)計(jì)并管理好您的無(wú)服務(wù)器應(yīng)用程序。
無(wú)服務(wù)器計(jì)算也被稱為功能即服務(wù),它是云圈子里目前最為熱議的新技術(shù)。雖然它并沒(méi)有真正地?cái)[脫服務(wù)器的束縛,但是它確實(shí)使復(fù)雜應(yīng)用程序的部署與管理變得更為簡(jiǎn)便、更具成本效益。
云供應(yīng)商看到了市場(chǎng)對(duì)無(wú)服務(wù)器計(jì)算越來(lái)越大的興趣,從而推出了他們自己的服務(wù)來(lái)支持這些新技術(shù)的應(yīng)用。亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)是第一家使用AWS Lambda來(lái)進(jìn)行市場(chǎng)推廣的企業(yè),而Azure Functions和谷歌Cloud Functions則在若干年之后才被推向市場(chǎng)。所有這三項(xiàng)服務(wù)都讓無(wú)服務(wù)器技術(shù)能夠更容易地在企業(yè)用戶中被推廣開(kāi)去。
下文將介紹SearchCloudComputing收集的五個(gè)貼士,您可以看看無(wú)服務(wù)器模式是否能夠讓您受益。
無(wú)服務(wù)器計(jì)算幫助企業(yè)用戶減少對(duì)云資源的擔(dān)憂
無(wú)服務(wù)器計(jì)算技術(shù)已經(jīng)進(jìn)入企業(yè),因?yàn)樗軌蚝?jiǎn)化部署,讓開(kāi)發(fā)人員能夠更多地關(guān)注應(yīng)用程序功能本身而不是諸如虛擬機(jī)調(diào)配這樣的工作。無(wú)服務(wù)器技術(shù)的新興應(yīng)用包括了圖像處理、任務(wù)管理、工作流程與通知。
對(duì)于諸如FireEys公司這類安全廠商來(lái)說(shuō),無(wú)服務(wù)器計(jì)算模式要比傳統(tǒng)按需實(shí)例方式更為節(jié)省成本,正在使用AWS Lambda的一名運(yùn)營(yíng)工程師Joseph Kordish說(shuō)。
但是,需要注意的一點(diǎn)是無(wú)服務(wù)器技術(shù)所帶來(lái)的可靠性、靈活性和成本效益可能并不適用于所有類型的應(yīng)用程序。檢查用戶的工作負(fù)載,以確認(rèn)它們是否能夠從無(wú)服務(wù)器技術(shù)中受益。
(FaaS的興起)
針對(duì)無(wú)服務(wù)器計(jì)算制訂云成本管理策略
在所有的云部署中,成本管理是非常重要的,其中也包括了無(wú)服務(wù)器計(jì)算。與公共云模式中空閑應(yīng)用程序仍然會(huì)產(chǎn)生CPU或虛擬機(jī)成本不同,無(wú)服務(wù)器技術(shù)只需要用戶在每次執(zhí)行應(yīng)用程序組件時(shí)付費(fèi)。
盡管如此,沉重的工作負(fù)載最終還是會(huì)讓你在收到賬單時(shí)大吃一驚。
第一步是看供應(yīng)商的價(jià)格。一般來(lái)說(shuō),他們會(huì)根據(jù)執(zhí)行應(yīng)用程序時(shí)間的數(shù)量、這些事件所使用資源的數(shù)量以及它們的運(yùn)行時(shí)間來(lái)定價(jià)。請(qǐng)注意您的無(wú)服務(wù)器應(yīng)用程序?qū)⑿枰娜魏纹渌δ?如數(shù)據(jù)庫(kù)),因?yàn)楣?yīng)商們將為此向您收取費(fèi)用。
接下來(lái),就請(qǐng)查看您的無(wú)服務(wù)器應(yīng)用程序、了解它們擁有多少的組件以及這些組件的運(yùn)行頻率。對(duì)于具有高度可變形的較小型工作負(fù)載來(lái)說(shuō),無(wú)服務(wù)器技術(shù)是更具成本效益的。您可以先對(duì)您的無(wú)服務(wù)器應(yīng)用程序進(jìn)行測(cè)試以估計(jì)其成本。
無(wú)服務(wù)器計(jì)算如何影響云運(yùn)營(yíng)團(tuán)隊(duì)
一些新技術(shù)都會(huì)對(duì)云運(yùn)營(yíng)團(tuán)隊(duì)帶來(lái)一定的影響,它們會(huì)迫使他們重新思考他們的流程——無(wú)服務(wù)器技術(shù)正是其中之一。
無(wú)服務(wù)器計(jì)算是基于事件的,這意味著一個(gè)事件會(huì)觸發(fā)應(yīng)用程序的運(yùn)行。如上所述,恰恰是這一點(diǎn)改變了云成本管理的實(shí)際做法。另外,云運(yùn)營(yíng)團(tuán)隊(duì)還需要改變他們擴(kuò)展規(guī)模的方法。事實(shí)上,我們是無(wú)法按需擴(kuò)展所有的無(wú)服務(wù)器應(yīng)用程序及其各個(gè)組件的,重要的是要確保當(dāng)啟動(dòng)新組件來(lái)處理負(fù)載高峰時(shí),核心業(yè)務(wù)應(yīng)用程序的運(yùn)行性能不會(huì)受到影響。
(圖片來(lái)源于網(wǎng)絡(luò))
云運(yùn)營(yíng)團(tuán)隊(duì)還需要使用正確的工具來(lái)管理無(wú)服務(wù)器應(yīng)用程序。請(qǐng)記住,除了價(jià)格因素以外,還要評(píng)估供應(yīng)商的工具集及其運(yùn)營(yíng)數(shù)據(jù)。這些工具不同于確保虛擬機(jī)運(yùn)行性能的傳統(tǒng)云運(yùn)營(yíng)工具,它們對(duì)于無(wú)服務(wù)器應(yīng)用程序的管理來(lái)說(shuō)是至關(guān)重要的。
充分利用公共云中的無(wú)服務(wù)器應(yīng)用程序
開(kāi)發(fā)人員和云管理員都需要為無(wú)服務(wù)器計(jì)算技術(shù)所帶來(lái)的變革做好準(zhǔn)備。
例如,開(kāi)發(fā)人員必須適應(yīng)無(wú)服務(wù)器應(yīng)用程序的結(jié)構(gòu)并了解它們是如何進(jìn)行數(shù)據(jù)交互的。與傳統(tǒng)的單一應(yīng)用程序不同,無(wú)服務(wù)器應(yīng)用程序?qū)④浖纸獬蔀樵S多的獨(dú)立功能。云管理員必須管理每一個(gè)功能并跟蹤其運(yùn)行性能、使用情況以及成本。幸運(yùn)的是,大部分的云供應(yīng)商都提供了相關(guān)監(jiān)控工具。
管理員們還應(yīng)定期與開(kāi)發(fā)人員共享管理信息,以便實(shí)現(xiàn)持續(xù)開(kāi)發(fā)并優(yōu)化性能與成本。此外,由于不同公共云供應(yīng)商之間的功能是不可移植的,所以管理員們應(yīng)當(dāng)提防受制于單個(gè)供應(yīng)商的風(fēng)險(xiǎn)。
確保無(wú)服務(wù)器應(yīng)用能夠使用部署技巧進(jìn)行擴(kuò)展
可擴(kuò)展性是云的最大優(yōu)勢(shì)之一,但是在無(wú)服務(wù)器技術(shù)方面還存在著一些挑戰(zhàn)。有著如此之多的功能需要啟動(dòng)運(yùn)行,此外用戶還需使用更多資源來(lái)支持日益增加的運(yùn)行負(fù)載,分布式負(fù)載平衡服務(wù)也是必不可少的。可以遵循適用于無(wú)狀態(tài)應(yīng)用程序的最佳實(shí)踐,例如使用諸如Apache ZooKeeper之類的工具套件來(lái)編寫(xiě)應(yīng)用程序,這類工具套件可以管理分布式應(yīng)用程序副本。
就部署方面來(lái)說(shuō),控制是實(shí)現(xiàn)可擴(kuò)展性的關(guān)鍵所在。將應(yīng)用程序副本的數(shù)量控制在最小范圍,當(dāng)沒(méi)有更多需求時(shí)進(jìn)行規(guī)模縮減。此外,還要執(zhí)行嚴(yán)格的條件使最終用戶能夠創(chuàng)建新的應(yīng)用程序副本。