容器技术在上汽云数据中心的应用和实践

近年来,以 Docker 为代表的容器技术,正在以迅雷不及掩耳之势蔓延开来。其理念之新颖,其生态之健壮,不断被业界所津津乐道。容器技术基于各种场景的尝试与实践,在过去的两年中,更是层出不穷。一时间,容器甚至被认为是未来的基石性技术。

59d4edd7dcb71977aa6996255d0cc2ca

容器技术正在快速改变着企业创建,发布,运行应用的方式,它的快速崛起不仅颠覆了整个行业,并且还在不断书写新的传奇。容器技术的诱人之处在于:1)资源的独立和隔离:Docker 通过 Linux Namespace、cgroup 限制了硬件资源与软件运行环境,与宿主机上的其他应用实现了隔离,做到了互不影响;2)轻量化:相比传统的虚拟化技术,使用 Docker 在 CPU、Memory 等资源使用上有更低的性能损耗,启动和扩展速度更快;3)Build Once, Run Everywhere:应用在私有云、公有云等服务之间迁移交换时,只需要迁移符合标准规格和装卸方式的 Docker 容器,避免了耗时费力的人工上线、下线,大量节约了时间和人力成本。

容器技术并非新生事物,其中最具代表性的 Docker 作为一种开源技术,非常容易融入企业现有管理流程,可以极大地优化企业应用交付流程。基于 Docker 的软件交付是一种全新的软件交付方式。目前大多数企业已经完成硬件资源池化,但是计算资源并没有被充分利用,面临着管理失控等一系列问题。基于 Docker 容器的管理能够充分释放企业的管理价值。

容器技术助力上汽云数据中心渐进式变革

在当今局势下,帮助容器技术在企业真正落地是一个值得深思的话题。接下来我们将以上汽 IT 数据中心对容器技术的尝试和实践为例,探讨容器技术助力传统企业转型和对运营效率的提升。

1. 变革的困境

上汽集团是中国汽车行业的龙头企业,是传统制造业的标杆。作为上汽集团的互联网数据中心,上汽云数据中心需要为集团下属企业,其中包括整车、金融、市场提供融合式的 IT 应用平台服务,同时也要支撑起全系智能化汽车产品,为整个集团下属企业全面提供服务。

屏幕快照 2016-10-25 下午6.23.04

​但是,目前中心在转型过程中面临着诸多挑战:

  • 对传统业务模式的深度依赖:作为大型传统国企,一直沿用传统的业务模式。集团有大量的厂商支持,对开源产品了解相对较少,依赖传统的应用架构;
  • 产品线丰富,业务模式繁多:集团旗下产品线丰富,相对于整车企业 IT,零部件和一些服务单位更注重业务本身。旗下很多企业都没有完整的 IT 团队。由于产品线丰富,业务模式也相对繁杂,需要的平台服务多种多样,对于服务软件的版本要求多,无法统一管理,运维成本高;
  • 项目周期短,要求快速上线:在当前互联网快速发展的驱使下,外部环境迅速变化,业务单位的需求随外部环境的变化迅速变化,频繁的变更和要求快速的交付已经变成常态。一款新车型的发布,每周都会在网站上进行宣传活动。与此同时,IT 部门需要迅速响应更迭网站应用。由于项目周期短,每个项目对资源的要求都非常急迫,数天内交付虚机资源,有部分虚机要求预装中间件数据库;
  • 人员紧张,运维压力巨大:由于集团旗下很多企业都没有完整的 IT 团队,所以一人常常需要负责多项任务,运维人员不足,短期内也无法新增人员,导致运维压力不断增大;
  • 基础平台创新:基础架构要在满足安全性的基础上保证足够的弹性扩展和性能。

尽管面对诸多困境,IT 中心的变革之路已经不是一个选择题,而是一个必然的过程。作为国内领先的云计算领导者,DaoCloud 在云计算、下一代互联网软件定义数据中心和容器技术方面有着深厚的技术沉淀及产品能力,在助力传统企业互联网转型方面也积累了丰富经验。

自 2016 年初,DaoCloud 便和上汽云数据中心开展深度合作,共同探索容器技术在传统制造企业的应用和支撑,目前已有众多集团 IT 业务和系统在 DaoCloud Enterprise 私有云平台进行验证和实践。DaoCloud Enterprise 是领先的云原生应用云平台,它采用 Docker 原生技术栈,具备强大的平台功能及丰富的应用服务,内置容器镜像仓库,更重要的是,DaoCloud Enterprise 提供各种高度企业级的特性,非常适合企业客户对云平台的需求。

2.  容器技术助力上汽新车推广

2016 年 10 月 9 日,上汽举办了一次汽车互联网推广宣传活动,活动为期 5 天,众多互联网媒体、互联网平台参与其中。

本次市场活动的应用系统由上汽云数据中心与 DaoCloud 共建的 “端+云” 的后端云数据中心所承载。上汽云数据中心一直在 IT 方面持续创新,尝试通过新的技术和方案来更好地实现 “互联网+” 时代下的 IT 转型。近日举办的汽车推广活动就是一次对容器技术大胆的尝试,也是一次成功的经验积累。

本次互联网推广活动时间短,任务重。经过前期周密的活动策划,上汽云数据中心承担了此系统的上线、运行和维护保障工作,根据项目的规划,项目周期非常紧张整体系统必须在 10 天内完成开发测试并上线运行。面对如此艰巨任务,如果延续以往数据中心的模式,单纯使用 “虚拟机” 的方案根本无法满足资源的动态分配、应用的快速及标准化交付、上线后大流量高并发场景下的资源弹性扩容。

经过架构、开发和数据中心团队的多次深入讨论论证,最终决定全面采用 Docker 容器技术,将其运行在业界领先的云原生应用云平台 DaoCloud Enterprise 之上。从代码编写到应用容器化、中间件服务支撑再到系统持续部署等环节均通过上汽云数据中心和 DaoCloud 公司共同研发的 DevOps 流水线平台高效率迭代。

现在,让我们来细数一下这次推广项目中,系统所面对的多重挑战:

  • 系统的高并发大流量:本次活动是一次典型互联网推广活动,共设「在线直播」「人气投票」两个线上环节,上汽官网、网红自媒体及其他线上线下重磅渠道进行流量导入,预计活动并发用户高达 5w 以上,相当于日常网站的 50-100 倍,面对如此巨大的流量高并发场景,传统系统和架构显然难以支撑;
  • 业务动态伸缩弹性需求:在连续 5 天的活动中,业务和系统具有明显的起伏,具体来说,活动开始和结束前后几小时是流量和访问的高峰期,中间几天和夜间是流量的低谷,面对动态难以预计的访问波动,系统需要良好的自适应功能;
  • 面向微服务的架构设计:毫无疑问互联网是活动的通用入口和传播媒介,这要求系统设计时充分考虑互联网的各种服务及需求。同时活动需要 7 x 24 小时在线,故高可靠性和安全性也是关键点,这需要应用以集群化进行健壮性设计。此外,面对业务自适应动态伸缩,系统需要优雅地处理各种难题如:服务发现和注册、负载均衡、消息通信、数据安全等;
  • 分布式团队和快速迭代:鉴于时间的紧迫性,需要采用非常规手段,协调并集结各地资源全方位配合:开发有多个团队并分处各地,业务运维和上线团队驻守数据中心总部,其他配合人员如测试、设计也相对分散等,这对团队协作提出极高要求:需要标准化迭代和交付流程来减少协作中的浪费及无效沟通,有效处理开发进程中的多版本迭代和持续部署;
  • 开源技术的自主可控:面对如此复杂的系统和设计,虽然不少商业产品可提供快速开发原型,但考虑到系统的自主可控度及以后业务的持续改进和扩展需求,上汽集团决定从一开始就采用主流开源技术,这样对技术组件选型、通用性及可维护性提出了更高要求;
  • 资源要求高度优化:根据以往经验,上汽云数据中心之前运行类似业务系统一般需要数十台物理机/虚拟机,本着精简资源和充分利用的原则,本次任务需要考虑资源使用的总量,目标是控制在个位数节点的规模,为以后的类似应用积累经验;
  • 标准化运维:在设计之初就需要考虑系统上线实施的路径及后期的运维,尤其涉及到复杂多组件的集群系统,这对系统的监控、告警、升级和多版本管理等都带来了新的挑战,数据中心的运维团队人员有限,难以做到“宠物”式模式对系统及组件精心照料,标准化自动化的 “奶牛” 运维方式是必然。

3. 架构设计

时间紧,任务重,凭借技术实力和先进的实践经验,上汽云数据中心和 DaoCloud 根据以上业务和系统特点及相关需求,共同制定了如下的系统设计策略:

  • 微服务架构:通过将主要模块通过服务化设计进行松耦合解绑,前后端分离以便无状态应用的动态伸缩扩展;
  • 分布式集群化设计:前端应用、后端应用服务器以及数据库、缓存和消息队列等中间件全部采用集群化,有效处置和避免单点故障,高并发大流量模式下也能应对自如;
  • 全容器化部署:容器化部署微服务架构的各个组件,容器的秒级伸缩特性对集群起到良好支撑和扩容,此外,容器“一次构建,随处运行”的优势完美适应本次活动的快速迭代需求;
  • 打造 DevOps 和持续交付流水线:为保证多版本迭代和高效部署效率,从代码仓库开始对接持续集成系统,然后借助容器的标准化封装及交付构建持续交付,最终标准化运维整套交付流水线。

根据以上几方面,我们共同设计如下业务架构和部署方案:

上汽图片-3update

 [图]平台架构设计图

整套系统均部署在 DaoCloud Enterprise(DCE)的应用容器云平台之上, 系统共计五节点,由超融合平台和独立服务器共同组成计算和存储资源池,DCE 平台内置高可用,前端无状态应用根据访问流量动态扩展多份,并通过负载均衡实现大流量分发。前端业务同时配置连接多组缓存集群,缓存集群支持分组切片。采用业界广泛使用的开源中间件 Kafka、分布式应用协调服务 Zookeeper,并均采用多节点高可用模式部署。根据业务设定,Kafka 分配和管理多个业务消息队列,后端应用集群负责消费队列消息并连接到高可用数据库,数据库按照主从方式部署,将队列的消息数据存储到数据库的不同表中,最终实现数据持久化。

4. 一次成功的尝试

通过设计如下 DevOps 开发运维流水线,整个系统在十天内经历数十次开发、测试、预生产环境下的快速迭代,通过 DaoCloud Enterprise 平台 webhook 机制实现自动化持续部署及系统滚动升级。

上汽图片 4

 [图]上线部署和运行图

上图描述了系统上线后的部署和运行图,由 5 个服务组件共计约 40 个容器支撑整体业务的平稳运行,前端服务根据用户访问流量可进行自动扩缩容,后端服务全部通过集群化部署实现跨数据中心的高可用,平台提供便捷丰富的监控、日志、网页控制台、文件上传下载等工具实现整套系统的标准自动化运维。

10 月 9 日,推广活动如期上线,活动引起了业内人士和汽车爱好者的广泛关注。在上汽云数据中心和 DaoCloud 双方的协作和努力下,系统顶住了活动高峰期间高并发用户量,活动反响空前热烈,微博参与互动的人数已达近万人。

本业务为典型的互联网应用,具备较大的业务压力,需要一套完整的分布式架构系统支撑整个业务服务的运行。从传统虚拟机到容器化技术的升级,极大提高了应用的交付效率,充分利用现有资源,从人力与时间角度考虑,容器化的交付让运维难度降低,提高了迭代的速度,打破开发与运维团队之间的壁垒,符合本互联网应用的特点与形态。在架构设计上,本业务采用了主流的开源技术,技术组件均具备可扩展、可维护的特点,对未来架构演进积累了宝贵的实战经验。

合力打造第三代互联网云原生数据中心

计算的力量,推动着人,推动着 IT 移向新的高度。容器技术已经被认为是当今 IT 领域中的突破点,新的技术带来的影响,从量变到质变过程中,创新能力将成为企业未来可持续发展的重要力量。面对快速变革的外在环境和复杂多样的业务应用,上汽云数据中心通过选择容器技术,并与 DaoCloud 紧密合作,取得了良好的效果:业务上线速度相比较传统交付方式得到大幅提高,资源优化和管理也较之“虚拟机”有了显著改善,系统运维能力也获得有效提升,这些经验进一步证明容器技术在传统企业具备广阔的应用前景,同时也是传统制造业在 “互联网+” 时代的一次成功的经验积累。

DaoCloud Enterprise | DCE

DaoCloud Enterprise 是领先的云原生应用云平台它能帮助企业在已有的 IT 基础架构之上快速搭建 100% 兼容 Docker 标准的超大规模容器集群。帮助企业 IT 能力转型实现全面软件定义数据中心让业务交付更便捷让系统运维更简单。DaoCloud Enterprise 具备对接企业级计算存储资源管理应用交付生命周期部署跨平台容器集群等功能并为开发者和运维团队提供了安全便捷的应用管理能力。

Leave a Reply

Your email address will not be published. Required fields are marked *