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

無服務(wù)器計算如何使開發(fā)更容易,運營成本更低

云計算
企業(yè)開發(fā)人員通?;ㄙM大量時間編寫代碼解決業(yè)務(wù)問題。然后運營團隊又花費大量時間進行研究,首先要弄清楚如何獲得開發(fā)人員編寫的代碼,并在可用的計算機上運行,然后確保這些計算機運行平穩(wěn)。而這似乎是一個永無止境的任務(wù)。為什么不把那部分讓別人去做?

 企業(yè)開發(fā)人員通?;ㄙM大量時間編寫代碼解決業(yè)務(wù)問題。然后運營團隊又花費大量時間進行研究,首先要弄清楚如何獲得開發(fā)人員編寫的代碼,并在可用的計算機上運行,然后確保這些計算機運行平穩(wěn)。而這似乎是一個永無止境的任務(wù)。為什么不把那部分讓別人去做?

[[270041]]

在過去的二十年中,IT領(lǐng)域的許多創(chuàng)新(例如,虛擬機、云計算、容器)一直致力于確保企業(yè)不必過多地考慮運行代碼的底層物理機器。無服務(wù)器計算是一種越來越流行的模式,它將這種愿望用于其邏輯結(jié)論:使用無服務(wù)器計算,企業(yè)無需了解代碼運行的硬件或操作系統(tǒng),因為服務(wù)提供商都會為企業(yè)提供服務(wù)。

什么是無服務(wù)器計算?

無服務(wù)器計算是云計算的一種執(zhí)行模型,云計算提供商在其中動態(tài)分配,然后僅為執(zhí)行特定代碼片段所需的計算資源和存儲向用戶收費。當然,仍然涉及服務(wù)器,但它們的供應(yīng)和維護完全由提供商負責。亞馬遜的無服務(wù)器倡導(dǎo)者Chris Munns在2017年的一次會議上表示,“從團隊編寫和部署代碼的角度來看,根本沒有服務(wù)器可以管理或配置。這包括任何可能是裸機的東西,任何虛擬的東西,任何容器,任何涉及到管理主機、修補主機或在操作系統(tǒng)級別處理任何事情的東西,在無服務(wù)器的世界中都不是必須要做的事情。”

正如開發(fā)人員Mike Roberts所解釋的那樣,該術(shù)語曾被用于所謂的“后端即服務(wù)”場景,其中移動應(yīng)用程序?qū)⑦B接到完全托管在云中的后端服務(wù)器。但是目前,當人們談?wù)摕o服務(wù)器計算或無服務(wù)器架構(gòu)時,它們意味著是“功能即服務(wù)”產(chǎn)品,其中客戶編寫的代碼只解決業(yè)務(wù)邏輯并將其上傳到提供商。該提供程序負責所有硬件配置、虛擬機和容器管理,甚至是多線程等通常內(nèi)置于應(yīng)用程序代碼中的任務(wù)。

無服務(wù)器功能是事件驅(qū)動的,這意味著只有在請求觸發(fā)時才會調(diào)用代碼。提供商僅對該執(zhí)行所使用的計算時間收費,而不是維護物理服務(wù)器或虛擬服務(wù)器收取的每月固定費用。這些功能可以連接在一起以創(chuàng)建處理管道,或者它們可以作為更大應(yīng)用程序的組件,與在容器中或在傳統(tǒng)服務(wù)器上運行的其他代碼交互。

無服務(wù)器計算的優(yōu)點和缺點

從這個描述中,無服務(wù)器計算的兩個***好處應(yīng)該是明確的:開發(fā)人員可以關(guān)注他們編寫的代碼的業(yè)務(wù)目標,而不是基礎(chǔ)設(shè)施問題;組織只為他們實際使用的計算資源支付非常具體的費用,而不是購買物理硬件或租用大部分閑置的云計算實例。

正如行業(yè)專家Bernard Golden指出的那樣,這一點對事件驅(qū)動的應(yīng)用程序特別有益。例如,企業(yè)可能有一個大部分時間處于空閑狀態(tài)的應(yīng)用程序,但在某些條件下必須同時處理許多事件請求?;蛘撸髽I(yè)可能擁有一個應(yīng)用程序來處理從有限性或間歇性全球互聯(lián)網(wǎng)連接的物聯(lián)網(wǎng)設(shè)備發(fā)送的數(shù)據(jù)。在這兩種情況下,傳統(tǒng)方法都需要配置一個能夠處理峰值工作能力的強大服務(wù)器,但是大多數(shù)時候服務(wù)器都未得到充分利用。使用無服務(wù)器架構(gòu),企業(yè)只需為實際使用的服務(wù)器資源付費。無服務(wù)器計算也適用于特定類型的批處理。無服務(wù)器架構(gòu)用例的規(guī)范示例之一是上載和處理一系列單個圖像文件,并將它們發(fā)送到應(yīng)用程序的另一部分的服務(wù)。

也許無服務(wù)器功能最明顯的缺點是,它們是短暫的,并不適合長期任務(wù)。大多數(shù)無服務(wù)器提供商不會讓企業(yè)的代碼執(zhí)行超過幾分鐘,當企業(yè)啟動一個功能,它不會保留以前運行的實例中的任何狀態(tài)數(shù)據(jù)。一個相關(guān)的問題是,無服務(wù)器代碼可能需要幾秒鐘才能啟動,這對于許多用例而言不是問題,但是如果企業(yè)的應(yīng)用程序需要低延遲,則需要發(fā)出警告。

正如Rohit Akiwatkar和Gary Arora所指出的,許多其他缺點都與供應(yīng)商鎖定有關(guān)。盡管有可用的開源選項,但無服務(wù)器市場由大型商業(yè)云計算提供商主導(dǎo),這將在稍后討論。這意味著開發(fā)人員通常最終會使用其供應(yīng)商提供的工具,這使得如果他們變得不滿意就很難切換。而且,由于很多無服務(wù)器計算都是在供應(yīng)商的基礎(chǔ)設(shè)施上進行的,因此很難將無服務(wù)器代碼集成到內(nèi)部開發(fā)和測試管道中。

無服務(wù)器供應(yīng)商:AWS Lambda、Azure Functions和Google Cloud Functions

無服務(wù)器計算的現(xiàn)代時代始于2014年,當時推出基于亞馬遜云服務(wù)的AWS Lambda。微軟公司于2016年推出了Azure Functions。自2017年以來一直處于測試階段的Google Cloud Functions終于達到了生產(chǎn)狀態(tài)。這三種服務(wù)的局限性、優(yōu)勢、支持的語言和做事方式略有不同。Rohit Akiwatkar對這三者之間的區(qū)別進行了詳細的描述。運行中還有IBM Cloud Functions,它基于開源的Apache OpenWhisk平臺。

在所有無服務(wù)器計算平臺中,AWS Lambda是最突出的,顯然已經(jīng)有更多的時間來發(fā)展和成熟。行業(yè)媒體報道了過去一年中添加到AWS Lambda的更新和新功能。

無服務(wù)器堆棧

與許多軟件領(lǐng)域的情況一樣,無服務(wù)器世界已經(jīng)看到了軟件堆棧的發(fā)展,這些軟件堆疊了構(gòu)建無服務(wù)器應(yīng)用程序所需的不同組件。每個堆棧都包含一個企業(yè)要編寫代碼的編程語言,一個為企業(yè)代碼提供結(jié)構(gòu)的應(yīng)用程序框架,以及一組平臺將理解并用于啟動代碼執(zhí)行的觸發(fā)器。

雖然企業(yè)可以混合使用這些類別中的不同特定產(chǎn)品,但根據(jù)企業(yè)使用的供應(yīng)商的不同,存在一些限制和重疊。例如,對于語言,企業(yè)可以在AWS Lambda上使用Node.js、Java、Go、C#和Python,但只有JavaScript、C#和F#在Azure上工作。在涉及觸發(fā)器時,AWS Lambda擁有更多的產(chǎn)品,但其中許多都是特定于AWS平臺的,如Amazon Simple Email Service和AWS CodeCommit;同時,Google Cloud Functions可以由通用HTTP請求觸發(fā)。行業(yè)專家Paul Jaworski深入研究了三大產(chǎn)品中的每一個產(chǎn)品的堆棧。

無服務(wù)器框架

這個方程式的框架部分很好地定義了如何最終構(gòu)建應(yīng)用程序。亞馬遜有自己的原生產(chǎn)品,即開源的無服務(wù)器應(yīng)用程序模型(SAM),但也有其他產(chǎn)品,其中大多數(shù)是跨平臺的,也是開源的。其中***的是無服務(wù)器,并且強調(diào)它為每個支持的平臺提供相同的體驗,即AWS Lambda、Azure Functions、Google Cloud Functions和IBM OpenWhisk。另一個受歡迎的產(chǎn)品是Apex,它可以幫助某些提供商使用某些語言。

無服務(wù)器數(shù)據(jù)庫

正如上面提到的,使用無服務(wù)器代碼的一個奇怪之處是沒有持久狀態(tài),這意味著局部變量的值不會在實例化中持續(xù)存在。企業(yè)的代碼需要訪問的任何持久性數(shù)據(jù)必須存儲在其他位置,并且主要供應(yīng)商的堆棧中可用的觸發(fā)器都包含企業(yè)的功能可以與之交互的數(shù)據(jù)庫。

其中一些數(shù)據(jù)庫本身稱為無服務(wù)器。這意味著它們的行為與在本文中討論的其他無服務(wù)器功能非常相似,但顯而易見的例外是數(shù)據(jù)***期存儲。但是,在配置和維護數(shù)據(jù)庫時所涉及的大部分管理開銷都被忽略了。正如開發(fā)人員Jeremy Daly所說,“企業(yè)所需要做的就是配置一個集群,然后所有的維護、修補、備份、復(fù)制和擴展都會自動處理。”與功能即服務(wù)產(chǎn)品一樣,企業(yè)只需支付實際使用的計算時間和資源根據(jù)需要擴展或縮減以滿足需求。

三大無服務(wù)器提供商各自提供自己的無服務(wù)器數(shù)據(jù)庫:亞馬遜擁有Aurora無服務(wù)器和DynamoDB,微軟擁有Azure Cosmos數(shù)據(jù)庫,谷歌公司擁有Cloud Firestore。但這些并不是唯一可用的數(shù)據(jù)庫。Nemanja Novkovic提供了更多產(chǎn)品信息。

無服務(wù)器計算和Kubernetes

容器有助于為無服務(wù)器技術(shù)提供動力,但管理它們的開銷由供應(yīng)商負責,因此對用戶不可見。許多人認為無服務(wù)器計算是一種在不必處理其復(fù)雜性的情況下獲得容器化微服務(wù)的許多優(yōu)點的方法,甚至開始談?wù)摵笕萜魇澜纭?/p>

實際上,容器和無服務(wù)器計算幾乎肯定會在未來許多年內(nèi)共存,實際上無服務(wù)器功能可以與容器化微服務(wù)存在于同一應(yīng)用程序中。Kubernetes是***的容器編排平臺,也可以管理無服務(wù)器基礎(chǔ)設(shè)施。實際上,使用Kubernetes,企業(yè)可以在單個集群上集成不同類型的服務(wù)。

無服務(wù)器脫機

企業(yè)可能會發(fā)現(xiàn)無服務(wù)器計算開始的前景有點令人生畏,因為企業(yè)似乎需要與供應(yīng)商簽約才能開展,并了解它是如何工作的。但不要擔心:有些方法可以在企業(yè)自己的本地硬件上脫機運行無服務(wù)器代碼。例如,AWS SAM提供了一個本地功能,允許企業(yè)脫機測試Lambda代碼。如果企業(yè)正在使用的是無服務(wù)器應(yīng)用程序框架,那么可以離線查看無服務(wù)器應(yīng)用程序框架,該插件允許企業(yè)在本地運行代碼。

責任編輯:華軒 來源: 企業(yè)網(wǎng)D1Net
相關(guān)推薦

2019-04-30 10:27:46

無服務(wù)器云計算安全

2017-07-10 15:17:11

無服務(wù)器計算云計算IT

2018-04-23 12:28:24

無服務(wù)器云成本云計算

2018-02-28 11:19:41

服務(wù)器云計算公共云

2022-01-05 09:28:31

無服務(wù)器計算服務(wù)器應(yīng)用程序

2018-06-15 16:05:06

服務(wù)器無密碼驗證登錄安全

2017-03-15 17:13:59

2017-03-15 14:49:18

2018-03-01 10:26:25

無服務(wù)器計算架構(gòu)

2022-03-18 20:54:24

無服務(wù)器計算無服務(wù)器服務(wù)器

2018-10-16 09:04:31

網(wǎng)絡(luò)視頻監(jiān)控服務(wù)器

2018-02-25 12:19:02

2011-08-01 10:49:12

服務(wù)器

2009-02-16 15:50:57

服務(wù)器 降低成本

2019-04-01 13:47:57

無服務(wù)器計算云服務(wù)

2010-08-17 22:08:05

2019-03-08 10:26:29

無服務(wù)器云計算德勤

2017-11-27 10:45:48

無服務(wù)器計算容器

2010-05-13 18:09:41

2023-08-25 13:25:00

云計算云平臺
點贊
收藏

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