赞
踩
链接: serverless.
用户群 :开发者
优势 :开发者不需要购置服务器,只需要关注自己所开发的代码,在平台上发布,代码只在运行时收费
无服务serverless:以函数为扩展单位,虚拟化运行时环境(Runtime)。是现有计算资源的最小单位,具有完全自动、一键部署、高度可扩展等特点,是轻量级服务部署非常好的选择。
链接: AWS Lambda官网.
链接: AWS Lambda开发人员指南.
链接: AWS Lambda入门操作指南.
链接: AWS Lambda常见问题.
AWS Lambda 关键产品功能:
用自定义逻辑扩展其他 AWS 服务
AWS Lambda 可使您将自定义逻辑添加到 Amazon S3 存储桶和 Amazon DynamoDB 表之类的 AWS 资源中,从而在数据进入云中或通过云迁移时将计算应用于数据。
AWS Lambda 的入门很简单。首先,您可以通过上传您的代码(或在 Lambda 控制台中适当构建代码)并选择内存、超时时间和 AWS Identity and Access Management (IAM) 角色来创建函数。然后,您可以指定 AWS 资源来触发该函数,资源可以是特定的 particular Amazon S3 存储桶、Amazon DynamoDB 表或 Amazon Kinesis 流。当资源发生改变时,Lambda 将视需要执行您的函数并启动和管理计算资源,从而与传入请求保持联系。
构建自定义后端服务
您可以使用 AWS Lambda 来为您的应用程序创建新的后端服务,这些应用程序使用通过 Amazon API Gateway 构建的 Lambda API 或自定义 API 端点按需触发。通过使用 Lambda 处理自定义事件而不是在客户端上对其提供服务,您可以避免客户端平台变化、减少电池耗尽情况并启用更简单的更新。
自备代码
使用 AWS Lambda,不需要了解任何新语言、工具或框架。您可以使用任何第三方库,甚至是本机库。您还可以将任何代码(框架、软件开发工具包、库等)打包为 Lambda Layer,并在多个函数之间轻松进行管理和共享。Lambda 原生支持 Java、Go、PowerShell、Node.js、C#、Python 和 Ruby 代码,并提供 Runtime API,允许您使用任何其他编程语言来编写函数。
完全自动化的管理
AWS Lambda 管理所有的基础设施,以将您的代码放在可用性高的容错型基础设施上运行,从而使您能够专注于构建有差别后端服务。使用 Lambda,您不必在补丁发布时更新底层操作系统,或随着使用量的增加而为调整大小或添加新服务器担心。AWS Lambda 无缝部署您的代码、执行所有的管理、维护和安全补丁操作,并通过 Amazon CloudWatch 提供内置记录和监控。
内置容错能力
Lambda 具有内置容错能力。AWS Lambda 可在各区域中跨过多个可用区维护计算容量,从而帮助保护您的代码使其免受单个机器或数据中心实施的加粗样式故障。AWS Lambda 及该服务上运行的函数都提供可预测且可靠的运行性能。AWS Lambda 旨在为服务本身及其运行的函数提供高可用性。没有维护时段或计划停机时间。
自动扩展
AWS Lambda 只在需要时调用您的代码,并能自动扩展以支持传入请求的速率,无需您配置任何内容。您的代码可处理的请求数量无限制。AWS Lambda 通常在事件发生后的几毫秒内开始运行您的代码,并且由于 Lambda 可自动扩展,随着事件频率的提高,会一直保持高性能。由于您的代码是无状态的,Lambda 可以在需要时尽可能多地启动实例,而不会发生冗长的部署和配置延迟。
连接到关系数据库
使用 Amazon RDS 代理可充分利用关系数据库的完全托管连接池。RDS 代理可高效地管理与关系数据库的数千个并发数据库连接,使用户能够轻松构建需要与关系数据库进行交互的高度可扩展、安全、基于 Lambda 的无服务器应用程序。当前,RDS 代理提供对 MySQL 和 Aurora 的支持。您可以通过 Amazon RDS 控制台或 AWS Lambda 控制台将 RDS 代理用于无服务器应用程序。
精细的性能控制
预配置并发使您能够更好地控制无服务器应用程序的性能。启用后,预配置并发将使函数保持初始化状态,并准备好以两位数毫秒为单位进行响应。对于使用 AWS Lambda 构建的需要更好地控制函数启动时间的任何应用程序,预配置并发都是理想选择。您可以轻松配置应用程序所需的适当并发量。您可以在需求量高时增加并发量,或在需求减少时降低并发量,或者完全关闭它。无需更改代码即可利用预配置并发。预配置并发是一种有效的方法,可以根据需要在延迟敏感型应用程序中实现一致的性能,而无需管理计算资源。
运行代码以响应 Amazon CloudFront 请求
借助 Lambda@Edge,AWS Lambda 可以在全球的 AWS 站点运行您的代码来响应 Amazon CloudFront 事件,例如发往或来自源服务器和查看器的内容请求。这样更易于以低延迟为您的最终用户分发更加丰富、更加个性化的内容。了解更多 »
编排多个函数
您可以通过使用 AWS Step Functions 构建工作流来协调多个 AWS Lambda 函数,用于复杂或长时间运行的任务。通过 Step Functions,您可以定义使用顺序、并行、分支和错误处理步骤来触发 Lambda 函数集合的工作流。借助 Step Functions 和 Lambda,您可以为应用程序和后端构建有状态、长时间运行的进程。
集成化安全模型
AWS Lambda 可使您的代码通过其内置的 AWS 开发工具包以及与 AWS Identity and Access Management (IAM) 的集成来安全访问其他 AWS 服务。默认情况下,AWS Lambda 在 VPC 中运行您的代码。您还可以选择配置 AWS Lambda 以访问您自己的 VPC 之后的数据,从而利用自定义安全组和网络访问控制列表,向 VPC 中的资源提供对 Lambda 功能的访问权限。
AWS Lambda 符合 SOC、HIPAA、PCI、ISO 的要求。有关 Lambda 认证和合规性就绪性的最新信息,请参阅范围内的全部服务。
链接: Google Cloud Functions入门使用文档.
Google Cloud Functions关键产品功能:
主要功能
简化开发者体验,提高开发速度
Cloud Functions 提供简单直观的开发者体验。您只需编写代码,让 Google Cloud 为您处理运营基础架构。通过编写和运行响应事件的小段代码更快地进行开发。通过触发器连接到 Google Cloud 或第三方云端服务,简化极具挑战性的编排问题。
用多少、付多少
您只需为函数运行的时间付费,计费时间向上舍入至最接近的 0.1 秒。如果您的函数闲置,则不需要支付任何费用。Cloud Functions 函数自动增减运行实例来响应事件。
采用开源技术,避免供应商锁定
使用开源 FaaS(函数即服务)框架,在多种环境中运行函数,避免被锁定至特定供应商。受支持的环境包括 Cloud Functions、本地开发环境、本地环境、Cloud Run、Cloud Run for Anthos 和其他基于 Knative 的服务器环境。
链接: Microsoft Azure官网.
链接: Microsoft Azure Functions无服务器技术文档.
链接: Microsoft Azure Durable Functions无服务器技术文档.
Azure Functions 的一些主要功能包括:
Durable Functions介绍:
IBM Cloud Functions 功能
开放式生态系统
IBM Cloud Functions 提供了对 Apache OpenWhisk 生态系统的访问,在此生态系统中,任何人都可以将其操作代码作为构建块添加到扩展存储库中。
加速并简化开发
IBM Cloud Functions 可加快应用开发,使开发人员能够快速构建应用并执行操作序列来响应由事件驱动的环境。
利用认知服务的优势
IBM Cloud Functions 通过在事件触发器操作工作流程中轻松访问 IBM Watson® API,对工作流程固有的应用数据进行认知分析。
按实际使用量付费
它十分简单:仅为实际使用量(而非预分配的容量)付费。只有在您构造更多大量使用 OpenWhisk 的解决方案时,或者在需要扩展现有解决方案以支持更多负载时,成本才会增加。
链接: 阿里云函数计算官网.
链接: 阿里云函数计算文档.
链接: 阿里云函数计算常见问题.
产品优势
高效免运维
使用函数计算时,用户只需聚焦于业务逻辑的开发,编写最重要的 “核心代码”,不再需要关心服务器购买、负载均衡、自动伸缩等运维操作,极大地降低了服务搭建的复杂性,有效提升开发和迭代的速度。
弹性高可用
函数计算根据请求量自动进行弹性扩容,无需任何手动配置,毫秒级调度计算资源,轻松应对业务洪峰。
预留实例功能彻底消除实例冷启动带来的延时毛刺,提供极致性能,为在线应用迁移至函数计算扫清障碍!
按需低成本
函数计算提供了丰富的计量模式,帮助您在不同场景获得显著成本优势。
后付费模型按实际使用计算资源计费,不占用计算资源则不计费,资源利用率高达 100% ! 预付费模型根据业务负载估算提前预购计算力,单价更低!组合使用后付费和预付费方式将有效降低成本。
稳定高可靠
函数计算分布式集群化部署,支持多可用区。
如果某个可用区因自然灾害或电力故障导致瘫痪,函数计算会迅速切换到同区域其他可用区的基础设施运行函数,确保服务高可用。
链接: 腾讯云 SCF官网.
链接: 腾讯云 SCF文档.
链接: 腾讯云 Serverless —git.
Serverless 虽然是下一代云计算服务形态的趋势,但目前该服务模式并不能完全实现企业复杂的业务系统。其主要有以下几方面的原因:
针对目前行业遇到的问题,腾讯云持续探索研究,并发布了下一代无服务器计算平台:腾讯云 Serverless 2.0。
Serverless 2.0 除了解决以上所述的问题之外,还关注用户从本地开发、代码调试、到业务的持续集成、上线运维等整个软件开发生命周期。围绕 Serverless 产品,腾讯云构建了全面的开发支持、DevOps、运维监控等能力,协助用户可以更好的向 Serverless 架构迁移,使用 Serverless 承载起企业核心业务奠定基石。
腾讯云云函数功能特性
链接: 华为云 函数工作流FunctionGraph 官网.
链接: 华为云 函数工作流FunctionGraph 开发指南.
函数工作流(FunctionGraph)是华为云提供的一款无服务器(Serverless)计算服务,无服务器计算是一种托管服务,服务提供商会实时为用户分配充足的资源,而不需要预留专用的服务器或容量,真正按实际使用付费。华为无服务器计算包含函数和工作流两个功能模块,分别实现函数计算和函数编排的功能。
功能描述:
函数管理
提供控制台管理函数
灵活规格
支持多种语言编写函数,函数内存使用可以有128M-1.5G多种规格
弹性伸缩
根据租户并发请求的多少自动增加和减少函数运行实例
高可用
实例出现问题,系统会自动调度新的函数处理请求
事件触发
支持设置多种触发器来决定函数何时运行
指标和日志
提供调用函数调的监控指标和运行日志采集和展示,方便用户查看函数运行状态
语言 | AWS | Azure | IBM | 阿里云 | 腾讯云 | 华为云 | |
---|---|---|---|---|---|---|---|
Nodejs | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
java | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |
python | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
Ruby | ✔ | ✔ | |||||
Go | ✔ | ✔ | ✔ | ✔ | ✔ | ||
C# | ✔ | ✔ | ✔ | ✔ | |||
PowerShell | ✔ | ✔ | |||||
F# | ✔ | ||||||
JavaScript | ✔ | ✔ | |||||
PHP | ✔ | ✔ | ✔ | ✔ |
类型 | AWS | Azure | IBM | 阿里云 | 腾讯云 | 华为云 | |
---|---|---|---|---|---|---|---|
无状态函数 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
有状态函数 | ✔ |
一个命令即可立即部署功能。没有要构建的容器,也没有要管理的Docker注册表。
有一些 FaaS 相关的开源项目,并不是提供 FaaS 平台运行环境,所以上面没有列出来。
-----持续更新总结
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。