取消
显示结果 
搜索替代 
您的意思是: 
cancel
2755
查看次数
0
有帮助
2
评论
julianchen
Spotlight
Spotlight

引言:在面对众多云服务提供商,并需要将现有服务迁移到某个无服务器架构之前,我们需要对各大Serverless架构提供商进行比较与分析
根据RightScale云服务状况报告2018版(请详见:https://www.rightscale.com/lp/state-of-the-cloud)显示,无服务器(Serverless)架构的市场渗透率已增至75%。而且,这个市场里的玩家,已不再局限于AWS LambdaAzure Functions等主流提供商。不过,在面对众多云服务提供商,并需要将现有服务迁移到某个无服务器架构之前,您是否真正了解他们的不同之处?下面让我们一起来深入探究一番。
无服务器架构的发展历史
近十多年来,随着云技术在商业中的广泛采用,整个市场也得到了迅速发展。我们可以看到,每年都有新的应用开发方法的出现。从逻辑层面来看:那些使用IaaS(基础设施即服务)的企业,主要是通过租用服务器资源,来将其基础设施迁移到云端。但是他们的IT团队仍然需要去动手设置各种服务器。而随着PaaS(平台即服务)的出现,IT团队逐渐摆脱了对服务器的手动操作。PaaS提供商能够提供更为完整的应用程序栈,包括:由提供商所管理的、运行在云中的操作系统和数据库等。
2014年,一种新的应用程序开发方法:无服务器架构,或称FaaS(功能即服务,Function-as-a-Service)出现了。简而言之,FaaS是一种无服务器的计算形式,它使用的是完全由提供商托管的基础架构,供用户上传和运行他们的功能函数,并按请求付费(pay-per-request)。与其他云计算方法不同的是,无服务器架构让开发人员完全从服务器中抽象出来,使得他们能够专注于业务的逻辑。如果您想更深入地了解FaaS的相关概念,以及无服务器架构的优缺点,请阅读:https://www.altexsoft.com/blog/cloud/pros-and-cons-of-serverless-architecture/?utm_source=DZone&utm_medium=referral
无服务器架构的好处
话说回来,尽管无服务器架构已广受欢迎,但是它不一定对每一家公司、每一类产品都合适。在此,我们首先来看看无服务器架构的整体优势。当然,由于服务提供商的不同(如:开源或是公有云),各家的优势也可能略有不同。
u 降低成本和具有可扩展性。如前所述,与传统方法相比,无服务器架构降低了服务器运营和维护的成本。而与其他类型的云计算服务相比,大多数FaaS提供商都能够贯彻按请求付费的定价机制。这就意味着您只需要为调用功能函数的时间和次数买单。此外,您还可以灵活地为功能函数分配一定数量的内存和CPU,并按需扩缩容。
u 更快的开发和部署。区别于整体(monolith)结构的构建方式,FaaS提供了更灵活的替代方案。开发人员可以编写一组,由不同功能函数所组成的代码,而不是将整体应用的代码上传到服务器上。因此,这使得整个结构更易于调试、更新和添加新的功能。
u 减少人力资源的支出。企业不必雇用DevOps工程师来进行运维,当然也不必购买特定的硬件。
u 高可用性和自动扩展。只有在客户端发出请求时,功能函数才会被激活并运行,而在不需要的时候,它们处于关闭状态。同时,随着流量的增长,FaaS能够自动扩展,它们通过为特定功能函数分配更多的资源,以实现高可用性,和在高负载下的平稳性能。
u 专注于业务需求。通过让开发人员从服务器端(server-side)的工作抽象出来,您的团队会更专注于应用的业务逻辑。
无服务器架构提供商概述
这两年,随着新玩家持续的入局,无服务器架构提供商的名录在2018年也扩充了不少。我们将这些提供商分为主流和备选两大类。主流类一般是在共有云上提供无服务器架构。下面,我们将对各大主流与备选提供商进行介绍与比较。
AWS Lambdahttps://aws.amazon.com/lambda/?nc1=h_ls
Amazon Web Services2014年推出了此类FaaS产品。自发布以来,Lambda已经成为了无服务器架构的代名词。凭借着最广泛的服务类别,Lambda一直保持着市场的领先地位。其最著名的案例,莫过于Netflix的无服务器公有云应用。
MicrosoftAzure Functionshttps://azure.microsoft.com/en-us/services/functions/
作为AWS Lambda竞争对手,该服务于2016年被推出。Azure Functions提供了一组与Amazon类似的服务,它更关注于Microsoft体系产品的语言和工具。Azure Functions的一个案例是Have I Been Pwnedhttps://haveibeenpwned.com/)。如果您对Azure上的应用程序结构、及其执行方式感兴趣的话,您可以通过https://www.troyhunt.com/how-did-have-i-been-pwned-perform-on/,来查看有关该案例的分析和费用详情。
Google Cloud FunctionsGCFhttps://cloud.google.com/functions/
作为四巨头之一,Google直到2017年才发布了其解决方案。虽然GCF的起步晚于AzureLambda,但是Google2018年奋起直追,它解决了各种早期错误,并在其官网上进行了公示。
IBM Cloud Functionshttps://www.ibm.com/cloud/functions
作为无服务器领域的新手,IBM凭借着一系列具有竞争力的服务打入到了该市场。IBM Cloud FunctionsApache OpenWhisk在其云服务中唯一使用到的托管​​式架构方案。当然,如果您更偏好开源方案的话,那么Apache OpenWhiskhttps://openwhisk.apache.org/https://openwhisk.apache.org/)可能更合适于您。
总的说来,上面提到的各大提供商都能够提供相似的服务,也都能够在托管式架构上运行各种应用。虽然表现形式各有不同,但是它们都能给用户带来FaaS的各种优势。为了帮助您找出最适合于自己提供商,我们将从如下六个方面深入比较它们的服务:
u 定价模型和计费因素
u 支持的编程语言
u 功能函数触发类型
u 每个请求和并发的执行持续时间
u 部署方法
u 监控和记录
主流FaaS提供商的比较
定价模型和计费因素
如前所述,大多数FaaS提供商都使用的是非常划算的按请求付费的定价模型。为了能够计算出某个应用的成本,他们通过各种服务来精准地预测出该应用的潜在费用。例如:Serverlesscalchttp://serverlesscalc.com/)就是一款能够专门用来计算,目标应用在四大无服务器架构提供平台上成本开销的工具,不过它目前仍处于测试阶段。当然,上述各大提供商也有着自己的计算工具:
u AWS Lambda S3计算器(https://calculator.s3.amazonaws.com/index.html
u Azure Functions计算器(https://azure.microsoft.com/en-us/pricing/calculator/
u GCF计算器(https://cloud.google.com/products/calculator/?hl=ru
u IBMCloud Functions 计算器(https://console.bluemix.net/openwhisk/learn/pricinghttps://console.bluemix.net/openwhisk/learn/pricing
大多数提供商的价格体系基本相同,但由于Google对内存与CPU的使用单独计费,因此它是其中最贵的。具体说来:
AWS Lambda提供一种免费套餐,它包括:每月100万个请求和每秒400,000 GB的计算时间(computing time)。而对于超出免费套餐限额的所有请求,均按照0.00001667美元每GB每秒收费,这是市场上的最低价格。在实际操作中,免费套餐完全足够您在开始被计费之前完成自己应用的调试。那些分配给用户的资源(内存和CPU)将被视为一个整体单元进行计费,毕竟它们都是等比例增长的。如果您在自己的Lambda功能函数中使用到了其他的AWS服务,那么就可能会产生额外的费用。
Azure的计费方式与Lambda相同,也提供免费的套餐。不过对于超出部分,它按照0.000016美元每GB每秒收费。可见,Azure平台的重负载成本略低于Lambda,而平均负载则与Lambda相同。不过,Microsoft更希望对内存的使用量进行计费,而不是简单地一次性分配给用户。另外,对于用户可能用到WindowsSQLAzure也提供了较低的价格。
可见,对于上述两个平台的选择,实际上取决于您所使用的环境,而非您所承担的成本。
GCF的免费套餐为:每月200万个请求和每秒400,000 GB的计算时间。而对于超出免费套餐限额的所有请求,均按照0.0000004美元每GB每秒收费,包括网络流量。因此,对于那些运行耗时的功能函数或请求量大的应用来说,Google Cloud Functions的费用明显更高。上面也提到过,GCF会对分配给用户的内存和CPU进行分别计费。
评论
likuo
Spotlight
Spotlight
免费是王道。
bo chen
Spotlight
Spotlight
拓展自己的认知面了
入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接