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