写点什么

从太平洋保险 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:472497

评论

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

dfs专项练习题

工程师日月

DFS 5月月更

普渡科技宣布成立“PUDU-X”创新基金,为青年工程师筑梦未来

Geek_2d6073

Authing 身份云招聘:增长黑客

Authing

招聘 科技

【LeetCode】数组中的第K个最大元素Java题解

Albert

LeetCode 5月月更

英特尔庄秉翰:推动5G释放数字经济潜能,拥抱“银发时代”美好生活

科技之家

宜搭5月更新:跨应用数据读写能力升级,AI组件内测开放

一只大光圈

天翼云推荐新人返好礼,最高返利千元

天翼云开发者社区

青藤入选信通院“数据安全推进计划”成员单位

青藤云安全

数据安全 信通院

极速调取客户保单,YRCloudFile 助力保险存储架构升级

焱融科技

AI 存储 NAS 数字金融

OceanBase 源码解读(十一):Location Cache 模块浅析

OceanBase 数据库

oceanbase 源码解读

先是IPV6,再是WI-FI7你都清楚这是什么吗?

郑州埃文科技

ipv6 IP地址

springboot集成activiti整套方案()

金陵老街

Vue ERP Activiti spring-boot

七、云原生日志审计

穿过生命散发芬芳

日志 5月月更

计算机网络概述

工程师日月

计算机网络 5月月更

阿里云联合鼎捷软件发布云上数字工厂解决方案,实现云MES系统本地化部署

阿里云弹性计算

数字化转型 MES系统 中小企业 云盒

美团二面:为什么Redis会有哨兵?

Java全栈架构师

Java 数据库 redis 程序员 面试

4月券商App行情刷新及交易体验评测报告,7家券商入围领导者象限

博睿数据

性能测试 系统运维 博睿数据 券商排行

SysAK 应用抖动诊断篇—— eBPF又立功了! | 龙蜥技术

OpenAnolis小助手

Linux 工具 内核 ebpf 龙蜥技术

【刷题第14天】两个链表的第一个公共节点

白日梦

5月月更

520特别企划 | Z世代进入婚恋市场,婚恋交友行业会有什么变化?​

易观分析

Z世代

论道原生:走进可观测性

Daocloud 道客

云原生 可观测性 OpenTelemetry

All in ONE!博睿数据重磅推出一体化智能可观测平台

博睿数据

博睿数据 IT运维 ONE平台

生命科学领域下的医药研发通过什么技术?冷冻电镜?分子模拟?IND?

GPU算力

关于 WordPress 你了解多少?

海拥(haiyong.site)

WordPress 5月月更

源码解读预告 |TiFlash DeltaTree 引擎设计及实现解析!

TiDB 社区干货传送门

【高并发】什么是ForkJoin?看这一篇就够了!

冰河

并发编程 多线程 高并发 协程 异步编程

【活动报名】TiDB 社区天津站 Meetup 要来啦!

TiDB 社区干货传送门

Authing 被世界经济论坛评选为 2022 技术先锋企业

Authing

身份云 科技 Idaas 科技企业

ECSM隐私协议

潇潇雨歇

5.26直播预告|《观见话题》第一期:跨境组网与加速上云的硬核解法

观测云

AIRIOT物联网低代码平台如何配置OPC UA驱动?

AIRIOT

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