首席架构师揭秘蚂蚁金服互联网IT运维体系实践

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
性能测试 PTS,5000VUM额度
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介:

 ◆ 

导 读


本文来自蚂蚁金服首席技术架构师,基础技术部负责人胡喜。从2010年支撑双十一最高交易峰值2万笔/分钟到2015年双十一的8.59万笔/秒,蚂蚁金服的技术架构和运维体系一直都在不断摸索和实践。本文就“互联网IT运维体系”这一主题,和朋友们分享蚂蚁金服在该领域的实践经验。


从2010年支撑双十一最高交易峰值2万笔/分钟到2015年双十一的8.59万笔/秒,蚂蚁金服在技术架构和运维体系方面不断摸索实践所取得的成果。在这个过程中,以持续技术演进和创新来支撑互联网金融业务的飞速发展,服务互联网金融生态伙伴,助力更多中小型金融机构成功向新金融转型发展和创新,是蚂蚁金服在技术持续发展道路上所坚持的愿景。 


蚂蚁金服长期致力于技术运维体系建设,有效保障历年双11的平稳运行,在大促当天业务量年年翻倍的基础上,持续保持系统可靠安全、无资金差错和顺畅的用户体验。兹通过本文就“互联网IT运维体系”这一主题,和各位致力于金融业IT信息化建设的同行朋友们分享蚂蚁金服在该领域的一些实践经验,以抛砖引玉互通有无。


 ◆ 

蚂蚁金服整体运维体系构成


蚂蚁金服的运维体系由三个主要版块构成:运维架构、运维平台、组织机制 。如下图所示:

通过一系列相互支持的分层元素的有机结合,形成一个完整的运维体系,来保障互联网金融业务的连续性。


(1)运维架构:奠定了架构基础,作用于IaaS层,目的在于通过一定的架构设计,使得基础设施能够达到高扩展性和具备快速容灾的能力;目前蚂蚁金服整体运维架构,采用的是自研的“异地多活架构”,与传统的“两地三中心”部署架构有所不同。


(2)运维平台:是互联网金融运维的重点设施。为了具备高效、安全、智能的系统运维能力,提高运维效率和保障系统稳定,蚂蚁金服基于运维平台化、数据化的设计理念,集合大数据计算和云计算的能力,形成了可控的金融级运维能力。其中包括金融安全风险控制能力、金融级业务连续性自动化保障能力等,并整体上形成了蚂蚁金融云PaaS解决方案。


(3)组织机制:作为运维体系的重要组成,组织机制保障了在运维过程中能够充分发挥运维架构和运维平台的强大合成能力,达成系统持续可用的最佳状态。

下面将结合双11大促的具体应用场景从三方面进行介绍:


  1. “异地多活”的运维架构

  2.   金融级业务连续性与自动化保障

  3.   业务连续性能力的组织机制保障    


 ◆ 

“异地多活”的运维架构


蚂蚁金服的运维架构定义了基础设施和应用系统等在IDC上的部署架构。随着蚂蚁金服业务的快速发展,传统以IDC为基础运维单元的“两地三中心”运维架构已经很难满足需求。当前蚂蚁金服已经演化形成“异地多活”的运维架构,以单元化机房(后面简称为LDC)为基础运维单元,以满足快速发展的互联网金融业务对基础设施扩展和容灾的高时效性、金融级安全性要求。


传统运维架构的部署模式,主要面临以下三个问题:


1、基于IDC的运维部署管理模式,在系统规模越来越大、复杂度越来越高的情况下,无论是网络、DB还是应用层面,其伸缩性能力无法持续提升,很难匹配各个层面的容量增长,将无法满足业务快速发展的要求。


如:“在应用服务器完成扩容之后,发现DB连接数和事务数又成为了瓶颈;等DB完成扩容,又发现网络带宽已经不够,需要对网络带宽进行扩容”;“当应用扩展到一定程度,DB的连接数成为突出瓶颈,对于传统的所有应用连接到一个DB分库上的架构部署模式,这个问题十分棘手”以上所面临的挑战,推进蚂蚁金服的运维架构向可按更小单元维度扩展的更优可伸缩方案演化。


2、对单元进行标准化建设的过程,即是对整体运维架构进行标准化的过程。单元标准化,需要保障每个单元的内部设施必须完全一致,标准化、可管理、可复制,而如何屏蔽各个IDC自身的基础设施差异性,是其中的一大挑战,这对整体运维管理提出了更高的要求。


3、传统IDC架构只能实现“两地三中心”的容灾架构,该架构模式下,异地容灾系统一般是“冷”的,其备份系统的功能完备性和切换时长均很难保障和控制,投入了大量建设成本,但可能会陷入“有而不敢用”的怪圈。在飞速发展的互联网金融应用场景下,要求运维架构上突破“两地三中心”的传统模式,向N+1“多活”的灾备方案演进,进一步提升故障恢复的体系性能力。


针对以上挑战和需求,蚂蚁金服提出了“LDC”架构,其核心思想是:把数据水平拆分的思路,向上提升到接入层、终端层,从接入层开始,把原来部署在一个IDC中的系统集群,进一步分成多个更细粒度的部署单元。该部署单元有以下三个特性:


1. 每个单元对外是封闭的,在一个单元内的系统调用链路和各类存储访问是局部化在本单元内的;


2. 每个单元的实时数据是独立不共享的;会员或配置类信息等对延时性要求不高的数据全局共享;


3. 单元间的通信统一管控,尽量以异步化消息进行通信;同步调用则通过单元间代理方案实现。


该架构解决了以下四个关键问题:


1. 由于尽量减少了跨单元交互和使用异步化,使得异地部署成为可能。整个系统的水平可伸缩性大大提高,不再依赖同城IDC;


2. 可以实现N+1的异地灾备策略,大大缩减灾备成本,同时确保灾备设施真实可用;


3. 整个系统已无单点存在,大大提升了整体的高可用性;同城和异地部署的多个单元可用作互备的容灾设施,通过运维管控平台进行快速切换,有机会实现100%的持续可用率;


4. 该架构下业务级别的流量入口和出口形成了统一的可管控、可路由的控制点,整体系统的可管控能力得到很大提升。基于该架构,线上压测、流量管控、灰度发布等以前难以实现的运维管控模式,现在能够十分轻松地实现。


2013年蚂蚁金服完成了同城LDC的落地,并顺利通过了2013年大促的考验。2015年在同城LDC架构的基础上,进一步升级完成“异地多活架构”并成功支撑了2015年大促的全天平稳运行。


“异地多活架构”是指基于LDC的扩展能力,在不同地域的IDC中部署LDC单元,并且每个LDC单元都是“活”的,是真正承接线上真实业务流量的,在发生故障时,可以进行LDC单元之间的快速切换。


这比传统的“两地三中心”架构有更好的业务连续性保障。“异地多活架构”下,一个LDC对应的灾备LDC是一个“活”的LDC,日常就在承接真实业务流量,其稳定性和业务的正确性是一直被确保的。


以下是蚂蚁金服“异地多活架构”示意图:



除了具备更快速的故障应急隔离和恢复能力之外,基于LDC架构,蚂蚁金服还具备了“蓝绿发布”和“灰度发布”的可靠变更验证能力。在单个LDC单元内部,又分成A /B两个逻辑组,A/ B组部署的系统链路是完全相同的。日常情况下,调用请求按照对等概率随机路由到A组或B组 。当开启蓝绿发布模式时,上层路由组件会调整路由计算策略,隔离A组与B组之间的调用,A组内应用访问封闭在A组内,而不会去访问B组。


以上粗略概况介绍了蚂蚁金服的底层运维架构,对应于IaaS层次,重点阐述了从传统IDC部署架构模式到基于LDC的“异地多活”架构的升级演进。下面将基于运维架构,介绍运维平台的部分,即金融云PaaS层次。

  

 ◆ 

金融级业务连续性与自动化保障


在2015年双十一当天,蚂蚁金服的支付峰值达到8.59万笔/秒,其中业务上关于支付工具和支付场景的规则达数百种,涉及的安全规则达上万种。不难想象,为了支持这些业务规模,需要管控的运维设备规模和程序代码变更频次的规模将是十分巨大的。(蚂蚁金服的十几个业务部门共计数百个业务,每周发一个版本,双11大促准备期间的频率更高)。


按照传统的方式很难高效、高质量地管理规模如此庞大的复杂系统,解决方案便是通过运维平台的建设,通过提供更高效、更安全、更智能的运维能力赋能于运维工作,从而支撑业务的快速稳定发展。


1. 高效 : 通过运维工作的平台化来提高运维效率。如系统监控平台、变更管控平台、动态资源管控平台、调度中心、注册中心等。


2. 安全: 基于自动业务验证平台和大数据运算规则,保障系统运行的稳定性与正确性。如数据核对中心、依赖管控平台、容量检测管控平台等。


3. 智能:基于大数据的分析和规则计算,进行智能化的运维管控。如自动故障分析处理系统、容量自动探测扩容系统等。


下面通过大促中的2个场景,也是日常运维过程中常见的两个场景(集群容量管理和故障应急处理),来整体介绍运维平台这三个特性的具体体现。


场景一(自动化容量管理):通过自动化的全链路压测、自动化的容量模型计算、自动化链路收集、自动化的扩容来实现日常的系统容量管理。


大致的步骤如下:


(1) 首先,通过“全业务路径压测”的方式,探测系统的容量瓶颈点。基于 LDC架构,在全链路压测之前,为每个LDC单元创建“影子LDC”,其数据与提供线上服务的LDC单元天然隔离,但充分利用了真实服务器集群的容量能力,可以有效的对线上实际容量进行探测验证。


(2) 通过基于大数据分析的监控系统,动态收集系统的运行时性能指标。


(3) 根据业务链路和容量模型,进行容量的瓶颈点分析。


(4) 弹性伸缩,进行扩容/缩容:对于内部系统,会计算出最后实际需要扩容的容量,通过PaaS平台,一键进入扩容流程,经过审核后,自动进行系统弹性扩容。如果是合作伙伴的瓶颈,会进行流量控制,并且通知合作伙伴扩容。


在本场景中,通过应用大数据和智能决策技术,能够高效、安全完成弹性容量管理工作,实现精益化运维。


场景二(自动故障处理):当故障发生时,监控系统通过对系统指标的监控,判定出受影响的业务和相关系统链路;通过大数据计算找到故障根因;结合变更和应急预案,直接提示应急方案,直至最后联动到应急平台,自动执行应急预案。


大致步骤如下:


(1)通过业务指标监控,快速发现有错误的业务;


(2)根据各个维度指标的计算,判定业务SLA的损失量是否达到需要启动应急预案的级别;


(3)根据业务管控策略配置,自动通知(旺旺、短信、电话等方式)相关人员上线进行应急处理;


(4)运维平台根据业务链路上系统依赖情况的梳理,绘制系统依赖图;根据系统链路图、错误数据、系统响应时间等数据,智能判断出错误源头,并根据变更管控信息,判断是否由于变更操作(线上发布、数据变更、网络变更、动态开关推送等)引起;


(5)根据变更信息和故障设备的应急策略,智能决策应急方案,发起人工介入审核应急处理流程,或者自动启动应急预案处理故障。


通过运维平台的建设,能够高效、高质量地完成复杂的应急工作,并为知识积累提供载体,使运维质量和效率不再依赖于个人的经验和智慧,使所有运维人员都可以胜任高效的日常运维。


 ◆ 

业务连续性能力的组织机制保障


在组织机制保障,蚂蚁金服构建了三道信息科技风险管理防线。

除此之外,蚂蚁金服还根据互联网金融的人员、组织特征,构建了多层次的组织机制保障体系,以保障整体架构规划实施、制度规范能够很好地在一线团队落地,保障从规划到执行的高质量落地;并且一线团队的实际问题可以反馈到上层架构组织和管理层,反作用于运维架构和运维平台的持续优化发展,进一步推进系统架构和运维水平向更高级别演进发展。

  

 ◆ 

未来是云时代


随着业务和运维架构平台的不断发展,除了本身平台能力朝着更高效、更安全、更智能方向提升之外,还尝试把运维平台和人员组织进行“云”化,能够快速支持蚂蚁金服集团内部业务发展,为业务团队快速具备DevOps运维能力赋能。


蚂蚁金服在精粹提炼多年技术沉淀的过程中,研发了“蚂蚁金融云”技术平台。该平台深度浓缩了蚂蚁金服对未来金融系统IT运维发展方向的沉淀总结。整个平台体系从应用运行时、弹性服务、基础服务、交付管理等几个方面,对整体从研发到运维的技术平台进行整合。


该平台不仅为研发人员提供了一套标准研发模型,也为运维人员提供了一套标准运维模型,这套基于金融云技术的体系,使得架构更替对研发人员更透明,也屏蔽了很多技术复杂性,让整体架构更容易管控和进行可靠运维,大大提高了对创新业务的快速支撑能力。


这一技术平台的强大支撑,在蚂蚁的理财业务、保险业务、芝麻信用、网商银行等多个创新区域得到了验证。通过基于“蚂蚁金融云”的运维体系,帮助我们在快速创新的过程中不断降低成本。随着蚂蚁金服“互联网推进器”计划的推出和实施,蚂蚁金服希望在5年内助力1000家中小型金融机构向新金融转型升级。


互联网金融IT系统的运维建设之路,后续期待和各位同行更多的交流和一起大力推进发展。


原文发布时间为:2016-08-25

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
5天前
|
弹性计算 Java 关系型数据库
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
Web应用上云经典架构实践教学
|
19天前
|
运维 监控 持续交付
自动化运维在现代数据中心的应用与实践####
本文探讨了自动化运维技术在现代数据中心中的应用现状与实践案例,分析了其如何提升运维效率、降低成本并增强系统稳定性。通过具体实例,展示了自动化工具如Ansible、Puppet及Docker在环境配置、软件部署、故障恢复等方面的实际应用效果,为读者提供了一套可参考的实施框架。 ####
|
20天前
|
运维 监控 Devops
自动化运维实践:打造高效的DevOps流水线
在软件开发的快节奏中,自动化运维成为提升效率、确保质量的关键。本文将引导你理解自动化运维的价值,通过实际案例分享如何构建一个高效、可靠的DevOps流水线。我们将从持续集成(CI)开始,逐步深入到持续部署(CD),并展示代码示例来具体说明。准备好让你的运维工作飞跃式进步了吗?让我们开始吧!
|
19天前
|
人工智能 运维 自然语言处理
智能化运维:AI在IT运维领域的深度应用与实践####
本文探讨了人工智能(AI)技术在IT运维领域的深度融合与实践应用,通过分析AI驱动的自动化监控、故障预测与诊断、容量规划及智能决策支持等关键方面,揭示了AI如何赋能IT运维,提升效率、降低成本并增强系统稳定性。文章旨在为读者提供一个关于AI在现代IT运维中应用的全面视角,展示其实际价值与未来发展趋势。 ####
123 4
|
21天前
|
机器学习/深度学习 人工智能 运维
智能化运维:AI与大数据在IT运维中的应用探索####
本文旨在探讨人工智能(AI)与大数据分析技术如何革新传统IT运维模式,提升运维效率与服务质量。通过具体案例分析,揭示AI算法在故障预测、异常检测及自动化修复等方面的实际应用成效,同时阐述大数据如何助力实现精准运维管理,降低运营成本,提升用户体验。文章还将简要讨论实施智能化运维面临的挑战与未来发展趋势,为IT管理者提供决策参考。 ####
|
21天前
|
运维 监控 Java
后端开发中的微服务架构实践与挑战####
在数字化转型加速的今天,微服务架构凭借其高度的灵活性、可扩展性和可维护性,成为众多企业后端系统构建的首选方案。本文深入探讨了微服务架构的核心概念、实施步骤、关键技术考量以及面临的主要挑战,旨在为开发者提供一份实用的实践指南。通过案例分析,揭示微服务在实际项目中的应用效果,并针对常见问题提出解决策略,帮助读者更好地理解和应对微服务架构带来的复杂性与机遇。 ####
|
21天前
|
算法 NoSQL Java
微服务架构下的接口限流策略与实践#### 一、
本文旨在探讨微服务架构下,面对高并发请求时如何有效实施接口限流策略,以保障系统稳定性和服务质量。不同于传统的摘要概述,本文将从实际应用场景出发,深入剖析几种主流的限流算法(如令牌桶、漏桶及固定窗口计数器等),通过对比分析它们的优缺点,并结合具体案例,展示如何在Spring Cloud Gateway中集成自定义限流方案,实现动态限流规则调整,为读者提供一套可落地的实践指南。 #### 二、
45 3
|
22天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维在企业IT管理中的应用与实践####
本文深入探讨了智能化运维(AIOps)的核心技术原理,通过对比传统运维模式,揭示了AIOps如何利用大数据、机器学习等先进技术提升故障预测准确性、优化资源分配及自动化处理流程。同时,文章详细阐述了智能化运维平台的实施步骤,包括数据收集与分析、模型训练与部署、以及持续监控与优化,旨在为企业IT部门提供一套切实可行的智能化转型路径。最后,通过几个典型应用案例,如某大型电商平台的智能告警系统和金融企业的自动化故障排查流程,直观展示了智能化运维在实际业务场景中的显著成效,强调了其在提升运维效率、降低运营成本方面的关键作用。 ####
43 4
|
19天前
|
消息中间件 运维 安全
后端开发中的微服务架构实践与挑战####
在数字化转型的浪潮中,微服务架构凭借其高度的灵活性和可扩展性,成为众多企业重构后端系统的首选方案。本文将深入探讨微服务的核心概念、设计原则、关键技术选型及在实际项目实施过程中面临的挑战与解决方案,旨在为开发者提供一套实用的微服务架构落地指南。我们将从理论框架出发,逐步深入至技术细节,最终通过案例分析,揭示如何在复杂业务场景下有效应用微服务,提升系统的整体性能与稳定性。 ####
31 1
|
21天前
|
监控 安全 持续交付
构建高效微服务架构:策略与实践####
在数字化转型的浪潮中,微服务架构凭借其高度解耦、灵活扩展和易于维护的特点,成为现代企业应用开发的首选。本文深入探讨了构建高效微服务架构的关键策略与实战经验,从服务拆分的艺术到通信机制的选择,再到容器化部署与持续集成/持续部署(CI/CD)的实践,旨在为开发者提供一套全面的微服务设计与实现指南。通过具体案例分析,揭示如何避免常见陷阱,优化系统性能,确保系统的高可用性与可扩展性,助力企业在复杂多变的市场环境中保持竞争力。 ####
36 2