自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

讓應(yīng)用程序準(zhǔn)備好無服務(wù)器平臺的三個(gè)方法

譯文
云計(jì)算 服務(wù)器
與在更傳統(tǒng)的PaaS或IaaS環(huán)境中運(yùn)行的應(yīng)用程序相比,無服務(wù)器平臺上的應(yīng)用程序在性能、存儲及更多方面提出了獨(dú)特的要求。包括AWS、微軟和谷歌在內(nèi)的各大云供應(yīng)商都推出了無服務(wù)器平臺,讓用戶能夠借助一系列函數(shù)(function),將簡單或者甚至高度復(fù)雜的應(yīng)用程序組合起來。

【51CTO.com快譯】與在更傳統(tǒng)的PaaS或IaaS環(huán)境中運(yùn)行的應(yīng)用程序相比,無服務(wù)器平臺上的應(yīng)用程序在性能、存儲及更多方面提出了獨(dú)特的要求。

包括AWS、微軟和谷歌在內(nèi)的各大云供應(yīng)商都推出了無服務(wù)器平臺,讓用戶能夠借助一系列函數(shù)(function),將簡單或者甚至高度復(fù)雜的應(yīng)用程序組合起來。但是要在這種平臺上成功地運(yùn)行云應(yīng)用程序,開發(fā)團(tuán)隊(duì)就要改進(jìn)設(shè)計(jì)流程。

[[231651]]

開發(fā)人員在構(gòu)建無服務(wù)器應(yīng)用程序時(shí),應(yīng)遵循的幾個(gè)關(guān)鍵原則包括如下:

  • 開發(fā)小而獨(dú)立的應(yīng)用程序組件。
  • 實(shí)施無狀態(tài)函數(shù)。
  • 規(guī)劃壽命短的臨時(shí)函數(shù)。

1. 更小而獨(dú)立的組件

本質(zhì)上,無服務(wù)器函數(shù)旨在執(zhí)行單一任務(wù)。這要求開發(fā)團(tuán)隊(duì)確保函數(shù)小巧,并圍繞這些獨(dú)立的應(yīng)用程序組件協(xié)調(diào)開發(fā)流程。

一個(gè)好的做法是,基于觸發(fā)函數(shù)的事件類型,將函數(shù)分解成各自的函數(shù)庫。基本上,開發(fā)者應(yīng)該一開始就設(shè)計(jì)每個(gè)函數(shù),以響應(yīng)一個(gè)事件。如果同一個(gè)事件觸發(fā)多個(gè)函數(shù),將它們包含在同一個(gè)函數(shù)庫中。這樣一來,開發(fā)人員就比較容易基于觸發(fā)函數(shù)的事件來識別函數(shù)。

每個(gè)單獨(dú)的函數(shù)還應(yīng)包括配置數(shù)據(jù),以確保函數(shù)在開發(fā)、測試和生產(chǎn)環(huán)境中啟動時(shí)具有一致性。使用npm和webpack等工具來聲明和隔離每個(gè)函數(shù)內(nèi)的依賴項(xiàng)也很重要。

2. 選擇無狀態(tài)

開發(fā)團(tuán)隊(duì)?wèi)?yīng)考慮將函數(shù)實(shí)施成無狀態(tài)服務(wù),其中函數(shù)的狀態(tài)存儲在應(yīng)用程序本身之外。你可以配置函數(shù),以便引用作為配置數(shù)據(jù)的一部分加以管理,并與存儲庫中的函數(shù)一起存儲的數(shù)據(jù)存儲區(qū)和數(shù)據(jù)庫。

一些無服務(wù)器平臺提供了在函數(shù)調(diào)用之間持續(xù)存在的本地存儲。雖然開發(fā)人員可能忍不住將此用于更復(fù)雜的函數(shù),但該本地存儲并不總是在函數(shù)調(diào)用之間持續(xù)存在;就算持續(xù)存在,也可能不一致。

盡量使用支持性服務(wù),將有狀態(tài)數(shù)據(jù)存儲在數(shù)據(jù)庫、單獨(dú)的存儲數(shù)據(jù)區(qū)或緩存中。支持性服務(wù)是指函數(shù)在網(wǎng)絡(luò)上作為正常操作的一部分而使用的任何外部服務(wù),包括緩存服務(wù)(比如Memcached)、數(shù)據(jù)存儲區(qū)(比如CouchDB)或數(shù)據(jù)庫(比如MySQL)。

3. 規(guī)劃臨時(shí)性

無服務(wù)器函數(shù)的好處之一是它們可以在幾毫秒內(nèi)啟動,相比之下,在PaaS、容器和虛擬機(jī)上運(yùn)行的大型應(yīng)用程序需要幾秒鐘甚至幾分鐘,并可以同樣迅速地停止運(yùn)行。因而很容易增加大量函數(shù)以應(yīng)對需求,或讓并行運(yùn)行的函數(shù)共同完成計(jì)算任務(wù),然后一旦計(jì)算完畢,讓它們又停止運(yùn)行。

實(shí)際上,無服務(wù)器應(yīng)用程序本質(zhì)上具有更強(qiáng)的臨時(shí)性。

這意味著,想充分獲得無服務(wù)器平臺的好處,開發(fā)人員就需要從函數(shù)的核心邏輯中刪除通常與應(yīng)用程序綁定的許多組件。開發(fā)人員應(yīng)該:

  • 預(yù)熱函數(shù)所需的數(shù)據(jù)源;
  • 搭建外部記錄和跟蹤基礎(chǔ)架構(gòu);以及
  • 管理安全。

預(yù)熱

為了預(yù)熱函數(shù),你需要在部署之前搭建函數(shù)與數(shù)據(jù)庫進(jìn)行聯(lián)系所需的基礎(chǔ)架構(gòu)。

為此,將函數(shù)處理程序與核心邏輯分開來。就像在寒冷天氣讓汽車空轉(zhuǎn)以改善其性能,閑置事件處理程序可確保:一旦該函數(shù)調(diào)用,就能以最佳性能運(yùn)行。AWS CloudFormation和Azure Event Hubs之類的工具支持預(yù)熱過程。

外部記錄和跟蹤

函數(shù)需要能夠快速優(yōu)雅地關(guān)閉。雖然無服務(wù)器平臺包含一些內(nèi)置的本地存儲,但配置外部日志記錄和跟蹤服務(wù)(這種服務(wù)內(nèi)置于無服務(wù)器框架本身),或者設(shè)置自定義工具,以便函數(shù)運(yùn)行時(shí),收集和存儲來自函數(shù)的日志數(shù)據(jù),這很重要。

AWS X-Ray和Azure Application Insights之類的工具有助于日志記錄和跟蹤。

安全

無服務(wù)器應(yīng)用程序給黑客帶來了另一條潛在的攻擊途徑。如果未落實(shí)適當(dāng)?shù)陌踩胧?,黑客很可能會啟用函?shù),訪問敏感數(shù)據(jù)。開發(fā)人員應(yīng)為各類函數(shù)做好安全設(shè)置,以便對執(zhí)行某項(xiàng)任務(wù)所需要的其他應(yīng)用程序只能進(jìn)行最低限度的訪問。

原文標(biāo)題:Three ways to prepare applications for serverless platforms,作者:George Lawton

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

責(zé)任編輯:未麗燕 來源: 51CTO.com
相關(guān)推薦

2020-02-26 11:20:15

服務(wù)器數(shù)據(jù)中心技術(shù)

2011-08-29 10:26:37

云網(wǎng)絡(luò)

2010-03-08 09:24:57

Ubuntu企業(yè)服務(wù)器

2015-03-16 16:18:31

云計(jì)算提速寶德服務(wù)器

2009-04-20 11:44:00

思科服務(wù)器

2019-02-15 15:14:53

服務(wù)器開發(fā) 架構(gòu)

2015-11-09 16:51:32

服務(wù)器寶德

2022-09-23 09:02:16

數(shù)字化轉(zhuǎn)型AIOps

2009-06-25 17:08:14

2016-07-08 15:54:00

創(chuàng)業(yè)

2024-01-03 11:44:26

開發(fā)云服務(wù)

2017-11-10 08:58:49

Web服務(wù)器應(yīng)用程序

2020-03-31 14:11:52

物聯(lián)網(wǎng)安全互聯(lián)網(wǎng)

2022-06-06 17:07:32

人工智能道德決策技術(shù)

2019-05-27 06:37:42

5G移動網(wǎng)絡(luò)互聯(lián)網(wǎng)

2015-06-04 12:37:17

程序員未來

2015-07-09 10:38:21

程序員未來

2011-09-06 10:58:10

服務(wù)器應(yīng)用程序虛擬化

2012-07-04 17:26:58

微軟Windows 8

2014-04-14 15:43:24

企業(yè)移動應(yīng)用開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號