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

從零到規(guī)?;?AWS 無服務(wù)器(AWS Serverless)之旅?

譯文
云計(jì)算
AWS 無服務(wù)器架構(gòu)能夠輕松實(shí)現(xiàn)從零到峰值的擴(kuò)展,借助 DynamoDB 和 Lambda 等工具,可以為數(shù)據(jù)處理和實(shí)時(shí)工作流構(gòu)建成本高效且自動(dòng)擴(kuò)展的應(yīng)用程序。?

近年來,云原生應(yīng)用已成為許多企業(yè)構(gòu)建可擴(kuò)展應(yīng)用的首選標(biāo)準(zhǔn)。在眾多云技術(shù)的進(jìn)步中,無服務(wù)器架構(gòu)脫穎而出,成為一種變革性的方法。易用性和效率是現(xiàn)代應(yīng)用開發(fā)中最令人向往的特性,而無服務(wù)器架構(gòu)提供了這些。這使得無服務(wù)器架構(gòu)成為云服務(wù)提供商和用戶的游戲規(guī)則改變者。

對(duì)于希望采用這種方法構(gòu)建應(yīng)用的公司,主要的云服務(wù)提供商提供了多種無服務(wù)器解決方案。在本文中,我們將探討這種架構(gòu)的特點(diǎn)、優(yōu)勢(shì)和挑戰(zhàn),以及一些使用場(chǎng)景。本文以 AWS 為例來探討這些概念,但這些概念同樣適用于所有主要的云服務(wù)提供商。

無服務(wù)器(Serverless)

無服務(wù)器并不意味著沒有服務(wù)器。它只是意味著這些服務(wù)的底層基礎(chǔ)設(shè)施由云服務(wù)提供商管理。這使得架構(gòu)師和開發(fā)人員可以在不擔(dān)心管理基礎(chǔ)設(shè)施的情況下設(shè)計(jì)和構(gòu)建應(yīng)用。這類似于使用共享出行應(yīng)用 Uber:當(dāng)你需要出行時(shí),你不必?fù)?dān)心擁有或維護(hù)一輛車。Uber 負(fù)責(zé)這一切,而你只需專注于到達(dá)目的地,并為出行付費(fèi)。

無服務(wù)器架構(gòu)提供了許多使其適合并吸引眾多使用場(chǎng)景的優(yōu)勢(shì)。以下是一些關(guān)鍵優(yōu)勢(shì):

自動(dòng)擴(kuò)展

無服務(wù)器架構(gòu)的最大優(yōu)勢(shì)之一是它天生支持?jǐn)U展。云服務(wù)提供商負(fù)責(zé)繁重的工作,提供近乎無限的開箱即用的擴(kuò)展能力。例如,如果一個(gè)使用無服務(wù)器技術(shù)構(gòu)建的應(yīng)用突然流行起來,工具或服務(wù)會(huì)自動(dòng)擴(kuò)展以滿足應(yīng)用的需求。我們無需在半夜醒來添加服務(wù)器或其他資源。

專注于創(chuàng)新

由于不再需要管理服務(wù)器,你可以專注于構(gòu)建應(yīng)用,為應(yīng)用增長(zhǎng)添加功能。對(duì)于任何規(guī)模的企業(yè)——無論是小型、中型還是大型——這種方法都有助于專注于真正重要的事情——業(yè)務(wù)增長(zhǎng)。

成本效益

在傳統(tǒng)的服務(wù)器模型中,你通常會(huì)為未使用的資源付費(fèi),因?yàn)檫@些資源是預(yù)先購(gòu)買的,即使它們未被使用也需要管理。無服務(wù)器通過轉(zhuǎn)向按使用付費(fèi)的模式改變了這一點(diǎn)。在大多數(shù)情況下,你只需為你實(shí)際使用的資源付費(fèi)。如果你構(gòu)建的應(yīng)用沒有立即獲得關(guān)注,你的成本將極低,就像只為一次會(huì)議付費(fèi),而不是一整年。隨著應(yīng)用流量的增長(zhǎng),成本也會(huì)相應(yīng)增長(zhǎng)。

更快的上市時(shí)間

使用無服務(wù)器框架,你可以比傳統(tǒng)服務(wù)器模型更快地構(gòu)建和部署應(yīng)用。當(dāng)應(yīng)用準(zhǔn)備就緒時(shí),可以使用無服務(wù)器資源輕松部署。你無需花費(fèi)時(shí)間管理服務(wù)器,而是可以專注于開發(fā)和添加新功能,以更快的速度推出它們。

減少運(yùn)維工作

由于云服務(wù)提供商管理基礎(chǔ)設(shè)施,用戶無需擔(dān)心配置、維護(hù)、擴(kuò)展或處理安全補(bǔ)丁和漏洞。

無服務(wù)器框架具有靈活性,可以應(yīng)用于多種使用場(chǎng)景。無論是構(gòu)建 Web 應(yīng)用還是處理實(shí)時(shí)數(shù)據(jù),它們都能為這些場(chǎng)景提供所需的可擴(kuò)展性和效率。

使用 AWS 無服務(wù)器服務(wù)(AWS Serverless)構(gòu)建 Web 服務(wù) API

在討論了無服務(wù)器架構(gòu)的優(yōu)勢(shì)之后,讓我們來看一些實(shí)際的例子。在本節(jié)中,我們將使用 AWS 無服務(wù)器資源創(chuàng)建一個(gè)簡(jiǎn)單的后端 Web 應(yīng)用。


上述后端應(yīng)用設(shè)計(jì)包含三層,為 Web 應(yīng)用提供 API。部署到 AWS 后,網(wǎng)關(guān)端點(diǎn)可用于 API 調(diào)用。當(dāng)用戶調(diào)用 API 時(shí),請(qǐng)求通過 API 網(wǎng)關(guān)路由到相應(yīng)的 Lambda 函數(shù)。對(duì)于每個(gè) API 請(qǐng)求,Lambda 函數(shù)被觸發(fā),并訪問 DynamoDB 以存儲(chǔ)和檢索數(shù)據(jù)。這種設(shè)計(jì)是一種精簡(jiǎn)且成本效益高的解決方案,能夠隨著需求增長(zhǎng)自動(dòng)擴(kuò)展,是構(gòu)建低開銷 API 的理想選擇。這種設(shè)計(jì)中的各個(gè)組件能夠很好地集成在一起,提供靈活性。

這個(gè)架構(gòu)中有兩大主要組件——計(jì)算和存儲(chǔ)。

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

無服務(wù)器計(jì)算改變了云原生應(yīng)用和服務(wù)的構(gòu)建與部署方式。它承諾了一種真正的按使用付費(fèi)模式,以毫秒級(jí)的粒度運(yùn)行,不會(huì)浪費(fèi)任何資源。由于其簡(jiǎn)單性和經(jīng)濟(jì)優(yōu)勢(shì),這種方法廣受歡迎,許多云服務(wù)提供商都支持這些能力。

使用無服務(wù)器計(jì)算的最簡(jiǎn)單方式是向平臺(tái)提供按需執(zhí)行的代碼。這種方法促成了函數(shù)即服務(wù)(FaaS)平臺(tái)的興起,專注于允許小段代碼(以函數(shù)形式表示)在有限時(shí)間內(nèi)運(yùn)行。這些函數(shù)由 HTTP 請(qǐng)求、存儲(chǔ)變更、消息或通知等事件觸發(fā)。由于這些函數(shù)在代碼執(zhí)行完成后會(huì)停止運(yùn)行,因此它們不會(huì)保留任何持久狀態(tài)。為了維護(hù)狀態(tài)或持久化數(shù)據(jù),它們會(huì)使用像 DynamoDB 這樣提供持久存儲(chǔ)能力的服務(wù)。

AWS Lambda 能夠根據(jù)需求進(jìn)行擴(kuò)展。例如,在 2024 年的 Prime Day,AWS Lambda 處理了超過 1.3 萬億次調(diào)用。這種能力對(duì)于應(yīng)對(duì)流量的突然激增至關(guān)重要。

無服務(wù)器存儲(chǔ)

在無服務(wù)器計(jì)算生態(tài)系統(tǒng)中,無服務(wù)器存儲(chǔ)指的是能夠自動(dòng)擴(kuò)展且無需用戶管理基礎(chǔ)設(shè)施的云存儲(chǔ)解決方案。這些服務(wù)具備多種能力,包括按需擴(kuò)展、高可用性以及按使用付費(fèi)。例如,DynamoDB 是一種完全托管的無服務(wù)器 NoSQL 數(shù)據(jù)庫(kù),專為處理鍵值對(duì)和文檔數(shù)據(jù)模型而設(shè)計(jì)。它為需要在任何規(guī)模下保持一致性能的應(yīng)用程序而構(gòu)建,提供個(gè)位數(shù)毫秒級(jí)的延遲,并且能夠與其他許多服務(wù)無縫集成。

主要的云服務(wù)提供商提供了多種無服務(wù)器存儲(chǔ)選項(xiàng),以滿足特定需求,例如 S3、ElastiCache、Aurora 等。

其他使用場(chǎng)景

在上一節(jié)中,我們討論了如何利用無服務(wù)器架構(gòu)構(gòu)建 Web 應(yīng)用的后端 API。還有許多其他使用場(chǎng)景可以從無服務(wù)器架構(gòu)中受益。其中一些使用場(chǎng)景包括:

數(shù)據(jù)處理

讓我們?cè)偬接懸粋€(gè)例子,說明如何利用無服務(wù)器架構(gòu)基于數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)變更通知服務(wù)。例如,在一個(gè)電商平臺(tái)中,假設(shè)在創(chuàng)建訂單時(shí)需要通知多個(gè)服務(wù)。在 AWS 生態(tài)系統(tǒng)中,訂單創(chuàng)建后可以存儲(chǔ)在 DynamoDB 中。為了通知其他服務(wù),可以基于此存儲(chǔ)事件觸發(fā)多個(gè)事件。

通過 DynamoDB 流,當(dāng)事件發(fā)生時(shí)可以觸發(fā)一個(gè) Lambda 函數(shù)。該 Lambda 函數(shù)隨后可以將變更事件推送到 SNS(簡(jiǎn)單通知服務(wù))。SNS 作為通知服務(wù),向?qū)@些事件感興趣的多個(gè)其他服務(wù)發(fā)送通知。


實(shí)時(shí)文件處理

在許多應(yīng)用中,用戶會(huì)上傳需要存儲(chǔ)、調(diào)整大小、轉(zhuǎn)換為不同格式并進(jìn)行分析的圖像。我們可以通過以下方式使用 AWS 無服務(wù)器架構(gòu)實(shí)現(xiàn)這一功能。當(dāng)圖像被上傳時(shí),它會(huì)被推送至配置為觸發(fā)事件以調(diào)用 Lambda 函數(shù)的 S3 存儲(chǔ)桶。Lambda 函數(shù)可以處理圖像,將元數(shù)據(jù)存儲(chǔ)在 DynamoDB 中,并將調(diào)整大小后的圖像存儲(chǔ)在另一個(gè) S3 存儲(chǔ)桶中。這種可擴(kuò)展的架構(gòu)可用于處理數(shù)百萬張圖像,而無需管理任何基礎(chǔ)設(shè)施或進(jìn)行任何人工干預(yù)。


無服務(wù)器的挑戰(zhàn)

無服務(wù)器架構(gòu)提供了許多優(yōu)勢(shì),但也帶來了一些需要解決的挑戰(zhàn)。

冷啟動(dòng)

當(dāng)無服務(wù)器函數(shù)被調(diào)用時(shí),平臺(tái)需要?jiǎng)?chuàng)建、初始化并運(yùn)行一個(gè)新的容器來執(zhí)行代碼。這個(gè)過程稱為冷啟動(dòng),可能會(huì)在工作流中引入額外的延遲。通過保持函數(shù)處于活躍狀態(tài)或使用預(yù)留并發(fā)等技術(shù),可以幫助減少這種延遲。

監(jiān)控與調(diào)試

由于可能存在大量的調(diào)用,監(jiān)控和調(diào)試可能會(huì)變得復(fù)雜。在高負(fù)載的應(yīng)用程序中識(shí)別和調(diào)試問題可能會(huì)很有挑戰(zhàn)性。建議配置 AWS CloudWatch 等工具用于指標(biāo)、日志和警報(bào),以解決這些問題。

盡管無服務(wù)器架構(gòu)能夠自動(dòng)擴(kuò)展,但必須優(yōu)化資源配置以防止瓶頸。合理的資源配置和實(shí)施成本優(yōu)化策略是至關(guān)重要的。


總結(jié)

無服務(wù)器架構(gòu)是向由無服務(wù)器計(jì)算和存儲(chǔ)支持的云原生應(yīng)用開發(fā)邁出的重要一步。它被廣泛應(yīng)用于多種類型的應(yīng)用程序中,包括事件驅(qū)動(dòng)的工作流、數(shù)據(jù)處理、文件處理和大數(shù)據(jù)分析。由于其可擴(kuò)展性、敏捷性和高可用性,無服務(wù)器架構(gòu)已成為各種規(guī)模企業(yè)的可靠選擇。


原文標(biāo)題:From Zero to Scale With AWS Serverless,作者: Ravi Laudya

責(zé)任編輯:劉睿暄
相關(guān)推薦

2019-04-10 09:00:23

AWSOracle數(shù)據(jù)庫(kù)

2022-03-02 09:31:42

Serverless微服務(wù)架構(gòu)

2022-04-08 18:51:43

惡意軟件加密網(wǎng)絡(luò)攻擊

2014-09-26 09:23:08

FacebookInstagramAWS

2021-11-26 08:00:00

機(jī)器學(xué)習(xí)數(shù)據(jù)庫(kù)AWS

2023-08-27 15:20:58

Serverless架構(gòu)開發(fā)

2016-07-01 16:13:13

AWSLambda

2018-11-28 09:28:28

無服務(wù)器架構(gòu)網(wǎng)絡(luò)服務(wù)

2017-06-05 10:08:33

無服務(wù)器計(jì)算AWS Lambda

2020-12-01 11:09:14

2025-02-07 16:45:21

無服務(wù)器AI推理

2013-12-19 10:08:52

AWS服務(wù)器

2013-11-07 09:37:29

Rackspace數(shù)據(jù)云性能服務(wù)器性能服務(wù)器

2020-08-31 14:50:14

AWSAWS MarketpSaaS

2016-11-30 10:33:33

云計(jì)算AWS

2018-08-14 10:59:20

AWSAI云服務(wù)

2019-03-18 15:36:32

無服務(wù)器FaasServerless

2020-03-26 21:32:53

BaasFaasServerless

2020-10-13 08:03:47

ServerlessFramework

2017-12-02 12:39:41

點(diǎn)贊
收藏

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