<返回首页
用户访谈丨腾讯的OpenStack实践与创新 发布时间:

2017年7月24日~25日,2017 OpenStack Days China官方盛典就将在北京国家会议中心盛大召开。在本次盛会召开前夕,CSDN有幸采访到了腾讯技术工程事业群企业IT部总经理刘若潇。刘若潇目前主要负责腾讯内部IT平台环境规划及运营管理,对于腾讯内部IT环境选择、部署和应用OpenStack都如数家珍,较为详细地介绍了腾讯内部TStack的实际部署与运营情况。

为什么是OpenStack?

腾讯在云计算领域的起步较早,可以说是国内云计算领域早期的拓荒者之一。早在2013年,腾讯就已经开始搭建自己的TStack私有云环境,目的是为了向企业内部IT环境提供云计算资源,缩短交付时间,提升交付效率,提高资源利用率。

腾讯技术工程事业群企业IT部总经理刘若潇

据刘若潇介绍,目前,腾讯内部TStack采用OpenStack作为底层的基础架构,通过二次开发,深度定制,形成了基础云,监控云和自助云三大产品。目前平台超过了10000 OS,上线4年时间,可用率超过99.99%,部署在4个区域、7个机房、14个集群,承载着腾讯内部的办公系统,认证系统,微信网关等线上业务,以及大部分的开发测试业务。

但实际上,腾讯内部的TStack早期并没有使用OpenStack作为基础云平台,因为那时OpenStack还在发展阶段,成熟度和完善性都有待提高。直到2014年,OpenStack发展迅速,并且形成了良好的生态标准,来自全球十多个国家的几十家领军企业都已经参与到了OpenStack的项目中,OpenStack在全球不断落地上线,无形中,OpenStack已经成为了一个云计算行业事实上的标准。因此,经过腾讯内部运营团队详细的调研和测试,综合评估之后,决定采用OpenStack作为TStack的基础方向。不可否认的是,相比早期自建的云平台,开源的OpenStack在产品功能的完善度,架构设计的优越性,新功能开发的工作量方面,都要比原来的平台更具有优势,这无疑是因为汇聚了社区工作智慧的结果。

腾讯内部基础架构的演进

如上文所述,腾讯并不是一开始就使用OpenStack作为其内部基础架构的。从2009年开始,腾讯主要使用Xen虚拟化技术,为企业内部提供虚拟化的资源交付,提高服务器的资源利用率,由于当时都是基于手工编写配置文件,启动虚拟机,缺乏统一管理,因此,效率低下,容易出错,系统运维也十分困难。

为了解决上述问题,从2013年开始,腾讯就开始着手搭建内部的TStack平台,经过一年多的开发测试,到2014年05月23日,腾讯内部TStack正式上线,包括基础云,监控云,自助云三个组件。早期基于Xen也二次开发了TStack1.0、2.0平台。而到了2014年,腾讯决定采用OpenStack作为TStack的基础方向,同时采用KVM作为虚拟化技术。

从2015开始,腾讯TStack全面转入OpenStack的方向,除了新建的Region,原有存量的Xen机器都需要迁移到新的TStack平台。而在实际的迁移过程中,从Xen云平台切换到TStack平台对腾讯内部来说异常艰巨,原有平台如何纳管到新的TStack平台中,并对原有平台服务完全无中断,这是一个非常棘手的问题,也是一个巨大挑战。 经过团队2个季度的不懈努力,终于将原有平台6000多个OS无缝对接到TStack平台,完成了平台的统一管理,再加上新增量,整个平台纳管了10000+OS。

OpenStack的应用之道

不过,腾讯对开源软件的使用,绝不是拿来就用的,刘若潇表示,腾讯在使用开源软件之前,都会在前期做大量的调研和测试工作,以确保在使用过程中,能够对开源软件做到完全把控。用直白一点的话来说,就是如果出了问题,会知道问题出在哪里,并且有能力解决。腾讯对OpenStack的使用也是如此,因此, 腾讯结合自身内部业务特性,在OpenStack基础上做了大量的优化:

1. 支持虚拟机、容器和裸机管理。容器管理底层用的是内部自研的飞象系统(K8S+Docker), 并集成Sriov 、Numa技术来为大型应用保驾护航,同时使用Ceph作为镜像、虚拟机、云硬盘的后端存储;

2. 开发了Nova在线资源限制技术,为保障平台的稳定性,需要对虚拟机进行资源限制, OpenStack原生是利用Flavor来实现,由于和Flavor绑定,无法针对虚拟机来进行限速策略,不符合内部业务需求, 因此腾讯开发了在线虚拟机资源限制技术, 在系统高峰时期启用限速策略,非高峰时期解除,从而使得中间业务不中断,实时生效;

3. 定制基于业务类型的虚拟机调度策略,根据业务类型,将虚拟机调度的到不同宿主机,实现高可用;

4. 自动化容灾设计,为了避免业务监控的不准确,采用计算节点分布式心跳,从业务网,管理网,带外网等进行多维度监控,故障出现自动迁移,无需人工干预;

5. 虚拟机迁移植入动态自适应压缩迁移技术,节省了带宽,迁移时间平均缩短50%;