AWS 無(wú)服務(wù)器計(jì)算服務(wù)支持在 AWS 云上構(gòu)建和部署應(yīng)用程序,而無(wú)需管理服務(wù)器。AWS 無(wú)服務(wù)器平臺(tái)使供應(yīng)商能夠部署云解決方案,而無(wú)需服務(wù)器預(yù)置、部署、維護(hù)和監(jiān)控應(yīng)用程序、數(shù)據(jù)庫(kù)或存儲(chǔ)服務(wù)器。它包含自定義配置、易于維護(hù)、強(qiáng)大的安全性、可擴(kuò)展性、高可用性、監(jiān)控等功能。
什么是無(wú)服務(wù)器平臺(tái)?
無(wú)服務(wù)器并不意味著在沒(méi)有服務(wù)器的情況下執(zhí)行應(yīng)用程序。它是云提供商遵循的模型,其中提供商在自己的基礎(chǔ)架構(gòu)上管理機(jī)器和資源,并通過(guò)動(dòng)態(tài)分配機(jī)器和資源來(lái)構(gòu)建和運(yùn)行應(yīng)用程序和服務(wù)來(lái)提供服務(wù),這被稱為“BaaS”(業(yè)務(wù)即服務(wù))或“FaaS”(功能即服務(wù)),其中代碼在臨時(shí)容器中執(zhí)行。定價(jià)基于執(zhí)行任務(wù)期間消耗的資源。
AWS 無(wú)服務(wù)器平臺(tái)的功能
云邏輯層
AWS Lambda 可以充當(dāng)所有容器化和微服務(wù)應(yīng)用程序的邏輯層
編排管理
使用 AWS Step 函數(shù)協(xié)調(diào)和管理無(wú)服務(wù)器應(yīng)用程序的每個(gè)分布式組件的狀態(tài)
應(yīng)用程序生命周期管理
使用 AWS CodePipeline 等生命周期管理工具持續(xù)交付無(wú)服務(wù)器應(yīng)用程序
安全和訪問(wèn)控制
使用 AWS IAM(身份和訪問(wèn)管理)和 Amazon VPC(虛擬私有云)保護(hù)整個(gè)環(huán)境和 AWS 資源
可靠性和性能
AWS 以更低的成本提供高度可用、可擴(kuò)展且安全的服務(wù)
全球規(guī)模和覆蓋范圍
AWS 提供廣泛的全球產(chǎn)品;大多數(shù)無(wú)服務(wù)器服務(wù)在多個(gè) AWS 區(qū)域中都可用
無(wú)服務(wù)器應(yīng)用程序用例
網(wǎng)絡(luò)應(yīng)用程序
構(gòu)建無(wú)服務(wù)器 Web 應(yīng)用程序,這些應(yīng)用程序可自動(dòng)擴(kuò)展和縮減,并在多個(gè)可用 AWS 區(qū)域中以高可用性配置運(yùn)行,而無(wú)需使用 Amazon S3、Amazon API Gateway、AWS Lambda 和 Amazon DynamoDB 進(jìn)行擴(kuò)展。
實(shí)時(shí)文件處理
在 Amazon S3 中上傳數(shù)據(jù)后,S3 能夠觸發(fā) AWS Lambda 即時(shí)處理數(shù)據(jù)。AWS Lambda 可用于生成縮略圖圖像、轉(zhuǎn)碼視頻、索引文件、處理日志、驗(yàn)證內(nèi)容、實(shí)時(shí)聚合和篩選數(shù)據(jù)。
實(shí)時(shí)流處理
可以通過(guò) AWS Kinesis 和 AWS Lambda 在 AWS 中處理實(shí)時(shí)流數(shù)據(jù)。流數(shù)據(jù)源包括應(yīng)用程序活動(dòng)跟蹤、數(shù)據(jù)清理、日志篩選、索引、社交媒體分析、正在處理的事務(wù)以及IoT 設(shè)備數(shù)據(jù)遙測(cè)和計(jì)量。
移動(dòng)后端
構(gòu)建后端以通過(guò) AWS Lambda 和 Amazon API Gateway 對(duì) API 請(qǐng)求進(jìn)行身份驗(yàn)證和處理。
好處
降低成本 – 無(wú)服務(wù)器計(jì)算定價(jià)模型是即用即付的。它消耗的資源成本,當(dāng)應(yīng)用程序不運(yùn)行時(shí)沒(méi)有任何成本。此外,AWS 還負(fù)責(zé)基礎(chǔ)設(shè)施維護(hù)和更新,因此開(kāi)發(fā)人員可以將更多時(shí)間花在軟件開(kāi)發(fā)上。
彈性可擴(kuò)展性 — AWS 中的無(wú)服務(wù)器架構(gòu)有可能根據(jù)應(yīng)用程序工作負(fù)載進(jìn)行擴(kuò)展和縮減。
減少開(kāi)發(fā)人員的責(zé)任,加快發(fā)布速度 — 開(kāi)發(fā)人員無(wú)需擔(dān)心資源分配、擴(kuò)展、應(yīng)用程序部署和工作負(fù)載強(qiáng)度。AWS 處理無(wú)服務(wù)器架構(gòu)的這些問(wèn)題。開(kāi)發(fā)人員應(yīng)該只編譯他們的代碼,壓縮它,然后將其上傳到新的無(wú)服務(wù)器平臺(tái)以部署新功能。
多語(yǔ)言支持 — AWS 無(wú)服務(wù)器平臺(tái)支持多種編程語(yǔ)言,如 Node、Java、Python、C#、Ruby、Go 等,因此開(kāi)發(fā)人員可以自己選擇最方便的選項(xiàng)。
內(nèi)置日志記錄和監(jiān)控機(jī)制 — AWS 開(kāi)發(fā)了自己的用戶日志記錄和監(jiān)控解決方案。此外,它還提供自動(dòng)化安全評(píng)估,以提高部署在 AWS 上的應(yīng)用程序的合規(guī)性。
挑戰(zhàn)
冷啟動(dòng) — 無(wú)服務(wù)器計(jì)算的主要優(yōu)勢(shì)是資源的動(dòng)態(tài)分配,因此供應(yīng)商無(wú)需為空閑時(shí)間付費(fèi)。但是,有時(shí)這可能會(huì)導(dǎo)致調(diào)用延遲。
資源限制 —無(wú)服務(wù)器計(jì)算對(duì)資源內(nèi)存、執(zhí)行時(shí)間、帶寬和 CPU 使用率施加限制,例如,AWS Lambda 的每個(gè)請(qǐng)求的最大執(zhí)行時(shí)間為 900 秒(或 15 分鐘)。
應(yīng)用程序測(cè)試不足 —無(wú)服務(wù)器基礎(chǔ)結(jié)構(gòu)支持獨(dú)立測(cè)試應(yīng)用程序的小型功能,但測(cè)試基礎(chǔ)結(jié)構(gòu)和所有功能的組合可能具有挑戰(zhàn)性。
安全問(wèn)題增加 — 如果 lambda 函數(shù)上發(fā)生任何惡意代碼或攻擊,用于識(shí)別問(wèn)題和瓶頸的選項(xiàng)有限。開(kāi)發(fā)人員也沒(méi)有對(duì) AWS 服務(wù)器的完全訪問(wèn)權(quán)限。
訪問(wèn)文件系統(tǒng)級(jí)別 — 對(duì)于需要訪問(wèn)文件系統(tǒng)或操作系統(tǒng)級(jí)別的軟件,無(wú)服務(wù)器架構(gòu)不是最佳選擇。這些類型的應(yīng)用程序需要執(zhí)行一些操作,例如從配置文件讀取屬性或?qū)?nèi)存中的緩存拆分到磁盤(pán),但無(wú)服務(wù)器函數(shù)不允許這樣做。無(wú)服務(wù)器函數(shù)是無(wú)狀態(tài)的,因此每當(dāng)應(yīng)用程序需要狀態(tài)時(shí),無(wú)服務(wù)器函數(shù)都不適合。
無(wú)服務(wù)器服務(wù)使應(yīng)用程序更易于擴(kuò)展和開(kāi)發(fā),而無(wú)需管理典型的基于服務(wù)器的基礎(chǔ)結(jié)構(gòu)。開(kāi)發(fā)人員可以更多地關(guān)注核心產(chǎn)品,而不是操作服務(wù)器。因此,越來(lái)越多的組織更喜歡無(wú)服務(wù)器平臺(tái)。
審核編輯:郭婷
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9123瀏覽量
85331 -
AWS
+關(guān)注
關(guān)注
0文章
431瀏覽量
24355
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論