首页 > 云计算 > 正文

公共云中的无服务器工具和服务之间的比较

2020-03-10 15:31:52  来源:企业网D1Net

摘要:企业不要让其IT团队疲于应对基础设施管理任务。可以采用一些无服务器计算产品,提高应用程序开发效率。繁重的基础设施管理和服务器维护工作可能会使企业IT团队陷入困境,并使他们难以专注更关键和更复杂的工作和任务。无服务器计算通过将基础设施管理工作转移给云计算提供商消除这些障碍。
关键词: 公共云 谷歌云
  企业不要让其IT团队疲于应对基础设施管理任务。可以采用一些无服务器计算产品,提高应用程序开发效率。
 
  繁重的基础设施管理和服务器维护工作可能会使企业IT团队陷入困境,并使他们难以专注更关键和更复杂的工作和任务。无服务器计算通过将基础设施管理工作转移给云计算提供商消除这些障碍。
 
  无服务器计算(也称为功能即服务)是一种事件驱动的模型,其中功能是响应预定义或按需触发而执行的代码单元。无服务器功能可用于运行代码、构建移动和Web应用程序、管理容器以及处理其他云计算任务。
 
  公共云提供商提供了一系列无服务器工具和服务,可减轻云计算用户的基础设施管理任务的负担。企业可以评估AWS、Google和Microsoft提供的主要无服务器计算产品,并确定最适合自己需求的工具。
 
  AWS公司
 
  (1) 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功能按需付费。
 
  (2) AWS Lambda @ Edge:开发人员使用AWS Lambda @ Edge在AWS公司的全球内容交付网络的边缘运行Lambda功能。这种无服务器计算功能在地理位置上更接近最终用户运行代码,以减少延迟。使用Lambda @ Edge,IT团队无需在多个位置管理和配置基础设施。 Amazon CloudFront生成事件,这些事件触发Lambda @ Edge运行并交付特定于位置的代码。
 
  (3) AWS Fargate:AWS Fargate是用于AWS云中容器的无服务器计算引擎。该服务与Amazon Elastic容器服务和Amazon Elastic Kubernetes服务一起使用。AWS用户可以在AWS云平台中构建和运行Kubernetes应用程序,而无需配置和管理Pod。
 
  借助Fargate,开发人员可以控制其容器化应用程序的参数和访问策略,而AWS公司可以管理基础设施。Fargate会自动扩展以在高度可用的环境中运行容器。该服务可以同时启动数千个容器。用户可以选择Fargate Spot,这是一个为可中断应用程序构建的服务折扣版本。
 
  谷歌云
 
  (1) Google Cloud Functions:Google Cloud Functions是谷歌云平台的无服务器、事件驱动的计算服务。与AWS Lambda相似,Google Cloud Functions抽象化了基础设施管理,并使开发人员能够专注于编写代码和其他任务。采用Google Cloud Functions,小型的程序代码段可根据特定事件将功能执行到云计算环境中。
 
  可以通过谷歌云平台(GCP)内部或外部的资源来触发此服务。Google Cloud Functions与其他谷歌云平台服务以及其他第三方服务连接在一起。谷歌云平台的无服务器计算工具可以触发日志分析和数据备份,并对数据集执行冗余任务,以及其他任务。用户为使用的功能付费。
 
  (2) Google App Engine:App Engine是谷歌公司的无服务器PaaS产品,开发人员可以在其中构建移动应用程序和Web应用程序。App Engine可通过自动基础设施管理和服务器维护来扩展任何规模的资源。该工具提供内置服务,例如负载平衡、应用程序日志记录和运行状况检查。无服务器计算平台还提供数据存储和配置功能。
 
  App Engine用户可以访问谷歌云计算安全扫描器来检测应用程序安全问题。App Engine可在标准或灵活的环境中使用。在标准应用程序引擎环境中,实例在沙盒环境中运行,并支持一组特定的编程语言。标准环境适用于处理快速扩展的应用程序。
 
  App Engine实例的灵活环境在谷歌计算引擎虚拟机上的容器中运行。灵活的环境选项适用于接收一致流量或遇到流量波动的应用程序以及逐渐扩展的应用程序。与标准环境(包括Python、Java、Node.js、Go、Ruby、PHP或.NET)相比,环境类型的限制更少,并且支持更多的源代码语言。
 
  (3) 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
 
  (1) 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功能付费。
 
  (2) 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应用服务模型。
 
  (3) Azure Kubernetes服务:Microsoft Azure通过Azure Kubernetes服务(AKS)提供了无服务器的容器管理。该无服务器工具提供了Kubernetes编排的集群,该集群可根据流量高峰自动扩展。
 
  借助AKS,微软公司可以处理开销管理、配置以及与Azure Active Directory等服务的集成。 AKS还与Azure容器注册表集成在一起,用于Docker映像存储和Azure硬盘。Azure云用户可以使用AKS管理门户,AKS命令行界面或Azure资源管理器模板访问该服务。对于使用AKS管理的Kubernetes集群,不向云计算用户收费。其定价基于容器中使用的云计算资源。

第三十届CIO班招生
法国布雷斯特商学院硕士班招生
北达软EXIN网络空间与IT安全基础认证培训
北达软EXIN DevOps Professional认证培训
责编:baiyl