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

序言

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函数计算,在云计算领域继续挖矿耕耘。

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

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯云数据库(TencentDB)

Redis数据库云端最佳技术实践

邹鹏,腾讯高级工程师,腾讯云数据库Redis负责人,多年数据库、网络安全研发经验。在网络、计算、存储、安全等领域有深入的研究和丰富的产品化经验。 在Redis、...

2058
来自专栏灯塔大数据

干货|管理大数据存储的十大技巧

在1990年,每一台应用服务器都倾向拥有直连式系统(DAS)。SAN的构建则是为了更大的规模和更高的效率提供共享的池存储。Hadoop已经逆转了这一趋势回归DA...

2886
来自专栏Java Web

线程和进程基础——翻译文

前言 所有的内容均来自:http://www.qnx.com/developers/docs/6.4.1/neutrino/getting_started/s...

2965
来自专栏华章科技

国外、国内Hadoop的应用现状

摘要:Hadoop是一个开源的高效云计算基础架构平台,其不仅仅在云计算领域用途广泛,还可以支撑搜索引擎服务,作为搜索引擎底层的基础架构系统,同时在海量数据处理、...

742
来自专栏大数据和云计算技术

mesa介绍:google 近实时数据仓库系统

Google最近发表了一篇有关大数据系统的论文,讨论了一个名为Mesa的数据仓库系统,它能处理近实时数据,即使在整个数据中心断线后还能正常工作。 Mesa是一个...

3137
来自专栏Java技术

Redis 深度历险:核心原理与应用实践!

Redis 是如今互联网技术架构中,使用最广泛的缓存。支持复杂的数据结构,支持持久化,支持主从集群,支持高可用,支持较大的value存储...

1661
来自专栏钱塘大数据

大数据技术人员必备工具包,为工作提质增效

本文作者:秦陇纪 ? 本文简介:数据科学家的常用工具与基本思路,数据分析师和数据科学家使用的工具综合概述,包括开源的技术平台相关工具、挖掘分析处理工具、其它常见...

3695
来自专栏PPV课数据科学社区

【学习】Hadoop大数据学习线路图

入门知识 对于我们新手入门学习hadoop的朋友来说,首先了解一下云计算和云计算技术是有必要的。下面先是介绍云计算和云计算技术的: 云计算,是...

2936
来自专栏大闲人柴毛毛

高质量编程的金玉良言——单一职责原则

“单一职责原则”的官方定义: 就一个类而言,应该仅有一个引起它变化的原因。 大白话讲: 在设计类的时候,应该要让每一个类仅有一个职责,每一个类只做一类事情,这就...

3409
来自专栏SDNLAB

虚拟网络中可视性平面提高性能和安全性

软件定义网络(SDN)和网络功能虚拟化(NFV)可以带来很多好处,但增加网络抽象层是有代价的:对物理层链路的流量的可视性。 同时,越来越快的网络也加剧了这一挑战...

3115

扫码关注云+社区