写点什么

从太平洋保险 DCOS 实践看传统企业的魅力变革

  • 2016-03-21
  • 本文字数:3415 字

    阅读完需:约 11 分钟

云计算驱动企业 IT 架构演进

随着云计算的快速普及,传统企业越来越关注基于云计算的下一代 IT 架构变革了。回顾企业 IT 架构演进历史,主要经历了“传统孤岛”、“x86+ 虚拟化”和“云化”这三个阶段。

最初的“传统孤岛”,软硬件堆栈各层间缺少统一的工业标准化,呈现出内聚与耦合的特征。随后的 x86 标准化带来计算、存储、网络、操作系统、中间件、应用层等多层次水平分工架构,为了提升 IT 灵活性和资源利用率,虚拟化开始在数据中心部署,IaaS 实现了虚拟机级弹性伸缩,但 IT 基础设施扩张很快,系统层层堆叠,各层间集成交付的难度越来越大,同时,仅虚拟化也难以满足不断增加的业务对资源的变化需求。

于是企业开始期望将服务作为 IT 核心,提升业务敏捷性,同时大幅降低 TCO,这时 PaaS 和应用资源池化实现了集群级弹性伸缩,很大程度上缓解了 IT 资源与业务发展之间的矛盾,让企业更专注于上层业务逻辑的运营。如果说 IaaS 属于云化的“初级”阶段,PaaS 和应用资源池化就是云化的“进阶”阶段。而今天故事的主角 DCOS 实现了数据中心级弹性伸缩,使它称得上“深度”云化的发动机了。

回顾:DCOS 是什么?

数据中心操作系统(Data Center Operating System,简称 DCOS)是为整个数据中心提供分布式调度与协调功能,实现数据中心级弹性伸缩能力的软件堆栈,它将所有数据中心的资源当做一台大型计算机来调度,可以视作这个大型主机的操作系统。下表给出了 Linux OS 与 DCOS(以基于 Mesos 为例)的类比:

Linux OS

DCOS

资源管理

Linux Kernel

Mesos

进程管理

Linux Kernel

Docker

任务调度

Init_d、cron

Marathon、Chronos

内部进程通信

Pipe、Socket

ActiveMQ、RabbitMQ

文件系统

ext4

HDFS、Ceph

太平洋保险 DCOS 平台关键技术选型

在今年春节期间,太平洋保险联合上海天玑数据,采用 DCOS 平台改造微信应用系统来支撑推出的“除夕夜摇红包”、“初五迎财神”等系列活动。活动期间 DCOS 轻松支撑高达每秒 10 万笔交易的业务高峰,仅除夕当夜微信增粉量就超过 1300 万。

这次太平洋保险进行综合评估技术选型后,最终选择了基于 Mesos + Docker 搭建 DCOS 平台。功能框架如下:以 Docker 为基础封装各类应用和运行环境,以 Mesos、Marathon 为核心实现容器资源的分布式调度与协调,以 HAProxy、Etcd 为辅助实现服务注册引流。

1. 应用封装:Docker

Docker 为开源的应用容器引擎,在标准的 LXC 之上融合 AUFS 分层镜像管理机制,抛弃传统虚拟机试图模拟完整机器的思路,而是以应用为单元进行“集装封箱”,是轻量级的虚拟化技术。

  • Docker Engine 可以自动化部署应用到可移植的的容器中,这些容器独立于硬件、语言、框架、打包系统。一个标准的 Docker 容器包含一个软件组件及其所有的依赖,包括二进制文件,库,配置文件,脚本等,实现持续集成与部署,快速迭代应用程序。
  • Docker 容器可以封装任何有效负载,几乎可以在任何服务器之间进行一致性运行。开发者构建的应用只需一次构建即可多平台运行。运营人员只需配置他们的服务,即可运行所有应用。

2. 资源调度: Mesos

Mesos 是为构建和运行其他分布式系统提供服务的分布式系统。它将 CPU、内存、存储介质以及其它计算机资源从物理机或者虚拟机中抽象出来,构建支持容错和弹性的分布式系统,并提供高效的运行能力。

Mesos 以 Framework(框架)的形式,提供了“两级调度机制”,将任务的调度和执行分离。

  • Mesos Master 负责将资源分配给各个框架,而各个框架的 Scheduler 进一步将资源分配给其内部的各个应用程序。
  • Mesos 能和不同类型的 Framework 或 Application 通信,每种 Framework 或 Application 由相应的应用集群管理。
  • Mesos Slave 的 Executor 具备调用 Docker 能力,当 Executor 接收到 Task 时启动 Docker,其可以调用 Docker 去启动一个容器。

3. 任务调度: Marathon

Marathon 是基于 Mesos 来做任务调度,Mesos 仅负责分布式集群资源分配,不负责任务调度。

  • Mesos 集群可以混合运行来自 Marathon 的不同类型的任务。
  • Marathon 基于 Mesos 的任务调度为动态调度,即每个任务在执行之前是不知道将在哪一台服务器上执行和绑定哪一个端口。
  • 下图为 Marathon 执行任务调度示意图。9 台服务器(灰色)组成的 Mesos 集群上混合运行各种 Marathon 调度的任务,其中一台服务器坏掉以后,这台服务器上的任务就受影响,Marathon 可把任务迁移到其他服务器上,实现容错。

4. 服务注册与引流: HAProxy + Etcd

HAProxy 提供高可用、负载均衡的解决方案,而 Etcd 是一个高可用的键值存储系统,主要用于共享配置和服务发现,提供了数据 TTL 失效、数据改变监视、多值、目录监听、分布式锁原子操作等功能,可以方便的跟踪并管理集群节点的状态。 Etcd 与 HAProxy 配合能够实现数据中心应用的动态引流。

太平洋保险 DCOS“春节红包活动”实践

为应对这次春节红包活动业务系统的瞬时高峰压力,太平洋保险 DCOS 平台采用 223 个主机节点,其中平台部分由 5 个节点构成 Mesos Master Cluster,80 个节点构成 HAProxy Cluster,138 个计算节点承载 674 个 Docker Container,其中动态计算节点 113 个,静态计算节点 25 个。该平台可在 1 分钟内轻松实现扩展到 1000 个以上 Docker 节点。

DCOS 的实战威力

1. 巧妙分离动静态资源池,大幅提升应用访问速度

考虑到互联网应用中会使用大量图片和动画等静态资源,为提高服务访问速度,该 DCOS 架构通过动静分离,将静态资源服务器和动态资源服务器池化并分开管理(分别放置在 DMZ-WEB 区和 DMZ-APP 区,前者放置静态资源池,后者放置动态资源池,见上图)。于是,静态资源请求可直接通过静态资源池完成,不必再访问后端动态资源池,减少动态资源池的压力。而且采用专门的静态资源服务器,具备 Cache 能力,可大幅提升静态资源的访问速度。

2. 简化网络复杂度,提高网络访问速度

太保原架构 DMZ-WEB 区的请求在穿过防火墙后需再经过 DMZ-APP 区的一个 F5 设备和 HAProxy 才能到达动态资源服务器,这样就多增了两层网络服务器的访问,降低访问速度,当然故障点也增多了。而改造后的架构,将动态资源池的路由信息同步到 DMZ-WEB 区的 HAProxy 中,HAProxy 根据路由信息将动态请求直接转发到动态资源池上,从而极大简化网络路径的复杂度,网络访问速度明显提升。

3. 超强弹性伸缩、快速持续集成

此次除夕微信红包与初五抽奖活动间隔时间紧,若采用繁琐耗时的传统部署方法——得经过主机、操作系统、中间件、数据库和应用的集成部署,还得经过一定调试后才能对外提供服务。而改造后的 DCOS 通过与容器技术的深度结合,实现超强弹性伸缩,快速响应、持续交付,仅在 10 分钟内就完成共享资源的全部调整,有力保障业务的连续。

4. 更细粒度资源调度,实现高资源利用率

DCOS 相较于虚拟机管理,有着基于 CPU、内存的更细粒度的资源调度,多个计算框架或应用程序可共享资源和数据,大幅提升资源利用率,根据统计 DCOS 资源消耗可以节省 50%。

5. 高效的跨数据中心的资源调度

DCOS 平台展现了其在线性动态扩展、异地资源调度等方面的优异性能,1 分钟内快速扩展到 1000+ 的容器(如果应用更轻量启动速度还可以更快),平台和计算节点完全跨机房分布式调度。

6. 分布式架构保障高可用

DCOS 平台所有组件采用分布式架构,应用跨机房分布式调度。自动为宕机服务器上运行的节点重新分配资源并调度,保障业务不间断,做到故障自愈。

结束语

总之,传统企业在“互联网 +”的背景下,IT 基础架构的发展要确保新技术的研究和应用与企业未来业务发展需要相一致。而今,云计算相关技术正在逐渐演化成熟,尤其 PaaS 领域的技术发展更是日新月异。以 DCOS 为代表的下一代轻量级 PaaS 正越来越为业内所关注。DCOS 凭借其数据中心级弹性伸缩能力、快速持续集成等轻量优势,帮助企业快速应对业务需求,为传统 IT 的敏捷转型提供了新机遇。

作者介绍

胡罡,现担任中国太平洋保险集团股份有限公司信息技术中心应用运行支持部副总经理。长期从事保险行业信息化建设,曾多次主持大型保险信息系统建设和推广工作,参与和实施保险核心系统数据大集中和重构工作,参与大型数据中心建设和系统搬迁,参与智能移动保险平台建设。目前主要从事云计算和大数据相关技术研究和应用,面对移动互联浪潮的挑战和机遇,积极探索和实践传统行业 IT 运维模式的转型升级。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-03-21 17:472824

评论

发布
暂无评论
发现更多内容

洞见商业新机,云原生数据库GaussDB让企业决策更科学

华为云开发者联盟

数据库 后端 华为云

Linux C/C++后台开发高级架构师进阶指南-剑指腾讯T9

C++后台开发

后台开发 后端开发 linux开发 Linux服务器开发 C/C++开发

推荐 | 移动开发主流热更新技术

Speedoooo

小程序 APP开发 热更新

谁在构建超云?

Kent Yao

超云

微信官方kbone,Web端同构的福音

Geek_99967b

小程序

如何区分透明LED显示屏种类及应用领域

Dylan

LED显示屏 led显示屏厂家

什么是知识库,为什么需要它?

Geek_da0866

7 天找个 Go 工作,Gopher 要学的条件语句,循环语句 ,第3篇

梦想橡皮擦

Python 爬虫 8月月更

从GitHub火到了InfoQ!共计1658页的《Java岗面试核心MCA版》,拿走不谢

收到请回复

Java 程序员 金九银十 Java面试八股文 常见面试题

极盾·析策,XDR的正确打开方式

极盾科技

网络安全 安全 数据安全 xdr

重磅升级!TDengine3.0正式发布

TDengine

数据库 tdengine 时序数据库

XSKY星辰天合与观测云完成产品兼容性互认证 构建全业务链路的可观测性

观测云

种草 Vue3 中几个好玩的插件和配置

江南一点雨

Java Vue

火热与争议并行,XDR路在何方?

极盾科技

网络安全 安全 信息安全 数据安全 xdr

兆骑科创创新创业大赛,双创活动,赛事承办,三招三引

兆骑科创凤阁

【Java】:程序流程的控制

翼同学

Java 学习 编程语言 分享 8月月更

软件测试100天上岸1-测试就是找茬游戏

和牛

测试 8月月更

直播系统源码——重视哪些功能的开发?

开源直播系统源码

软件开发 直播系统源码 直播功能

CSDN 加入星策开源社区,携手推动企业智能化转型建设

星策开源社区

企业转型 智能化 CSDN

企业实践|基于软件研运一体化DevOps平台的应用解析

云智慧AIOps社区

DevOps 自动化 敏捷开发 研发管理 代码托管

Alibaba最新发布的Spring Boot项目实战文档,Github标星78k

Java面试那些事儿

Java Java 面试 java程序员 Java工程师 spring-boot

开源一夏 | 在STM32L051上使用RT-Thread (一、无线温湿度传感器 之 新建项目)

矜辰所致

开源 RT-Thread 8月月更 STM32L051

重磅发布!阿里云全链路数据湖开发治理解决方案

阿里云大数据AI技术

大数据 阿里云 数据湖 数据分析

让GitHub炸锅的深入理解MySQL实战手册,竟出自阿里云“藏经阁”

冉然学Java

Java MySQL 高可用 阿里 构架

点赞破百万!字节算法大佬亲撰30W字数据算法笔记:GitHub标星93K

小柴说Java

数据结构 算法 算法题 算法与数据结构 算法面试题

容器化 | 一文搞定镜像构建方式选型

RadonDB

MySQL Docker Kubernetes 镜像 RadonDB

HUAWEI内网最新发布了一份452页网络协议手册,GitHb百万收藏

小柴说Java

Java 网络协议 java程序员 TCP/IP Java工程师

对话张星亮,洞察本质,SaaS首先是一种商业模式

B Impact

兆骑科创国内外创新创业服务平台,创业大赛,企业落地孵化

兆骑科创凤阁

干货!XDR产品安全检测体系如何更好的落地?

极盾科技

网络安全 安全 信息安全 数据安全 xdr

从0到1打造推荐系统工程实战

Jay Wu

推荐系统

从太平洋保险DCOS实践看传统企业的魅力变革_最佳实践_黄超_InfoQ精选文章