从太平洋保险DCOS实践看企业IT架构演变

简介:

ZD至顶网服务器频道 03月23日 新闻消息: 随着云计算的快速普及,传统企业越来越关注基于云计算的下一代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为辅助实现服务注册引流。

从太平洋保险DCOS实践看传统企业IT架构的演变 

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去启动一个容器。 

从太平洋保险DCOS实践看传统企业IT架构的演变

3. 任务调度: Marathon

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

   Mesos集群可以混合运行来自Marathon的不同类型的任务。

   Marathon基于Mesos的任务调度为动态调度,即每个任务在执行之前是不知道将在哪一台服务器上执行和绑定哪一个端口。

   下图为Marathon执行任务调度示意图。9台服务器(灰色)组成的Mesos集群上混合运行各种Marathon调度的任务,其中一台服务器坏掉以后,这台服务器上的任务就受影响,Marathon可把任务迁移到其他服务器上,实现容错。 

从太平洋保险DCOS实践看传统企业IT架构的演变

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的敏捷转型提供了新机遇。(文章转自infoQ)

作者简介

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

黄超 现担任中国太平洋保险集团股份有限公司信息技术中心需求规划与项目管理部资深IT架构师。2004年起在互联网行业从事互联网系统开发工作,中国最早一批进行互联网移动应用开发的IT人员,曾参与数款国内知名高并发大型互联网应用项目全程开发和架构设计。2009年起在太平洋保险就职,主要从事互联网项目,云平台和大数据相关技术研究和架构设计,结合自身互联网和金融行业的经验在互联网浪潮的改革中进行积极研究和探索。


原文发布时间为:2016-03-23

本文作者:胡罡 黄超

本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。



相关文章
|
1天前
|
缓存 负载均衡 API
微服务架构下的API网关性能优化实践
【5月更文挑战第10天】在微服务架构中,API网关作为前端和后端服务之间的关键枢纽,其性能直接影响到整个系统的响应速度和稳定性。本文将探讨在高并发场景下,如何通过缓存策略、负载均衡、异步处理等技术手段对API网关进行性能优化,以确保用户体验和服务的可靠性。
|
2天前
|
存储 监控 API
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第9天】 在本文中,我们将深入探讨如何在后端开发中构建一个高效的微服务架构。通过分析不同的设计模式和最佳实践,我们将展示如何提升系统的可扩展性、弹性和维护性。我们还将讨论微服务架构在处理复杂业务逻辑和高并发场景下的优势。最后,我们将分享一些实用的工具和技术,以帮助开发者实现这一目标。
|
2天前
|
运维 Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第9天】 随着数字化转型的浪潮席卷全球,企业正迅速采纳云原生技术以实现敏捷性、可扩展性和弹性。本文深入探讨了云原生架构的关键组件,包括容器化、微服务、持续集成/持续部署(CI/CD)和DevOps文化,并分析了这些技术如何帮助企业加速产品上市时间,提高运营效率,并最终实现业务目标。同时,文章也识别了企业在采纳云原生实践中可能面临的挑战,如安全性考量、团队技能提升和复杂的网络管理,并提出了相应的解决方案和最佳实践。
|
3天前
|
监控 API 持续交付
构建高效可靠的微服务架构:策略与实践
【5月更文挑战第8天】在当今快速演进的软件开发领域,微服务架构已经成为实现敏捷开发、持续交付和系统弹性的关键模式。本文将探讨构建一个高效且可靠的微服务系统所必须的策略和最佳实践。我们将从服务的划分与设计原则出发,讨论如何通过容器化、服务发现、API网关以及断路器模式来优化系统的可伸缩性和鲁棒性。此外,我们还将涉及监控、日志管理以及CI/CD流程在确保微服务架构稳定运行中的作用。
|
3天前
|
敏捷开发 持续交付 API
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第8天】 在数字化转型的浪潮中,微服务架构已成为企业追求敏捷开发、持续交付和系统弹性的关键解决方案。本文将深入探讨微服务的核心概念,包括其设计原则、优缺点以及如何在后端开发中实现高效的微服务架构。我们将通过实际案例分析,展示微服务如何帮助企业快速适应市场变化,同时保持系统的可维护性和扩展性。
|
3天前
|
监控 云计算 开发者
探索云计算中的无服务器架构:从概念到实践
无服务器架构作为云计算领域的新兴技术,正在以其高效、灵活的特性吸引着越来越多的开发者和企业。本文将深入探讨无服务器架构的概念及其在云计算中的应用,通过实际案例展示如何利用无服务器架构构建可靠、可扩展的应用系统。
|
4天前
|
弹性计算 Cloud Native 安全
云原生架构的未来展望:如何引领企业转型与创新
【5月更文挑战第7天】随着云计算技术的不断发展,云原生架构已经成为企业数字化转型的关键驱动力。本文将深入探讨云原生架构的优势、挑战以及未来发展趋势,为企业提供一种全新的技术视角,以实现更高效、灵活和可扩展的业务运营。
|
5天前
|
监控 负载均衡 数据安全/隐私保护
探索微服务架构下的服务网格(Service Mesh)实践
【5月更文挑战第6天】 在现代软件工程的复杂多变的开发环境中,微服务架构已成为构建、部署和扩展应用的一种流行方式。随着微服务架构的普及,服务网格(Service Mesh)作为一种新兴技术范式,旨在提供一种透明且高效的方式来管理微服务间的通讯。本文将深入探讨服务网格的核心概念、它在微服务架构中的作用以及如何在实际项目中落地实施服务网格。通过剖析服务网格的关键组件及其与现有系统的协同工作方式,我们揭示了服务网格提高系统可观察性、安全性和可操作性的内在机制。此外,文章还将分享一些实践中的挑战和应对策略,为开发者和企业决策者提供实用的参考。
|
5天前
|
监控 负载均衡 API
微服务架构在现代企业中的应用与挑战
微服务架构已成为现代企业构建灵活且可扩展软件系统的首选。然而,随着其应用的普及,企业也面临着一系列新的挑战。本篇文章将探讨微服务架构的优势、实施时遇到的问题以及解决这些问题的策略。
|
5天前
|
API 持续交付 开发者
构建高效微服务架构:策略与实践
【5月更文挑战第6天】随着现代软件系统的复杂性增加,微服务架构逐渐成为企业开发的首选模式。本文深入分析了构建高效微服务架构的关键策略,并提供了一套实践指南,帮助开发者在保证系统可伸缩性、灵活性和稳定性的前提下,优化后端服务的性能和可维护性。通过具体案例分析,本文将展示如何利用容器化、服务网格、API网关等技术手段,实现微服务的高可用和敏捷部署。