返回 登录
1

扒一扒在悉尼斩获大奖的TStack的“成名史”

11月6日,澳大利亚,悉尼,淅淅沥沥的冷雨中,OpenStack悉尼峰会在悉尼国际会议中心拉开帷幕,作为OpenStack一年两次的全球技术盛会,经过16届大会的洗礼,OpenStack Summit已经成为OpenStack业界规模最大,影响最广,含金量最足,最重要的会议之一,本届盛会,更是吸引了来自全球52个国家近2300名观众的参与。而作为OpenStack峰会上历年都会颁发的奖项,OpenStack Superuser大奖则因为是从全球众多地区征集的出色用户案例与应用体验评选,备受OpenStack业界的广泛关注。
而在此次OpenStack Superuser大奖评选中,腾讯云TStack团队成为入围四家公司中的最后赢家,斩获唯一的超级用户大奖,这一方面说明腾讯云在OpenStack的应用方面走在了业界的前列,而另一方也证明了腾讯云TStack的强大实力。

图片描述

那么,既然如此,相信广大热衷于技术的CSDN的网友们也和老孙一样,迫不及待的想要了解,腾讯云TStack是如何诞生、成长、发展起来的?腾讯云TStack团队到底凭什么可以获得如此大奖?

为了找到答案,老孙特别采访了腾讯TStack产品总监罗朝亮,由他来为我们抽丝剥茧,解开谜底。

源起:TStack诞生记

想了解一个人,需要从他的简历看起,同样的,我们要了解一个产品也要从他的”诞生“讲起。

实际上,说起腾讯云TStack的诞生,可以最早追溯到2013年,为了向腾讯内部IT环境提供云计算资源,缩短交付时间,提升交付效率,提高资源利用率。腾讯通过自研底层技术平台构建TStack,并成功纳管6000+Xen虚拟机,而在研发TStack平台过程中,最大的挑战是从旧平台切换到TStack平台,这对腾讯内部来说是一个异常艰巨的任务,原有平台如何纳管到新的TStack平台中,并对原有平台服务完全无中断,这是一个非常棘手的问题,也是一个巨大挑战。 经过团队两个季度的不懈努力,终于将原有平台虚拟机无缝对接到TStack平台,完成了平台的统一管理。但初期的TStack并不是一个支持异构虚拟化的云管理平台,所以仍有其它异构虚拟机、上千台物理服务器未被纳管,除此之外,还有很多第三方厂商的存储设备也未被纳管,从而导致这些资源未能够被充分利用。

2014年,OpenStack开始迅速发展,并且形成了很好的技术生态,来自全球十多个国家的几十家领军企业都参与到OpenStack的项目中,并且在全球开始落地上线很多项目,逐步成为云计算领域的一支强有力的力量,也慢慢成为开源云计算平台的首选,同时作为目前软件定义基础架构中最有活力的解决方案,代码完全开源,技术领先,具有极大的优势。

OpenStack的迅速崛起,吸引了腾讯的注意,经过腾讯IT内部运营团队详细的调研和测试,也为了实现腾讯的互联网+战略,满足政企服务市场对OpenStack的强需求,综合评估之后,决定引入OpenStack作为TStack的IaaS组成部分。由于当时OpenStack PaaS、SaaS能力还处在发展阶段,而腾讯本身已具备很强的PaaS和SaaS能力,所以腾讯云TStack采用OpenStack作为IaaS,基于OpenStack kilo版本二次开发,整合腾讯内外部云服务能力,形成了基础云,监控云和自助云三大产品。

发展:TStack成长记

不过,就像人在成长的道路上不会一直都一帆风顺,在TStack的成长过程之中,TStack也并非一帆风顺,在腾讯内部的TStack实践中,几年时间中也遇到过不少问题;但在TStack团队共同努力下,秉持一切以业务稳定为前提的宗旨,最终填过了许多坑,成功克服了这些困难。TStack团队主要填过的坑有:

1、Nova无法对运行中的虚拟机进行资源配额限制,因此TStack研发团队基于Nova开放API接口,开发出Nova在线资源配额限制技术,旨在解决虚拟机如何在不重启情况下进行资源在线配额限制,尤其是在平台资源使用紧张前提下;

2、Nova调整云主机大小的原生功能会重启虚拟机,基于对运行线上业务的虚拟机能够在线进行resize的业务需求下,TStack扩展强化了Nova resize功能,Nova live-resize即在线调整云主机大小。

3、虚拟机调度策略需求,虽然OpenStack自身已经实现了不少调度策略,包括CPU、内存、磁盘、节点状态方面的调度策略;但是公司内部业务需求复杂,因此根据独有的业务类型定制虚拟机调度策略,从而将虚拟机调度到不同宿主机,实现高可用;

4、超大磁盘虚拟机块迁移超时,Nova的块迁移会拷贝磁盘,针对这类超大型磁盘的虚拟机来说,因为磁盘大的缘故,导致虚拟机经常迁移超时;经过大量调研实践,为虚拟机迁移植入动态自适应压缩迁移技术,大幅度节省了带宽,迁移时间平均缩短50%;

5、Heat无法实现对已创建虚拟机的应用部署,故TStack结合腾讯内部蓝鲸平台采用heat+ 蓝鲸平台的架构,实现对虚拟机的生命周期、后期自动化运维管理。

6、网络方面基于Neutron开放的API接口,利用自主研发的SDN控件同时纳管多个厂商的SDN控制器;

通过TStack团队对这些问题的克服和解决,腾讯云TStack团队自身的研发能力也获得了快速的提升,而腾讯云TStack也不断成长,并逐渐形成了自身的核心技术优势,依靠强大的支撑团队,以及不断优化的产品与服务,腾讯云TStack逐渐衍生出“基础云平台”、“监控云平台”和“云服务自助平台”三个产品线,而腾讯云TStack核心技术也覆盖在基础云,监控云和自助云三大产品中,实现了异构云环境管理,混合云管理等关键技术。其中基础云管理底层的物理资源,用户自助门户负责提供统一的资源申请管理视图、流程管理、服务管理,并提供PaaS、SaaS等服务能云服务能力,监控云负责监控云主机的资源,资源使用情况,并实现了ITIL的核心流程。

腾讯云TStack依靠强大的支撑团队,不断的优化产品与服务,TStack各个服务采用模块化、松耦合架构的设计。每个服务可以独立部署,服务之间通过标准API访问资源。每个服务可分为处理任务的守护进程、消息队列和数据库,守护进程之间通过消息队列协调所有功能组件之间的通信,通过数据库存储和获取数据,有效解决传统云系统组件之间的依赖问题,实现各个模块之间的松耦合。

TStack使用Keystone、Nova、Neutron、Cinder、Glance、Ironic、Heat、Swift、Manila和Horizon等OpenStack组件。同时,基于应用服务的容灾要求,TStack采用多区域、双位置、三中心部署。自助服务云用于跨区域的调度和管理。在一个区域内,使用三个控制节点来实现Keepalive + HAProxy的高可用性。MariaDB的Galera Cluster是数据库。由于其简单性和效率,在大多数地区使用VLAN,而VxLAN也在某些地区使用。使用OpenStack,可以在一个单一区域内管理超过1000个计算节点。

而在腾讯多年来大规模应用基于OpenStack的TStack过程中,也获取了宝贵的经验:
第一是标准入云。对业务分级,迭代入云。尽管希望云平台能100%承载所有业务,但并不是所有业务都适合放入云端,因此腾讯内部制定了一整套标准的入云标准,并在政企用户中推广使用。

第二是分区模型。以腾讯为例,内部有众多对基础架构有不同要求的部门,腾讯TStack的规划设计是Set分区。计算工具、存储工具、网络控制工具,这些大致的模型是一样的,但比例怎么搭配,在Storage Pool里采取什么配置,完全根据应用特点去规划。这样规划便于资源管理、运营以及快速扩容。

第三是柔性可用。对于平台而言,柔性可用就是把服务分为核心服务,调度服务、分配资源服务、正常运转的服务,对边缘性服务降低响应级别。比如容量不够的情况下如何做智能的自动限速。

第四就是持续优化。采用OpenStack和云平台之后,需要不断地进行版本更新和资源调整,云是否成功并不在于它采用了什么技术,而是在于运营团队的运营管理。

成熟:TStack应用记

腾讯云TStack的设计定位是一个面向海量生产环境的系统。在12000+OS中,有40%的主机为IT内部服务线上业务,主要包括OA认证,微信网关,RTX,邮件,行政视频监控,内部安全,职能管理、ERP等300余项业务,这些业务需保证7x24小时服务在线;TStack平台同时也承载着腾讯内部各产品线的开发测试服务,比如微信,QQ,浏览器,游戏等。OpenStack为业务稳定提供了保障,基于OpenStack多Region,采用两地三中心部署架构,保证了应用服务的高可用性;根据OpenStack调度框架,定制调度策略,使其符合内部业务需求;业务网络采用OpenStack多网络模式方案,大部分Region采用简单高效的VLAN网络,也有部分采用VxLAN网络。

除了内部应用之外,作为腾讯“互联网+”战略的重要平台和技术开放总出口,腾讯云已将TStack平台以及运营服务经验推广到中国政企市场,涉及智慧公安领域、智慧交通领域、智慧人社领域等诸多领域, 并与全国15多个省、50多个城市签署合作协议,为包括四川省政务云、广东省政务云、云南公安厅警务云、广州市政务云等在内的各级政府和企业构建基于OpenStack的云平台。在今年9月于厦门举行的金砖国家会议上,腾讯云部署了基于OpenStack构建的政务云,并与腾讯云安全团队共同为会晤期间的云上安全保驾护航,获得厦门政府的热情点赞。下一阶段双方还将在公安、医保、环保、财政等领域展开深度合作。

截止到目前为止,腾讯云TStack已完成共计4个地区、7个机房、14个集群的OpenStack实践,分别位于上海、成都、天津、汕尾,拥有6000多个物理节点,其中包括2000 个Ironic节点,管理超过12000台虚拟机,提供80K+ Core CPU, 360+ TB 内存, 20+ PB存储,承载着腾讯内部IT业务系统以及内部职能部门业务系用,以及腾讯大部分的开发测试业务,上线5年时间,可用率超过99.99%。腾讯TStack团队还对OpenStack集群进行大量调优工作,使其足以支撑单Region 1000个计算节点以上的消息通信。

绽放:TStack成名记

从数据可以看到,腾讯云TStack已经成为OpenStack的重度用户,也是最大的用户之一,拿下此次OpenStaqck悉尼峰会的超级用户大奖实际上可以说是实至名归。与此同时,腾讯也加入了OpenStack基金会,并成为基金会黄金会员之一。腾讯对于OpenStack社区也有着许多重要的贡献:

腾讯积极地参与了社区的各项活动,在全球云计算开源大会上,腾讯作为参与者和赞助商,分享我们的Openstack使用经验,参加并通过了OpenStack互操作能力测试;同时参加并赞助了OpenStack Days China,有多个技术专题分享基于OpenStack的产品研发、以及运维使用经验。

作为最高级别赞助商赞助了OpenStack Days China以及OpenStack Sydney Submit会议举办,参加了与OpenStack社区的多次会议。
根据腾讯OpenStack的使用经验,编写了OpenStack使用白皮书和知识库,分享给客户使用;建设微信公众号,传播实践经验到广大的OpenStack使用者;提交bug或者blueprint,向社区反馈遇到的问题。

与英特尔公司合作,将社区的一些最新功能(RDT、DPDK、SPDK、FPGA、Clear Container),应用在腾讯的生产环境中,加速开源产品的生产使用。
实际上,腾讯成为OpenStack基金会黄金会员,一方面证明了中国企业在OpenStack中的席位和地位逐渐提升,受到了全球市场的关注,另一方面,OpenStack是腾讯建立一个完整的混合云服务生态系统战略的重要组成部分。加入黄金会员后,腾讯将能够更好地为社区做出有价值的贡献,促进OpenStack生态系统的健康繁荣。

展望:TStack未来记

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

1、 腾讯内部TStack除了应对业务增长的需求,还会从今年开始,加大对社区的投入,腾讯拥有中国大部分顶尖技术研发人员,加入Openastack社区后,可以为Openstack社区注入新的技术力量,提供优质代码,分享TStack基于OpenStack二次开发的改进和优化功能,同时也希望主导新项目,将腾讯在OpenStack在海量运营环境中所做的优化、以及自研模块开放给社区,帮助Openstack技术栈更完善成熟。另外,腾讯还会重点关注关注magnum、ironic、kuryr等项目,在探索实践应用方面,分享自己的见解。相信新力量的加入和无私的分享交流会给云计算行业,给OpenStack带来更多灵感的碰撞和创新。

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

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

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

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

评论