腾讯是怎么用OpenStack的
2017-08-14 18:59:46
Angela
  • 访问次数: 250
  • 注册日期: 2017-03-15
  • 最后登录: 2017-10-12
  • 当前积分: 1287
原创 2017-08-14 Jonathan Zhang 开源云中文社区

位于深圳的腾讯是亚洲最大的科技公司之一。该公司的座右铭是“为了更好的未来连接更多人”,不久将为美国和欧洲带来热门游戏。它很大规模地使用OpenStack:4个地区的7个数据中心共有14个集群,并且已经在生产中运行了4年,可用性为99.99%。

SuperUser采访了一个腾讯团队,了解更多关于腾讯私有云、TStack和未来的计划。

谁在用OpenStack?

2013年,腾讯开始构建名为TStack的私有云,为内部IT部门提供云计算资源。 TStack向OA系统运维人员、平台应用开发人员、QA开发人员和腾讯AI研究人员,提供基于OpenStack的基础设施即服务(IaaS)。


腾讯的内部IT系统、功能部门业务和大部分开发和质量保证体系主要在TStack中构建。腾讯还向中国许多政府部门和公共企业,包括警察部门和电力公司提供了TStack和管理经验。


腾讯为什么选择OpenStack?

在早期阶段,TStack是基于腾讯设计的基础设施,成功管理6000多台Xen虚拟机。然而,最初的TStack并不是支持异构虚拟化的云管理平台。这样无法管理和充分利用许多资源,包括异构虚拟机、数千台物理服务器和许多第三方存储设备。


2014年,OpenStack开始迅速发展,创造了一个伟大的生态系统。来自世界各地的数十家行业领先企业都参与了OpenStack,并部署了许多项目。


OpenStack成为云计算的强大力量,也是开源云计算平台的首选。作为软件定义基础设施最有效的解决方案,OpenStack具有许多优点,例如开源和具有先进的设计。根据内部IT运营团队的评估和测试结果,腾讯决定引入OpenStack作为TStack的基础设施,并期望提供更好的服务。


TStack是可扩展、高可用性和基于OpenStack的云计算管理解决方案。它提供用于管理计算资源、存储、网络、镜像、认证和测量的服务接口,并且与异构虚拟化、服务器、存储设备和网络设备兼容。它也适用于分布式计算和存储。

在OpenStack上运行的工作负载以及此工作负载对腾讯的价值和影响?

TStack是为大规模的环境而设计的。它管理超过10000个操作系统,其中40%为超过300个内部IT服务而部署,包括OA认证、WeChat网关、RTX、邮件系统、视频监控、内部安全、功能管理和ERP。这些服务要求24/7的运行时间。 TStack还管理腾讯各种产品的开发和测试服务,例如WeChat、QQ、浏览器、游戏等。


同时,腾讯还与中国政府合作建立电子政务系统,管理公共交通,税收,社会保险、医疗保健等公共服务的各个方面。TStack有助于规范地理上分散的数据中心的接口和调度异构资源,可将服务器成本降低30%,运营成本降低55%。


可以给一些关于部署的细节吗?

现在,TStack使用OpenStack作为IaaS。它基于OpenStack Kilo版本,有三个产品:基础设施云、监控云和自助服务云。其主要特点是异构云管理和混合云管理。基础设施云管理物理资源;自助服务云提供资源应用管理仪表板、工作流程管理、服务管理以及PaaS和SaaS等云服务;监控云提供对云主机的监控、资源利用,还实现了ITIL流程。

TStack使用以下OpenStack组件:Keystone、Nova、Neutron、Cinder、Glance、Ironic、Heat、Swift、Manila和Horizon。是否为满足业务需求升级到最新的OpenStack版本正在评估中。截至目前,TStack已在上海、成都、天津、汕尾4个地区的7个数据中心部署了14个集群。它管理10000多个操作系统,托管内部IT系统、功能部门业务系统和腾讯内的大部分开发和测试系统。它已经用于生产4年,可用性超过99.99%。

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


OpenStack有什么挑战,如何克服的?

腾讯开展OpenStack的旅程并不顺利。 TStack团队在四年前开始使用TStack以来,遇到了许多技术问题。幸运的是,他们一直为用户提供稳定的服务,克服了这些困难。


以下是一些代表性的例子:

——Nova无法将资源配额应用于已经在运行的虚拟机。因此,TStack团队开发了基于Nova开放API的在线资源配额应用功能,以便在不重启虚拟机的情况下应用资源配额,特别是在资源有限的情况下。


——Nova的本机调整大小功能将重启虚拟机。TStack团队通过“nova live-resize”扩展了此功能,可以在线调整云实例的大小。


——虽然OpenStack基于CPU、内存、磁盘和节点状态提供了相当多的调度策略,但仍然无法满足腾讯的复杂业务需求。因此,TStack针对不同业务定制调度策略,通过在主机间移动虚拟机实现了高可用性。


——Nova块迁移将复制磁盘卷。对于具有大卷的虚拟机,迁移频繁中断。TStack团队在迁移期间实施动态自适应压缩,大大节省了带宽,从而将迁移持续时间平均减少了50%。


——Heat无法编排在编排之前创建的虚拟机。TStack团队将腾讯内部的BlueKING平台与Heat结合,实现所有虚拟机的全生命周期管理。


——TStack团队开发了Neutron插件来管理来自不同供应商的SDN控制器。


——TStack团队调整了RabbitMQ内核配置,从而可以处理一个区域内超过1000个计算节点之间的消息传递。


——物理机、Xen VM、KVM VM和存储设备都由TStack进行管理和调度,以提高服务器利用率并降低IT成本。

对OpenStack社区和其他开源社区的体验是什么?

腾讯积极参与社区活动,分享经验,受益匪浅。在中国的全球云计算开源会议上,作为参与者和赞助商,腾讯公司进行了一系列技术演示,参与并通过了OpenStack互操作性测试。腾讯还参加了2017年中国OpenStack Day,分享产品开发和运营经验。


TStack团队正在准备OpenStack Summit Sydney,分享过去使用OpenStack的经验,同时,希望向来自世界各地的行业领导者学习。2017年5月,腾讯加入CNCF和Linux基金会,为容器服务和KVM虚拟化做出贡献。 6月,腾讯加入了MariaDB基金会,共享数据库CDB的经验。

下一步做什么?

OpenStack为腾讯带来了许多好处,也为腾讯继续优化OpenStack的应用铺平了道路。

未来,腾讯将在以下几个方面加强对OpenStack的支持:

——
除了提高处理业务增长的能力外,从今年起,TStack也将增加对社区的投资。腾讯在中国拥有顶级研发人员和开发人员,将为OpenStack社区带来新鲜血液,提供高品质的代码,共享开发和优化体验,并希望引领新项目。腾讯将为社区提供其业务优化和内部模块,以帮助改进OpenStack。腾讯还将专注于Magnum、Ironic和Kuryr等项目,探索实用案例并分享意见。该团队认为,这一重要的新能量和知识共享将使OpenStack和云计算行业有更光明的未来。


——在企业中,缺乏OpenStack操作技能是常见问题。强大的技术需要强大的操作技能。因此,腾讯将更多地投资建设运营管理平台和工具链,分享经验教训和最佳实践,以便其他人也可以更好地利用OpenStack管理云。


——腾讯将把各种基础服务,如CMEM、CDB、CDN、消息队列、负载均衡等整合到TStack中。客户可以通过API或GUI访问这些基本服务。


——腾讯还将与合作伙伴进行更密切的合作,建立开放和集成的云计算生态系统,以降低云用户的成本。


腾讯致力于云计算市场。TStack团队将使用基于OpenStack的私有云TStack以及专有的公有云来为全球市场建立一个完整的混合云服务生态系统。

腾讯希望和OpenStack一起成长,为OpenStack做出贡献,并为OpenStack生态系统带来繁荣。



编译:Jonathan Zhang

作者Nicole Martinelli

来源:http://superuser.openstack.org/articles/tencent-openstack/