量子位|一文看懂Serverless:AWS阿里云腾讯云都发力“无服务器架构”( 三 )


AWSLambda的优势可以简单总结为:
成熟度高:第一个在主流公有云平台上的ServerlessFaaS平台 , 已经有数年的发展和沉淀
用户基数大:AWSLambda有较大的用户基数 , 参考案例很多
活跃的社区:目前开源社区有很多围绕AWSLambda展开的开源项目
AWS的整合:AWSLambda天然和AWS平台上的服务有良好集成
紧随其后 , MicrosoftAzure也在2016年推出了事件驱动的函数式云计算服务AzureFunctions 。
其支持用户以多种语言进行函数开发 , 包括Java、Node.js、PHP、C#、F#、Bash及MicrosoftWindows的PowerShell脚本等 。
此外 , AzureFunctions除了提供公有云的版本之外 , 还提供私有化(On-premises)部署的版本AzureFunctionsRuntime 。
产品功能也是可圈可点:
完整性:AzureFunctions是一个功能比较完备的ServerlessFaaS平台
整合:AzureFunctions天然与Azure云平台上各类服务有良好的集成
平台:对于使用微软体系产品和工具构建IT能力的企业而言 , AzureFunctions是Serverless转型的首选平台
私有化:提供带有商业支持的私有化部署版本 , 可满足不同层面的用户的需求
同样是在2016年 , GoogleCloudPlatform推出了GoogleCloudFunctions平台 , 也同时加入Serverless领域的竞争序列 。
同为FaaS平台 , GoogleCloudFunctions与AWSLambda和MicrosoftAzure在功能上最大的区别有啥?
细数以后 , 可能在于GoogleCloudFunctions目前仅支持JavaScript作为函数开发语言 , 运行环境为Node.js 。
2018年7月 , Google又顺势公布了开源项目Knative , 定位为Kubernetes的Serverless插件 , 推出后得到了Pivotal、IBM以及RedHat的大力支持 。
国外争先恐后 , 国内也是蜂拥而至 。 阿里云作为国内第一批推出Serverless平台的公有云厂商 , 其FaaS平台产品被称为阿里云函数计算 。
如果从事件触发、支持语言以及用户体验等方面考量 , 该产品也有很多数据值得关注:
事件触发:阿里云函数计算可以被阿里云上的服务事件触发 , 例如阿里云对象存储(OSS)
支持语言:阿里云函数计算目前支持的开发语言为Node.js , 并计划后续将支持Java及Python
整个函数代码的部署包大小不能超过50MB , 部署包解压后的代码不能超过250MB
用户体验:阿里云函数计算提供了基于Web的控制台和SDK;用户可以通过Web控制台管理函数应用 , 也可以通过交互式的命令行来操作
服务规格:一个服务下最多包含50个函数和10个触发器 。 在运行时 , 函数最长的运行时间为300s , 即5min , 一个函数的最大并发数为100
同为国内云计算竞争的翘楚 , 无服务器云函数(ServerlessCloudFunction , SCF)是腾讯云推出的函数式计算平台 , 根据官方的资料 , 其发布时间是2017年4月26日 。
量子位|一文看懂Serverless:AWS阿里云腾讯云都发力“无服务器架构”
文章图片
总结下腾讯云Serverless平台的特点:
函数运行时:腾讯云SCF目前支持Python、Java及Node.js作为函数的开发语言
用户可以以压缩包的形式从本地上传代码 , 也可以引用腾讯云对象存储中的代码文件
事件触发:目前腾讯云SCF支持的事件触发源有腾讯云对象存储COS、定时器、腾讯云消息服务CMQ , 以及用户手动通过API及控制台触发
服务规格:每个函数将在一个基于CentOSLinux的环境中被执行 。 函数执行的内存范围为128MB至1536MB , 单个区域支持的最大函数定义数量为20个 , 函数执行的最大时长为300秒 , 最大的并发数为5
以上我们探讨的基本是大型公有云服务商针对Serverless的技术实践 。
其实与公有云相比 , 在私有环境中构建Serverless平台 , 在技术上并没有什么太多障碍 , 自然也有不少领先的技术尝试 , 对于此我们会专门成文详细探讨 。