前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TCS 弹性计算平台:像工匠一样耕耘云计算

TCS 弹性计算平台:像工匠一样耕耘云计算

原创
作者头像
腾讯架构师
修改2017-11-14 11:09:40
3.6K0
修改2017-11-14 11:09:40
举报

序言

2016年腾讯架构平台部相继推出了两朵云 -- 云存储和云接入,在公司内外打造了良好的口碑同时,资源量也得到了增加,依托于部门海量的存储资源,建设了TCS(Tencent ComputeServices)-弹性计算平台。截至目前,弹性平台运营的计算力,服务了公司图片压缩、视频转码、离线计算和AI计算等多个计算场景,前不久平台服务的AI 绝艺围棋获得了第十届UEC比赛的冠军。平台强大的计算并非直购设备堆积,而是未增加任何预算成本,默默挖矿耕耘,不断优化逻辑细节所得。

平台演变

2012年图片上传下载量剧增,为扛住海量图片压缩,平台快速上线直接混部策略,存储和压缩同机部署,虽然服务了业务的增长,但运营困难,资源抢占的问题日显,给运维带来了繁巨的工作量,为解决资源抢占等问题,平台启动重构,取消直接混部,改用KVM虚拟机,平台维护虚拟机生命周期,截至2016年,虽稳定服务了图片压缩、视频转码,但资源静态不可弹性调度,利用率低。2016年被AI引爆,大数据计算更是指数级增长,虚拟机的静态资源策略已不适用,需要一个弹性可调度平台盘活部门整体和公司闲置资源的计算力,TCS-弹性计算平台应运而生。

整体设计

弹性平台对外提供名字化服务供用户接入,并在服务中集成了负载均衡、容灾逻辑,用户无需自主设计架构,即可享受到集群化服务。针对某些已有管理系统的业务,平台也提供了资源租赁策略,用户无需改动,便可快速接入。 平台借助docker技术,并解决了负载的监控调度、资源的弹性伸缩和分布式镜像管理等方面的问题。

3.1.监控调度:秒级反馈,预先调度

1)CPU监控:打造自主的CPI(Cycles PerInstruction)监控指标,结合定制化内核cpu优先级策略,当高优先级的容器cpu指令延时增加,自动调节低优先级容器的cpu-quota值,保障业务服务正常。若低优先级的quota值低于阈值,会触发母机替换,高优先级容器可全占母机。 2)内存:pressure_level预先调度和优先级oom兜底;借助内核pressure_level技术,当pressure_level event触发,依据容器的优先级,调度低优先级容器到其他母机,若出现调度不及时触发oom,则会按照cgroup对oom优先级配置,将低优先级的容器快速回收,释放内存;然后低优先级容器会被调度到其他容器,继续服务。 3)IO监控:引入tlinux 内核的buffer-io限速方案,对每个上架的容器配置带宽限制,xfs quota限制配额。

3.2.弹性伸缩:水平伸缩和垂直伸缩

1)水平伸缩:基于业务负载状况,业务低峰期自动缩减容器量,高峰期自动扩容,业务上削峰填谷,资源所见即所得,维持资源高使用率的同时,也缓解了业务突发运维扩容的压力。 2)垂直伸缩:针对有状态的逻辑,每次的水平伸缩都会打乱原路由表,甚至会导致并发写脏数据的问题,平台使用单机资源垂直伸缩方案,在维护原路由信息的前提下,对单机资源做加减容器操作,盘活不可伸缩的母机低峰期的计算资源。

3.3.镜像服务:镜像和配置分离

1)镜像分发:借助部门的cos云存储平台搭建的分布式镜像服务,实现了标准镜像预先分发,资源服务秒级上线。 2)配置隔离:一个镜像,多套配置,配置变更不会变动镜像,尽可能的减少对业务影响

价值依归

4.1.服务场景

平台当前服务多个业务,根据业务场景和计算的实时性划分了3种类型,每种类型都有相应的模型,作为监控调度、资源抢占的服务基础。

弹性平台优先保证在线服务型和在线计算型业务,尤其在节假日高峰期,平台会自动腾挪离线类型业务资源服务用户请求;针对离线计算业务,平台采用核时量化,实时水平和垂直伸缩业务计算力,资源上互补在线型业务。

4.2.CPU提升

基于弹性伸缩的功能,平台维持资源使用率稳定的前提下,资源量可随着请求变化波动,摒弃了资源量恒定状态中,资源使用率随请求波峰波谷波动的使用方式;后者的资源量因业务峰值而定,使用率较前者低许多。当前平台整体cpu均值使用率(全天24小时求平均)36%,相比去年提升显著。

展望

TCS-弹性计算平台2017年底将全面服务AI计算、游戏类场景模拟等新兴的计算需求,资源调度可定制化,持续提升cpu使用率,并且以弹性平台为基础,搭建TCS-云函数计算平台、FPGA函数计算,在云计算领域继续挖矿耕耘。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 序言
  • 平台演变
  • 整体设计
    • 3.1.监控调度:秒级反馈,预先调度
      • 3.2.弹性伸缩:水平伸缩和垂直伸缩
        • 3.3.镜像服务:镜像和配置分离
        • 价值依归
          • 4.1.服务场景
            • 4.2.CPU提升
            • 展望
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档