2017 Openstack Days China | 腾讯的Openstack实践与创新

本文转载自CSDN

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

为什么是OpenStack?

腾讯在云计算领域的起步较早,可以说是国内云计算领域早期的拓荒者之一。早在2013年,我们就已经开始搭建自己的TStack私有云环境,目的是为了向企业内部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%;

6. Ceph底层开启压缩存储,对象存储性能平均提升43%,日志存储性能提升110%,此特性比社区早一年推出,功能更强大;

7. 网络方面深度定制Neutron,利用自研的SDN控件同时纳管多个厂商的SDN控制器;

8. 云主机弹性伸缩, 通过应用与数据分离和集群化部署,实现系统快速扩容、处理能力灵活水平线性扩展、故障自动隔离;

9. 应用部署, 整合蓝鲸平台实现代码发布,线上部署,自动完成;

10. 无缝对接腾讯公有云,可以同时享受公有云和TStack的优点,达到安全、省钱和灵活的目的,公有云服务的引进也让TStack产品族变得更加完善和成熟。

腾讯对OpenStack的创新

腾讯是一个非常注重创新的公司,因此,在OpenStack使用方面,在保证业务稳定的前提下,我们对OpenStack也进行了技术创新,从而达到了提高效率,完善产品的目的。在OpenStack方面的创新主要集中在以下几个方面:

1. 异构平台的管理技术,将大量存量Xen虚拟机,完全无中断地纳管到TStack平台;

2. Nova在线资源限制技术;

3. 根据业务类型定制基于业务类型的虚拟机调度策略;

4. 自动化容灾设计;

5. 虚拟机迁移植入动态自适应压缩迁移技术;

6. Ceph底层开启压缩存储。

同时,为了保障服务的高可用性,我们也从多个方面对OpenStack进行了设计和考虑。首先,在OpenStack服务上,腾讯社区和其他主流系统采用了高可用方式,使用Keepalived+Haproxy的高可用方案,从而达到了稳定可靠,消除了单点故障;其次,由于云环境网络较为复杂,为了对节点进行精确监控,我们开发了计算节点分布式心跳,从业务网,管理网,带外网等进行多维度监控,故障出现能够实现自动迁移,无需人工干预;最后,为了实现虚拟机层面的高可用,采用了高可用调度,避免将项目业务的虚拟机调度在同一宿主机上,实现了业务高可用。

OpenStack应用的未来之路

腾讯对OpenStack的创新为OpenStack的发展贡献了力量,而反过来,OpenStack的应用也为腾讯带来了显而易见的好处。首先,依赖于OpenStack的功能的完备性,我们在进行架构选型和二次开发时,相比以前减少了很多工作量,因此,可以将更多的精力专注到PaaS和SaaS上。其次,通过TStack统一的管理能力,我们将物理机,Xen虚拟机,KVM虚拟机等统一管理了起来,进行资源调度和分配,因此,服务器利用率得到了提升,IT成本也得到了显著的下降,服务器成本节省了30%,运维管理成本下降了55%。

而OpenStack为腾讯带来的诸多益处,也为腾讯继续优化应用OpenStack坚定了信心,铺平了道路,公司未来将会在以下几个方面进一步加强对OpenStack的支持:

1.内部TStack除了应对业务增长的需求,还会从今年开始,加大对社区的投入,将TStack运营的一些经验分享到社区,同时加大对开源的投入,共同促进OpenStack生态的发展。

2. OpenStack在企业应用过程中的运行维护能力是个普遍的问题,强大的技术平台需要具备同样强大的运维能力才能发挥出更大的作用,所以我们未来也会投入更大的精力在建设运维管理平台和工具方面,总结腾讯在TStack运营方面的最佳实践,并将这些经验开放共享,从而让国内更多的企业能够更好的基于OpenStack应用和管理云。

3. 未来TStack将会深度整合腾讯云的CMEM、CDB、CDN、消息队列,负载均衡等多种基础服务,客户可以通过简单的API或界面即可访问这些基础服务。

4. 未来TStack也将与合作伙伴展开更深度的合作,旨在构建开放、融合的云计算生态,降低用户上云成本。

5. 我们将致力于云计算市场,利用自研强大的公有云、专有云平台,结合基于OpenStack研发的TStack私有云平台,构建完整的混合云服务生态,服务于全球市场,希望与OpenStack同发展,共成长,为繁荣OpenStack生态、推动OpenStack的技术发展与海量业务支撑贡献我们的力量。

原文发布于微信公众号 - 腾讯技术工程官方号(Tencent_TEG)

原文发表时间:2017-07-25

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏量子位

百度推SwiftScribe自动速记工具,1小时音频20分钟搞定

△ SwiftScribe 王新民 编译整理 量子位·QbitAI 出品 百度昨天宣布推出SwiftScribe,一个利用人工智能(AI)技术,快速将录音转成文...

38613
来自专栏人称T客

小程序问世 微信的一手好牌被打烂?

T客汇官网:tikehui.com 撰文 | 人称T客 ? 昨晚小程序如约而至,被朋友圈刷必不可,有人惊呼狼来了,小程序这是要干掉所有 App 的节奏,但也有人...

4008
来自专栏知晓程序

小程序体验师第三期招募!

这次,你要做的,仍是从渣渣小程序堆里,把有趣的、实用的、令人大呼相见恨晚的优质小程序挑出来。

812
来自专栏腾讯社交用户体验设计

产品趋势的设计软着陆

1803
来自专栏带你撸出一手好代码

编程语言之间的差别真有那么大吗?

软件开发是一种特殊的职业,特殊到有点匪夷所思,行业从业人员的工种分类非常的不稳定, 比如说古时候有C工程师、C++工程师、VB工程师,后来有了Java工程师、....

46810
来自专栏知晓程序

小程序体验师招募!

这次,你要做的,仍是从渣渣小程序堆里,把有趣的、实用的、令人大呼相见恨晚的优质小程序挑出来。

1203
来自专栏腾讯高校合作

2017 Openstack Days China | 腾讯的Openstack实践与创新

本文转载自CSDN 2017年7月24日~25日,2017 OpenStack Days China官方盛典在北京国家会议中心盛大召开。腾讯技术工程事业群企业I...

4085
来自专栏腾讯云TStack专栏

CSDN专访|腾讯的OpenStack实践与创新

前言: 本文转载自微信公众号OpenStack 文章《用户访谈丨腾讯的OpenStack实践与创新》,来自CSDN专访。 2017年7月24日~25日,2017...

4297
来自专栏知晓程序

罗胖的笑和今日头条的回归,小程序的套路全在这里……

1493
来自专栏SDNLAB

创建新一代数据中心的最佳方式是什么?

编者按:围绕“创建新一代数据中心的最佳方式是什么? ”VMware和Cisco展开辩论,所谓“王婆卖瓜自卖自夸”,一个力推自己子公司产品中的网络虚拟化技术,另一...

2745

扫码关注云+社区

领取腾讯云代金券