当前,传统企业正在积极拥抱“互联网+”,寻求IT转型之道。
云计算驱动企业IT架构演进
随着云计算的快速普及,传统企业越来越关注基于云计算的下一代IT架构变革了。回顾企业IT架构演进历史,主要经历了“传统孤岛”、“x86+虚拟化”和“云化”这三个阶段。
最初的“传统孤岛”,软硬件堆栈各层间缺少统一的工业标准化,呈现出内聚与耦合的特征。随后的x86标准化带来计算、存储、网络、操作系统、中间件、应用层等多层次水平分工架构,为了提升IT灵活性和资源利用率,虚拟化开始在数据中心部署,IaaS实现了虚拟机级弹性伸缩,但IT基础设施扩张很快,系统层层堆叠,各层间集成交付的难度越来越大,同时,仅虚拟化也难以满足不断增加的业务对资源的变化需求。
于是企业开始期望将服务作为IT核心,提升业务敏捷性,同时大幅降低TCO,这时PaaS和应用资源池化实现了集群级弹性伸缩,很大程度上缓解了IT资源与业务发展之间的矛盾,让企业更专注于上层业务逻辑的运营。如果说IaaS属于云化的“初级”阶段,PaaS和应用资源池化就是云化的“进阶”阶段。
来自传统企业的一次“互联网+”
在今年春节期间,太平洋保险联合上海天玑数据,采用DCOS(数据中心操作系统)平台改造微信应用系统来支撑推出的“除夕夜摇红包”、“初五迎财神”等系列活动。活动期间轻松支撑高达每秒10万笔交易的业务高峰,仅除夕当夜微信增粉量就超过1300万。
数据中心操作系统(Data Center Operating System,简称DCOS)是为整个数据中心提供分布式调度与协调功能,实现数据中心级弹性伸缩能力的软件堆栈,它将所有数据中心的资源当做一台大型计算机来调度,可以视作这个大型主机的操作系统。下表给出了linux OS与DCOS(以基于Mesos为例)的类比:
这次太平洋保险进行综合评估技术选型后,最终选择了基于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平台采用223个主机节点,其中平台部分由5个节点构成Mesos Master Cluster,80个节点构成HAProxy Cluster,138个计算节点承载674个Docker Container,其中动态计算节点113个,静态计算节点25个。该平台可在1分钟内轻松实现扩展到1000个以上Docker节点。
结语
总之,传统企业在“互联网+”的背景下,IT基础架构的发展要确保新技术的研究和应用与企业未来业务发展需要相一致。而今,云计算相关技术正在逐渐演化成熟,尤其PaaS领域的技术发展更是日新月异。下一代轻量级PaaS正越来越为业内所关注。数据中心级的弹性伸缩、快速持续集成等轻量优势,能够帮助企业快速应对业务需求,为传统IT的敏捷转型提供了新机遇。
胡罡,现担任中国太平洋保险集团股份有限公司信息技术中心应用运行支持部副总经理。长期从事保险行业信息化建设,曾多次主持大型保险信息系统建设和推广工作,参与和实施保险核心系统数据大集中和重构工作,参与大型数据中心建设和系统搬迁,参与智能移动保险平台建设。目前主要从事云计算和大数据相关技术研究和应用,面对移动互联浪潮的挑战和机遇,积极探索和实践传统行业IT运维模式的转型升级。
黄超,现担任中国太平洋保险集团股份有限公司信息技术中心需求规划与项目管理部资深IT架构师。2004年起在互联网行业从事互联网系统开发工作,中国最早一批进行互联网移动应用开发的IT人员,曾参与数款国内知名高并发大型互联网应用项目全程开发和架构设计。2009年起在太平洋保险就职,主要从事互联网项目,云平台和大数据相关技术研究和架构设计,结合自身互联网和金融行业的经验在互联网浪潮的改革中进行积极研究和探索。
注:文章版权归作者所有,已在infoQ上首发,转载请注明。