无服务器计算正在风靡企业 但不同的服务如何叠加


无服务器计算是软件架构的新兴趋势 。对于无服务器计算而言 , 2017年是令人兴奋的一年 , 2018年将继续采用 。这里我们来看看无服务器计算的优势并比较无服务器提供商 。
对“无服务器”的流行解释是作为服务(FaaS)的功能 , 开发人员可以上传在无状态计算容器中运行的代码 , 这些容器由各种事件触发 , 是短暂的并且由云平台完全管理 。FaaS消除了管理 , 配置 , 扩展或管理您自己的服务器可用性的需要 。最受欢迎的FaaS产品是AWS Lambda , Microsoft Azure功能和Google Cloud Functions 。(了解有关无服务器计算101中无服务器计算基础知识的更多信息 。)
什么是无服务器的好处?
无服务器计算最常用于以下应用程序:
微服务
移动后端
机器人
机器学习(ML)接口
物联网(IOT)
现代流处理
服务整合
无服务器架构的好处
无服务器是解决诸如时间消耗 , 成本 , 未聚焦编码以及放大或缩小困难等问题的良好解决方案 。无需更新最新的软件包版本或处理服务器停止工作且必须更换时出现的问题 。无服务器简化了部署和打包 , 无需系统管理 。
节省成本是无服务器计算的主要优点之一 。如果您购买的是真实服务器或虚拟服务器 , 即使它处于闲置状态 , 您也需要付费 。使用无服务器时 , 提供商的服务器资产可以在其不为您服务时为其他客户提供服务 。如果您的提供商合理 , 这意味着您只需支付您使用的确切费用 。如果任何进程遇到错误 , 您不必担心 , 因为只有相关容器会关闭 , 其余的Web请求将继续不间断地处理 。
【无服务器计算正在风靡企业 但不同的服务如何叠加】无服务器提供商的比较
在无服务器计算领域 , 目前有三个重要的打击者:AWS Lambda , Azure Functions和Google Cloud Functions 。每个都有自己的特性和功能 , 所以让我们来看看它们各自提供的功能 。
AWS Lambda
AWS Lambda支持Java(Java 8兼容) , C# , JavaScript和Python 。开发人员可以创建一个可以添加到PHP , Go或Ruby项目的包装器 , 它允许在触发时执行代码 。
AWS已将Lambda置于其作为其他云服务的网关的方式 。日志分析 , 图像处理和备份可以通过与S3和Kinesis 集成来执行 , 由这些AWS服务中的活动触发 。DynamoDB集成为在实时生态系统之外执行的操作提供了另一层触发器 。Lambda充当移动 , Web或IoT应用程序的完整后端服务 。它通过Amazon网关接收来自客户端的请求 , 并将这些请求转换为API调用 , 然后将其转换为运行特定功能的预定义触发器 。
Lambda允许开发Lambda框架 。开发人员可以使用由公司和个人创建的开源代码 , 帮助构建和部署事件驱动的功能 。这些框架为开发人员提供了插入代码的模板 , 并带来了与其他Amazon服务的内置集成 。(有关AWS的更多信息 , 请查看您是否在Amazon Web Services上丢失了?)
Azure功能
Microsoft允许函数编码的本地语言 - C#和F# 。开发人员还可以用JavaScript或Python编写函数 。Azure 在其门户中提供门户功能IDE , 可帮助您构建和部署功能 。Azure与Bitbucket和GitHub集成 , 允许简单配置持续集成过程和在云中部署代码 。
Azure Functions支持多种类型的事件触发器 。Cron作业为计划任务启用基于计时器的事件 , 而Microsoft的SaaS服务(例如OneDrive或SharePoint)上的事件可以配置为触发功能中的操作 。用于实时处理数据或文件的常见触发器增加了操作使用Cortana作为信息提供者的无服务器机器人的能力 。
Google Cloud Functions
谷歌是最后一个无人服务的提供商 。它目前的支持有些限制 , 允许只在JavaScript中编写函数 , 并仅在Google的内部事件总线上触发事件:Cloud Pub / Sub 。也支持HTTP触发器 , 作为来自Firebase的移动事件 。
谷歌仍然缺少与存储和其他云服务的一些重要集成 , 这些服务有助于解决与业务相关的触发器 , 但这不是问题部分 。Google将项目限制为少于20个触发器 。
通过Stackdriver日志记录工具启用监控 , 该工具非常方便且易于使用 , 但不提供无服务器用户可能需要的所有信息和指标 。
无服务器定价比较
服务价格与选择服务时的功能一样重要 。这是他们目前的筹码方式 。
AWS Lambda定价
每月100万个免费请求和每月400,000 GB秒的计算时间
每100万请求0.20美元
每GB计算秒数$ 0.00001667 , 每次执行四舍五入到最接近的100ms
Azure功能定价
每月100万个免费请求和每月400,000 GB秒的计算时间
每100万请求0.20美元
每GB计算秒数$ 0.00001667 , 每次执行四舍五入到最接近的100ms
Google云功能定价
每月200万个免费请求和每月400,000 GB秒的计算时间
每100万请求0.40美元
每GB计算秒数$ 0.0000025 , 每次执行四舍五入到最接近的100ms
如您所见 , AWS和Azure具有相同的定价 , 而Google Cloud Function在免费套餐中每月提供的请求数量翻倍 。确定最适合您的计划取决于您计划如何(以及多少)使用它 。
无服务器计算鼓励正确编码 , 并推动其按使用付费模式的有效和快速执行 。组织可以通过减少运行时来降低无服务器服务的月度支付成本 。能够减少函数运行时并编写最小的独立代码片段的开发人员将能够更好地利用无服务器计算并显着降低组织成本 。
无服务器成本计算器允许根据预计的执行次数和平均执行时间来估算成本 , 并且可以通过清楚地显示潜在的节省来帮助想要在其组织中引入无服务器的开发人员 。

    推荐阅读