请选择 进入手机版 | 继续访问电脑版

设为首页 收藏本站
思科社区 关注
思科社区

搜索
热搜: 邮件服务器
查看: 355|回复: 0

【原创翻译】各大Serverless架构提供商的较量(2)

[复制链接]
发表于 2020-9-27 22:27:26 | 显示全部楼层 |阅读模式
IBM拥有与LambdaAzure相同的免费套餐,而对于超出免费套餐限额的所有请求,均按照0.000017美元每GB每秒收费。在计费方面,IBM OpenWhisk会记录功能函数处于活动状态时所消费的资源。
总而言之,AWS Lambda的定价适中;Azure的费用取决于所使用的CPU和内存;而对于Windows环境来说,Azure提供了最低的价位。
支持的编程语言
为了让用户可以在托管的环境中运行自己的应用,FaaS提供商往往会在它们所提供的共有云环境里支持多种语言。
Lambda涵盖了广泛的编程语言,其中包括:Node.js runtimePythonJava和其他编译语言、以及.NET语言(C#、Visual BasicF#)。
Azure Functions显然将重点放在了Microsoft的语言系列上,包括:Node.js runtimeC#、F#、PythonPHPBashBatchPowerShell、以及编译JavaScript语言。
Google Cloud Functions过去只支持JavaScript,如今它已宣布正在测试支持许多其他的语言。不过就目前而言,GCF看起来并不是一个非常可靠的选择。
IBM目前支持Node.js runtimeSwiftJavaPHPPython。同时,它可以与任何带有Docker容器的编程语言相集成。

功能函数触发类型
主流提供商都能够提供用于调用功能函数的,可配置的动态触发器类型。它们支持按需调用分别调度函数,并与其他云服务相集成。您可以在不同提供商的用户文档中找到相关的详细信息。
LambdaAzure通过API提供已配置的触发器类型。其中,AWS使用API网关(https://aws.amazon.com/api-gateway/)作为API触发器,通过Amazon S3https://aws.amazon.com/s3/)作为基于文件的触发器,以及通过DynamoDBhttps://aws.amazon.com/dynamodb/)来执行动态触发。而Azure则建议使用其他的Microsoft服务、Azure事件中心(https://azure.microsoft.com/en-us/services/event-hubs/)和Azure存储(https://azure.microsoft.com/en-us/services/storage/),来实现Web API触发和计划性调用。
GCF服务在其文档中提供了各种能够支持的触发器列表。GCF触发器类型的主要功能是:让用户的应用能与任何Google服务相集成,进而支持cloud Pub/Sub与各种HTTP回调。
IBM虽然并没有在触发方面与太多的第三方服务相集成,但是它仍然能够支持许多常见的触发器类型,包括:基于浏览器的HTTP工具调用、以及计划性的触发。
因此,若是要根据触发方法来选择提供商的话,AzureLambda应该是最佳选择,而如果您需要通过Google服务来触发某些功能函数的话,也可以选择GCF
执行时间(Execution Time)和并发数
与功能函数调用相关的另一个重要方面是:执行时间和并发数。此处并发数表示在一段时间内并行执行不同功能函数的数量。
Lambda的并发数为1,000个,其最长执行时间为15分钟。用户既可以为整个帐户,也能够为单个功能函数配置并发数。
Azure为单个应用提供了无限的并发率,但是单个功能函数的最长执行时间被限制为5分钟。如果用户需要长达10分钟则需要进行升级。
GCF只允许对HTTP触发器类型进行无限次的调用。而对于其他触发方法,其并发数与Lambda相同,也是一次只能执行1,000个。它将单个功能函数的执行时间限制为60秒,在升级后可达9分钟。值得一提的是:AWS Lambda计算的是单个帐户的并发数,而GCF统计的是项目中的并发数。这意味着:在AWS上,您只能运行一个具有1,000个并发量的调用函数,而在GCF上,您可以使用同一个并发来运行多个功能函数。
IBM对于单个功能函数的调用并不限制时间,但它的并发率并不清楚,当然也不作保证。
因此,如果您希望功能函数的性能平稳,则选择LambdaGCFAzure皆可。如果您注重长时间的调用,那么LambdaIBM将是更好的选择。
部署方法
各大提供商的部署方法似乎没有什么区别。在无服务器框架的部署中,开发人员通常会使用serverless.yml来配置功能函数,然后将函数的代码打包到Zip文件中,进而推送到服务器上。
Lambda能够更新用户应用中的每一个单独的功能函数;而AzureGCFIBM服务则倾向于通过插件来解析serverless.yml,当然它们上传各种资源的顺序也略有不同。
监控和记录
由于所有的架构都是由提供商进行管理的,因此为了获悉应用程序的状态和参数指标,它们需要为每一项服务提供监控和日志记录的工具。籍此,用户也能够概览到资源的使用与分配、出现的错误、以及相应的监视日志等方面。
Amazon自家的Lambda服务工具 – CloudWatchhttps://aws.amazon.com/cloudwatch/),能够观察功能函数的调用与日志。但是,由于CloudWatch是一项付费的服务,因此也受到了一些批评。其他主流提供商的类似服务包括Microsoft Monitorhttps://docs.microsoft.com/en-us/azure/azure-monitor/overview)、Google Stackdriverhttps://cloud.google.com/monitoring/docs/)、以及IBM logging and monitoringhttps://idaas.iam.ibm.com/idaas/mtfim/sps/authsvc?PolicyId=urn:ibm:security:authentication:asf:basicldapuserhttps://idaas.iam.ibm.com/idaas/ ... n:asf:basicldapuser)。
Amazon的另一项服务X-Rayhttps://aws.amazon.com/xray/),是一种监控多种AWS服务的分布式跟踪系统。不过,它的主要用途是监控微服务类型的应用,而不是功能函数。下面是一些针对无服务器应用监视的第三方工具:
u  Dashbirdhttps://dashbird.io/)是一项免费的AWS监控服务,提供CloudWatch之外的功能,并有着更加友好的用户界面。
u  OpenTracinghttps://opentracing.io/)是一种独立于提供商的监控服务,而并非工具。OpenTracing支持9种语言,包括:GoJavaScriptJavaPythonRubyPHPObjective-CC ++C#。
u  Thundrahttps://www.thundra.io/)聚焦于JavaScript,能够与AWS X-Ray相集成,并在其基础上呈现监控和日志记录。
其他备选考虑
如上所述,四大主流无服务器架构提供商都能提供“势均力敌”的基础服务。只是AWS LambdaAzure Functions更为完整和多元化一些。因此您在选择时,更多地取决于所用到的环境、对于编程语言和社区的支持要求。
如果您不想被上述主流共有云提供商的框架所“绑架”,需要对自己的产品具有更多控制的话,可以考虑如下开源的无服务器框架:
u  IronFunctionshttp://open.iron.io/)是一款开源的无服务器计算平台,它同时支持私有、共有和混合云。其背后的理念是:为开发人员提供可在任何地方运行的无服务器平台。IronFunctions使用的是Go语言,这在其他无服务器选项中并不常见。
u  Oracle Fn Projecthttps://fnproject.io/)也是一款开源的无服务器平台,它原生于容器化(containerization)、且独立于语言和云环境。与IronFunctions类似,Fn Project也可被用于私有、共有和混合云。
u  Kubelesshttps://kubeless.io/)是由Kubernetes提供的由容器驱动的原生无服务器架构。它能被用于自动化容器应用的部署、管理和扩展。
u  Firebasehttps://firebase.google.com/https://firebase.google.com/)是移动应用开发的后端平台,由Google提供托管架构。它能够与Google的其他云服务顺利集成,当然也最适合于Google的产品。
u  Webtaskhttps://webtask.io/docs/101https://webtask.io/docs/101)是一款完全免费的FaaS平台。它最适合于不需要繁重后端的移动应用,并能支持各种集成方案。
【原标题】Comparing Serverless Architecture Providers: AWS, Azure, Google, IBM, and Other FaaS Vendors  (作者Ihor Lobastov  )
原文链接:https://dzone.com/articles/comparing-serverless-architecture-providers-aws-az

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
您需要登录后才可以回帖 思科 CCO 登录 | 思科 CCO 注册   

本版积分规则

Archiver | 思科社区  

GMT+8, 2020-10-23 05:27 , Processed in 0.091189 second(s), 28 queries .

京ICP备11014401号-17

© 2020 思科系统.版权所有 重要声明 | 保密声明 | 隐私权政策 | 商标 |

快速回复 返回顶部 返回列表