繁重的基礎設施管理和服務器維護工作可能會使企業IT團隊陷入困境,并使他們難以專注更關鍵和更復雜的工作和任務。無服務器計算通過將基礎設施管理工作轉移給云計算提供商消除這些障礙。
無服務器計算(也稱為功能即服務)是一種事件驅動的模型,其中功能是響應預定義或按需觸發而執行的代碼單元。無服務器功能可用于運行代碼、構建移動和Web應用程序、管理容器以及處理其他云計算任務。
公共云提供商提供了一系列無服務器工具和服務,可減輕云計算用戶的基礎設施管理任務的負擔。企業可以評估AWS、Google和Microsoft提供的主要無服務器計算產品,并確定最適合自己需求的工具。
AWS公司
·AWS Lambda:開發人員可以使用這個事件驅動的云計算服務在AWS云平臺中運行功能,而無需管理或配備服務器和存儲等資源。采用AWS Lambda,在AWS云平臺中管理基礎設施,并由開發人員編寫代碼。該服務支持Node.js、Python、Java和C#等語言。
AWS Lambda通過Lambda功能執行,該功能執行特定的程序性任務,以響應來自其他Amazon云計算服務(例如Amazon S3、Amazon Simple Notification Service和CloudWatch)的事件。Lambda也可以通過AWS Step Functions編排到工作流中。
用戶可以通過AWS Lambda儀表板,命令行界面或軟件開發套件來更新和監視Lambda功能。AWS Lambda可用于在AWS云平臺中處理數據,構建Web應用程序和各種其他功能。Lambda功能按需付費。
·AWS Lambda @ Edge:開發人員使用AWS Lambda @ Edge在AWS公司的全球內容交付網絡的邊緣運行Lambda功能。這種無服務器計算功能在地理位置上更接近最終用戶運行代碼,以減少延遲。使用Lambda @ Edge,IT團隊無需在多個位置管理和配置基礎設施。 Amazon CloudFront生成事件,這些事件觸發Lambda @ Edge運行并交付特定于位置的代碼。
·AWS Fargate:AWS Fargate是用于AWS云中容器的無服務器計算引擎。該服務與Amazon Elastic容器服務和Amazon Elastic Kubernetes服務一起使用。AWS用戶可以在AWS云平臺中構建和運行Kubernetes應用程序,而無需配置和管理Pod。
借助Fargate,開發人員可以控制其容器化應用程序的參數和訪問策略,而AWS公司可以管理基礎設施。Fargate會自動擴展以在高度可用的環境中運行容器。該服務可以同時啟動數千個容器。用戶可以選擇Fargate Spot,這是一個為可中斷應用程序構建的服務折扣版本。
谷歌云
·Google Cloud Functions:Google Cloud Functions是谷歌云平臺的無服務器、事件驅動的計算服務。與AWS Lambda相似,Google Cloud Functions抽象化了基礎設施管理,并使開發人員能夠專注于編寫代碼和其他任務。采用Google Cloud Functions,小型的程序代碼段可根據特定事件將功能執行到云計算環境中。
可以通過谷歌云平臺(GCP)內部或外部的資源來觸發此服務。Google Cloud Functions與其他谷歌云平臺服務以及其他第三方服務連接在一起。谷歌云平臺的無服務器計算工具可以觸發日志分析和數據備份,并對數據集執行冗余任務,以及其他任務。用戶為使用的功能付費。
·Google App Engine:App Engine是谷歌公司的無服務器PaaS產品,開發人員可以在其中構建移動應用程序和Web應用程序。App Engine可通過自動基礎設施管理和服務器維護來擴展任何規模的資源。該工具提供內置服務,例如負載平衡、應用程序日志記錄和運行狀況檢查。無服務器計算平臺還提供數據存儲和配置功能。
App Engine用戶可以訪問谷歌云計算安全掃描器來檢測應用程序安全問題。App Engine可在標準或靈活的環境中使用。在標準應用程序引擎環境中,實例在沙盒環境中運行,并支持一組特定的編程語言。標準環境適用于處理快速擴展的應用程序。
App Engine實例的靈活環境在谷歌計算引擎虛擬機上的容器中運行。靈活的環境選項適用于接收一致流量或遇到流量波動的應用程序以及逐漸擴展的應用程序。與標準環境(包括Python、Java、Node.js、Go、Ruby、PHP或.NET)相比,環境類型的限制更少,并且支持更多的源代碼語言。
·Google Cloud Run:Google Cloud Run是一種無服務器的容器管理工具,可在托管環境中運行無狀態容器。Google Cloud Run建立在Knative上,Knative是一套開源工具,用于在Kubernetes上構建無服務器應用程序。它實現了工作負載的可遷移性,并支持所有編程語言和開源庫。
HTTPS請求觸發Cloud Run服務。Cloud Run用于構建具有自動可擴展性的便攜式,基于容器的移動和Web應用程序。此服務與其他容器管理工具和技術(例如CodeBuild、Container Registry和Docker)一起使用。
云計算用戶可以部署托管的按使用付費版本的Google Cloud Run,該版本在谷歌云平臺上部署無狀態容器。或者用戶可以選擇Cloud Run for Anthos,它可以在谷歌云平臺、內部部署或VMware環境中運行容器。Cloud Run for Anthos支持自定義計算機類型,并提供其他網絡功能。
微軟Azure
·Azure Functions:Azure Functions是微軟公司的無服務器計算服務,具有與AWS Lambda和Google Cloud Functions相當的功能。這個無事件驅動的無服務器計算平臺通過管理基礎設施簡化了IT團隊的應用程序開發。通過來自Azure服務或第三方來源(例如Azure事件中心)、HTTPS請求、GitHub的事件觸發器和來自服務(例如Azure存儲)的消息流量來執行功能。
Azure功能可處理開發任務,例如數據處理、文件維護和從物聯網設備收集數據,以及其他功能。該服務還與其他Azure產品集成在一起,包括Azure Cosmos DB、Azure移動應用程序和Azure Service Bus。用戶根據功能在計費周期中運行的時間為Azure功能付費。
·Azure App Service:Azure App Service是微軟公司的另一項無服務器產品。開發人員可以使用此服務在托管環境中運行移動,Web和Azure API應用程序。Azure App Service支持.NET、.NET Core、Java、Node.js、Python、PHP和Ruby。Azure App將應用程序部署在容器中或作為代碼部署,并且可以在Windows或Linux操作系統上運行。
這項無服務器計算服務提供按需代碼,負載平衡和自動擴展以及與Azure DevOps、GitHub、BitBucket、Docker Hub或Azure Container Registry的持續集成和部署等功能。用戶可以通過從免費到高級的幾種定價計劃之一進行選擇,以自定義Azure應用服務模型。
·Azure Kubernetes服務:Microsoft Azure通過Azure Kubernetes服務(AKS)提供了無服務器的容器管理。該無服務器工具提供了Kubernetes編排的集群,該集群可根據流量高峰自動擴展。
借助AKS,微軟公司可以處理開銷管理、配置以及與Azure Active Directory等服務的集成。 AKS還與Azure容器注冊表集成在一起,用于Docker映像存儲和Azure硬盤。Azure云用戶可以使用AKS管理門戶,AKS命令行界面或Azure資源管理器模板訪問該服務。對于使用AKS管理的Kubernetes集群,不向云計算用戶收費。其定價基于容器中使用的云計算資源。
版權聲明:本文為企業網D1Net編譯,轉載需注明出處為:企業網D1Net,如果不注明出處,企業網D1Net將保留追究其法律責任的權利。