腾讯云无服务器云函数架构精解

腾讯云无服务器云函数架构精解

ID:18871924

大小:136.01 KB

页数:9页

时间:2018-09-26

腾讯云无服务器云函数架构精解_第1页
腾讯云无服务器云函数架构精解_第2页
腾讯云无服务器云函数架构精解_第3页
腾讯云无服务器云函数架构精解_第4页
腾讯云无服务器云函数架构精解_第5页
资源描述:

《腾讯云无服务器云函数架构精解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、腾讯云无服务器云函数架构精解继虚拟机,容器技术,无服务器化成为新的行业热点,无服务器云函数可以让用户无需关心服务器的部署运营,只需开发最核心的业务逻辑,即可实现上线运营,具备分布容灾能力,可依据负载自动扩缩容,按照实际调用次数与时长计费。本次主要分享腾讯云无服务器云函数在技术实现上的挑战及架构实现原理。主要从以下四个方面来分享一下无服务器云函数:·云函数的价值及使用场景·云函数架构原理·云函数关键技术点·云函数行业进展趋势无服务器云函数(ServerlessCloudFunction)是腾讯云提供的无服务器(serverless)执行环境,帮助用户

2、在没有购买和管理服务器时仍能运行代码。用户只需要使用云平台支持的语言编写核心代码及设置代码运行的条件,代码即可在腾讯云基础设施上弹性、安全地运行,并可完全管理底层计算资源,包括服务器CPU、内存、网络、代码部署、弹性伸缩、负载均衡等服务。使用无服务器云函数将可免除所有运维性操作,企业和开发者可以更加专注于核心业务的开发,实现快速上线和迭代,把握业务发展的节奏。一、云函数的价值及使用场景随着云计算服务市场的成熟,用户对云计算接受程度逐渐提高,借助各类基础云组件,将业务上线时间从月级缩短到天级,但对比传统模式,用户仍需基于云组件重构非功能性需求。云函数

3、尝试将业务算法和流程提炼出来交由用户实现,打通各种云服务,并实现通用的负载均衡、自动伸缩、故障容灾、安全监管等通用功能,真正使得用户像搭积木一样打造个性化服务,将业务上线时间从天级缩短到分钟级。相比云主机,云函数更适合于支持微服务架构业务场景。以图片多规格压缩服务为例,该服务在用户上传图片至COS时,自动将原始图片压缩成适配手机、平板、电脑等多种大小的规格。如利用云函数实现该服务,用户只需创建函数,定义函数触发条件为“图片上传”,在线编辑或使用IDE完成代码编写后上传,服务即构建完成。用户上传图片时,自动调用定义的函数完成图片的多规格压缩,云函数平

4、台根据上传并发量自动扩缩容函数实例,并最终按照实际调用消耗计费。从该示例可以看出,云函数为用户带来的主要价值为:·加快用户服务上线时间,用户只需实现业务算法及流程,上线时间缩短为分钟级;·减少用户的运营负担,用户无须承担服务扩容,故障恢复运维工作;·消除用户的资源成本,用户无需承担资源闲置费用,只为实际调用消耗付费二、云函数架构原理云函数平台整体架构原理如图所示。云函数为用户提供SDK/WEBUI两种使用方式,并通过事件注册与回调机制与其它云组件打通,提供标准的API接口;调用分发根据函数所属的区域,用户,名字,版本号,鉴权等信息申请函数实例,并将

5、调用均匀的分发到可用函数实例;函数管理负责创建/修改/删除函数,并提供函数代码管理,版本管理等功能;函数调度根据函数资源需求选择合适的位置创建/销毁函数实例;函数实例部署用户定义的函数,负责函数的执行及监管。从云函数的定位及架构原理看,衡量云函数平台的关键技术指标可概括为:·不仅支持业务快速上线,且能实现持续发展;·不仅支持业务按需取用,且能释放闲置资源;·不仅支持业务永不中断,且能扩展运行范围;·不仅支持业务自由运行,且能避免干扰入侵;下文将展开详述。三、支持业务快速上线,且能实现持续发展支持业务分钟级上线,需要尽可能的减少用户研发工作量,云函数

6、用户仅需提供简单的函数配置及代码即可完成上线。以图片压缩为例,用户自行编辑python代码如下,即可实现一个图片压缩服务:其中第1行引入依赖库,第4~9行解析输入参数,第11行调用库完成图片压缩,12~15行判断结果及返回。用户可在线完成代码的编辑并提交,也可像开发本地程序一样使用喜欢的IDE编辑,调试通过后打成zip包通过SDK提交,提交成功服务即上线。支持业务可持续发展,需提供用户函数平滑升级及版本变更能力,当用户更新函数代码或配置后,新调用请求被分发至新函数实例,原调用请求执行完成后,旧函数实例自动消亡,服务在客户不感知情况下平滑更新。即将支

7、持用户函数多版本管理,将函数别名映射至用户指定版本,在客户不感知情况下实现多版本间平滑切换。函数运行过程中间,用户打印日志,标准输出/错误输出日志分类上传至腾讯云日志服务平台,用户可实时监控函数运行情况。四、支持业务按需取用,且能释放闲置资源要支持云函数真正按需取用,需实现用户第一次调用时延迟分配资源,函数调用过程如下图所示:云函数平台在调用分发时,会判断是否有函数实例存在,如若不存在,则实时启动实例,实例启动完成后,才开始执行函数调用。为了达到第一次调用足够快的目标,在调用过程中需分阶段逐层优化:·分发调用阶段:需减少调用分发层级,比如对于用户主

8、动发起的http同步调用,正常路径可免去存入持久化队列过程;·镜像及代码下载阶段:需尽量预部署以减少下载时间,比如对新提交

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。