专栏首页Tencent Serverless 官方专栏云函数如何做到 1 分钟创建 6000 台云服务器?

云函数如何做到 1 分钟创建 6000 台云服务器?

云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助用户在无需购买和管理服务器的情况下运行代码。而随着方便快捷的云原生服务愈发受人青睐,业务量与日俱增,作为提供云函数SCF底层支持的云服务器,也承受着越来越大的压力。鲜为人知的是,承担云服务器创建任务的,是CBS云硬盘快照服务。当云函数SCF团队需要业务扩容或版本变更,云服务器创建并发量会增长为平常业务系统的数十倍。

通过不断优化服务,在云函数SCF业务高峰期,云硬盘快照系统扛住了1分钟内并发创建6000台云服务器的压力。 那么,云硬盘快照是如何做到的?

由于CVM云服务器和CBS云硬盘在弹性扩容、资源管理工作中便捷性突出,云函数SCF团队逐步使用CVM云服务器和CBS云硬盘搭建底层系统。当云函数SCF云函数需要发布新版本时,会使用新版本的系统镜像批量创建云服务器,逐步替换旧版本镜像云服务器。云硬盘团队和云函数SCF团队反复协商沟通,在不影响现网其他用户的正常业务,初步的整体目标为:1分钟内并发创建6000台CVM,且服务器启动后IO延时抖动稳定。

当说到云服务器创建,就不得不提CBS云硬盘快照服务,它是云硬盘某个时刻的数据备份。用户可以使用快照记录云硬盘不同时刻的数据,用于满足系统恢复、容灾以及云硬盘复制等需要。

那么,云硬盘的备份,和云服务器创建有什么关系?

别急,我们先为大家介绍下云服务器创建的两种方式,即通过镜像下载或云硬盘快照回滚创建。

1

云服务器创建方式对比

镜像下载:通过宿主机下载完整镜像文件并写入CBS云硬盘后,才能启动云服务器。

云硬盘快照回滚创建:先将镜像文件以快照数据的形式存储,当需要创建CVM云服务器时,利用云硬盘快照系统的秒级回滚能力,将镜像文件批量回滚至指定的CBS云硬盘。

它们之间的对比如下表所示,利用快照回滚创建云服务器,拥有很多传统创建方案不具备的能力:

2

云硬盘快照回滚创建云服务器

通过快照回滚创建云服务器,具备秒级并发创建,不占用宿主机资源等特点,整体的流程如下:

1.镜像数据存储于cos对象存储中:创建云服务器时,云硬盘快照系统将镜像数据从COS拷贝至目标云硬盘上,数据传输不经过宿主机。

2.云服务器启动只需访问一小部分数据:云硬盘快照系统优先拷贝关键数据,用户启动云服务器后,后台异步完成剩余数据拷贝工作。CBS存储系统对用户IO和云硬盘快照系统IO做了隔离处理,分配固定带宽用于云硬盘快照系统的写入,整体流程对用户的云硬盘性能无影响。 

云硬盘快照系统优先搬迁关键数据,让用户在数秒内启动云服务器正常访问,那么,如果用户启动云服务器后,访问了未完成拷贝的数据,数据访问是不是就会失败? 

其实,由于云硬盘快照系统具备优先拷贝关键数据的能力,正常情况下,云硬盘快照系统会按磁盘扇区位置顺序拷贝数据。若一旦用户访问了未完成拷贝的数据,会触发云硬盘快照系统的优先拷贝机制,优先拷贝用户需要访问的数据。

图一. 快照回滚创建服务器图示

示意图说明:

①当用户需要访问待拷贝数据块,宿主机通知云硬盘快照系统优先从COS对象存储搬迁指定数据 ②云硬盘快照系统将数据写入CBS云硬盘中 ③快照系统返回写入成功信息 ④宿主机下发读请求IO正常访问云硬盘数据。

回到云函数SCF团队的业务需求,1分钟创建6000台云服务器,启动后IO无卡顿,其实对于云硬盘快照系统还是一个非常大的挑战。 云硬盘快照系统主要由三个模块组成:管理节点manager,调度器scheduler,数据传输模块transfer。管理节点manager负责快照任务管理,调度器scheduler负责任务调度,下发具体的拷贝任务。数据传输模块transfer则具体执行拷贝任务。 当用户发起创建云硬盘服务器请求时,manager模块接收请求,委托任务给schuduler,指定镜像文件回滚至目标云硬盘上。schuduler下发具体拷贝任务,让transfer模块从COS将数据块拷贝写入至目标云硬盘。

图二. 云硬盘快照系统架构图示

挑战一

拷贝数据耗时长

高并发量下,如果所有镜像数据都从COS对象存储系统拉取,对COS的读压力会非常大,触发COS的Qos流控,且用户访问云硬盘数据IO延时高。解决方案 :搬迁节点transfer,增加本地cache。

由于云函数SCF批量创建云服务器使用同一个镜像,在每个搬迁节点transfer中都缓存镜像的部分数据块,一旦命中transfer的cache就不再从COS下载数据,这样每个transfer只需下载一次镜像。

图三. transfer增加本地cache图示

挑战二

系统QPS能力低

1分钟创建6000台子机,对快照系统的QPS能力要求达数十万。随着业务量上升,快照系统整体架构需具备横向扩展提升QPS的能力。解决方案 :调度器scheduler支持水平扩展。

在快照回滚创建云服务器过程中,核心处理逻辑在调度器scheduler,无论是顺序拷贝的调度,还是优先拷贝请求都要经过scheduler, 所以scheduler的负载直接影响到整个云硬盘快照系统的性能。scheduler单机性能有限,无法满足并发量要求。开发团队将scheduler由主从配置升级为水平扩展,并且整体架构均做了适配,使其不再成为性能瓶颈。

图四. scheduler水平扩展图示

挑战三

单仓库读写能力有限

如果大量的云硬盘落在同一个存储仓库,则会造成单仓库写入流量过大,触发单仓库回滚带宽限制。解决方案 :增加云硬盘仓库调度系统。

在批量购买云硬盘时,从仓库的剩余容量、已创建的云硬盘数、回滚带宽、仓库当前用户IO写入带宽四个纬度综合考量,把同一批次创建的CBS云硬盘尽量打散到多个,满足6000台云服务器并发创建的需求。

通过上述方案,云硬盘快照完成了 1 分钟 6000 台云服务器创建任务,IO 延时降低 95.6%,COS 读带宽降低 89%,为使用云函数 SCF 的企业和开发者带来服务升级。

  • Get 同款云函数 SCF 服务:

     https://cloud.tencent.com/product/scf

  • Get 同款云硬盘快照服务:https://cloud.tencent.com/document/product/362/5754

本文分享自微信公众号 - ServerlessCloudNative(ServerlessGo)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 6月份,腾讯云云函数更新了这些功能

    为了更好的改善用户开发,调试和使用云函数的体验,解决客户从开发,部署到运维流程中的痛点问题,6月份,腾讯云云函数产品发布了如下新特性:

    腾讯云serverless团队
  • NGW,前端新技术赛场:Serverless SSR 技术内幕

    一、前言 最近 Serverless 又火了,有不少业务上云实装了 Serverless 云函数,取得了不错的落地效果,业界也在不断探索 Serverless...

    腾讯云serverless团队
  • 支持函数本地部署调试 SCF命令行工具开源上线!

    SCF CLI 是腾讯云无服务器云函数 SCF(Serverless Cloud Function)产品的命令行工具。通过SCF命令行工具,用户可以方便的实现函...

    腾讯云serverless团队
  • 新的开源编码器XVC,AV1和HEVC之外的另外选项?

    简介: 视频数据是目前互联网流量中最大的一部分,占用的带宽比重较大。而通常在视频流媒体应用中,播放端可以达到的最高质量水平与可用带宽直接相关,因此高效的视频编码...

    用户1324186
  • 【编译】VMware收购人工智能创业公司Apteligent

    数据猿导读 VMware透露,作为上个月对Wavefront收购之后的补充收购计划,收购Apteligent将帮助其加强对跨云环境和应用程序的度量监控。 ? 编...

    数据猿
  • Elasticsearch 一键安装含中文分词

    本文节选择电子书《Netkiller Database 手札》 24.1. 安装 Elasticsearch 使用 Netkiller OSCM 一键安装 El...

    netkiller old
  • 区块链革命中你必须要了解的事实

    在当前世界环境下,科学技术正在以一种从未有过的速度发展,并且引发了一波又一波科技浪潮。当今世界整个世界的运作可以说每时每刻都在进行的各种资本交易,这些交易不仅影...

    KX_WEN
  • 学到了,学到了导入模块还能这么操作

    你想给某个已存在模块中的函数添加装饰器。不过,前提是这个模块已经被导入并 且被使用过。

    Python知识大全
  • 那些关于区块链革命的事情

    当今世界的科学技术正在以一种令人瞠目结舌的速度发展,并引发了一波又一波科技浪潮。整个世界的运作可以说依赖于每时每刻都在进行的各种交易,这些交易又影响着企业,...

    飞翔的猪脚粉
  • 区块链推动支付革命

    【幽灵说】最近在网上见到很多关于比特币的消息,一会大涨一会暴跌,有的国家鼓励有的国家禁止,比特币吸引了大量的目光。咱们介绍芯片存储器行情那期节目时曾说过,比特币...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券