揭秘众安科技云上数据库实践和智能运维演进

2016 年, 众安科技 成立。脱胎于众安保险,众安科技不仅继承母公司的技术力量,而且在行业中走得更远。

作为国内首家互联网保险公司, 众安保险 于 2013 年 11 月成立。

发展至今,众安在 6 年时间已累计承保 逾 250 亿张保单 ;在双十一时,使得 峰值处理能力突破 3.2 万笔 / 秒 ;2019 年上半年, 全国每六张保单就有一张出自众安保险

支撑这些成绩的正是众安保险核心系统——“无界山”。它是一个面向海量碎片化互联网场景,基于云分布式架构部署的保险核心系统。

当年老板很有前瞻性地宣布,要做一个支撑海量业务、面向互联网场景的保险核心系统时,我们内心都‘慌得一比’ 。”曾参与“无界山”建设的钟海平坦承说。

钟海平,现任众安科技数据库产品技术负责人。

回忆起“无界山”的建设,他介绍道,2014 年 4 月,“无界山”在众安保险启用。在此之前,众安使用的是一个外采的成熟保险系统。这个系统虽然成熟,但无法应对众安当时的保险业务(日均百万级),并不断出现一些性能、效率和稳定性方面的问题。

最后,这个外采系统遂被抛弃,这才有了完全自研的云上保险核心系统——无界山。

据钟海平透露,之所以上云,是因为传统 IDC 无法满足需求。一般来说,大多数金融公司通过自建 IDC 来满足需求。但是,自建 IDC 机房却是一个长周期过程:如果完全从土建开始,传统的 IDC 建设周期为 2 年。即使采用改造现有厂房的方式,IDC 建设周期依然长达 6-8 个月。

虽然我们做的是保险,但却是互联网保险,要面对瞬息万变的互联网场景,传统长周期的 IDC 建设无法满足我们弹性扩展的需求,而云正是一个很好的方案 。”他说。

数据库管理服务平台:云上数据库实践和探索

2019 年上半年,怀揣着“科技赋能保险”的愿景,钟海平转入众安保险全资子公司——众安科技。

他表示,“因互联网保险领域广泛的业务实践,众安在数据库领域一直保持创新,通过数据库全生命周期服务管理来保障业务的连续性。”进入众安科技后,他带领团队在数据库上做了这些事:

一是产品化改造了原来 DBA 团队内部孵化项目,推出了数据库管理服务平台——绿洲。希望将此前沉淀下来的经验,赋能更广泛的企业。

二是从安全和运营两方面,扩展了既有数据库的服务能力。

“安全”上, 在数据库 DevOps 研发流程中额外抽象出“安全员”和“审计员”两种角色,配合“DBA”角色形成“三权分立”的安全治理 。这三种角色贯穿数据库全生命周期,从而有效地保障了业务的安全生产。

“运营”上,数据库作为一种特殊的 IT 服务资源, 将传统主要依赖 DBA 人员分析数据库运行状况的数据,以诊断报告或质量服务的形式,直观友好地开放给众安科技业务技术管理人员 ,帮助他们更从容地应对业务增长和高峰活动。

同时,还开放给 IT 基础设施管理人员,让他们在洞悉数据库服务资源的同时,做好策略部署。

三是 数据库管理融入智能 。钟海平带领团队运用大数据和机器学习技术,结合智能算法,对数据库管理中的潜在资源瓶颈、高峰业务隐患和高风险活动进行实时监控识别、趋势预测,提供分析诊断、应急阻断、自适应或辅助决策。

四是推进数据库中间件领域的研发。为屏蔽数据库复杂的部署环境和保障服务连续性,让众安科技的应用程序更便捷透明接入数据库服务。

在众安保险积累了五六年的数据库经验,如今转战众安科技,钟海平总结道,“我们在天然匹配众安科技对内外部金融相关赋能业务保障外,更加融合科技能力,让数据库管理的质量不再依赖 DBA 的个人经验,让科技的保障更普世、赋能。”

据悉,2019 年,众安整个集团数据库服务保障业务连续性全面达到 99.99%,同时未发生任何数据库安全事件。

并且,钟海平还表示,“对内部实践中价值突显的项目,我们都会孵化成对外输出的产品,比如绿洲。”

目前,他正带领团队在数据库方面也在探索新的可能性。

众所周知,数据库作为一种特殊的 IT 服务资源,其服务的保障质量过多依赖于 DBA 的个人经验,一些关键问题的响应和处理时效很难保障。同时,对于潜在的重大隐患和数据安全风险,严苛的管理制度固然可以起到防控作用,但仍容易产生疏漏,也不利于高效迭代,要借助智能手段尽可能地前置发现问题所在。

此外,现在有很多采用 Paxos/Raft 协议打造的分布式数据库产品,随之而来的是数据库集群维护体量更大、复杂度更高。

针对这些问题,众安科技的数据库团队正在探索, 如何借助高度自动化和智能化去充分应对企业,包括超大规模分布式架构数据库的全生命周期,通过自愈、自治的方式去保障业务连续性

通常企业内部数据存储产品多样,比如 MySQL、MongoDB、Oracle 和 HBase 等, 每种数据库存储产品接入和使用方式不一样,对使用方和维护方都有一定成本 ;面对高速发展的互联网业务通常需要运营人员快速做出决策,但大多辅助决策的数据需要通过 ETL 工具导入到传统大数据体系运算处理, 不仅无法保证时效,而且增加人力和资源成本

钟海平表示,他们还在探索“面对企业内部多样的数据存储产品,在这些数据存储服务保障各自原有应用服务外,如何结合智能调度,提供统一抽象的入口数据服务,从而具备混合计算的能力。”

从人工到云端智能化运维

如果说数据库是众安保险系统的关键支柱之一,那么智能运维则是坚强的“后盾”。

与钟海平类似,梁亮是在 2014 年加入众安保险,负责业务运维工作。2019 年,他从众安保险转入众安科技,担任智能运维产品的技术负责人。

在他看来,智能运维(AIOps)这个概念提出来有好几年,但不是所有公司都能支持去做这件事。目前,有能力去实践或尝试的,几乎都是互联网的头部企业。

“基本上,智能运维是要达到一定的自动化阶段后,才会有‘智能’这个想法。”梁亮说。

据他介绍,众安保险在运维体系上经历了三个阶段:

第一阶段是 2013 年到 2014 年,人力运维,手工时代。人工去操作所有的变更、发布、上线和配置。

第二阶段是 2015 年,众安逐步把之前人工做的一些事情形成脚本。然后,又将这些脚本收集起来,实现了运维系统的工具化,比如是发布平台、配置管理系统等。

第三阶段,平台化,实现标准化、自动化运维。

据梁亮介绍,“针对项目管理、开发、测试、运维等不同角色的日常工作,我们开发了不同的系统,比如用于上线发布平台,容器管理平台,自动化测试平台,配置管理系统,监控及告警系统,运维管道和堡垒机等,通过可视化的流水线、根据不同的场景去使用”。

现在,他们正处于第四个阶段,针对一些自动化场景去做智能化的尝试。

由于在运维领域深耕多年,有着丰富的行业经验,梁亮认为,在传统的自动化运维体系中,重复性运维工作的人力成本和效率问题得到了有效解决。

但在复杂场景下的故障处理、变更管理、容量管理、服务资源过程中,仍需要人来掌控决策的过程,这阻碍了运维效率的进一步提升。而 AI 方法的引入,使得机器能够代替人来做出决策,从而让真正意义上的实现完全自动化成为了可能。

而众安保险为何要去尝试智能运维。他给出自己的回答:我们在实际中会遇到一些痛点,因为整个业务系统微服务化后,架构复杂、告警频繁,而这些问题通过传统的运维方式已经无法得到有效得到解决,尤其是在大数据复杂场景下,对运维有了更高的要求。

“比如说告警处理、智能化故障诊断、异常点检测、根因分析等智能运维核心的问题,我希望在这些场景上通过跟人工智能、机器学习和深度学习等学科的融合,去使我们的运维工作更加高效、业务系统更加稳定。”他说。

智能运维落地的两个关键

对企业而言,真正想要去落地智能运维,梁亮提出两个关键点:

一是数据和工具。监控系统是运维系统的基础,监控系统需要具备快速搜集和处理数据的能力,“我们要有数据才能去做数据分析。这是一个比较大的事情。因为没有数据去做相应的分析,就无法把它变成人或机器能读懂的信息。”他说。

二是人员或能力。建设整个自动化运维体系,乃至智能化运维体系,企业需要的人员,它是一个比较复合的人力结构。它要求团队人员,不仅仅要有运维的一些经验,包括运维开发,还需要一些平台的研发,包括大数据平台、机器学习平台,“我们需要有这种平台去支持我们的运维开发做研发”。此外,企业还需要具备一些的能力,去优化现有的算法和提高效率。

具体到众安科技智能运维的具体落地产品是三个“机器人”:

首先是守护机器人。通过监控系统采集的数据,守护机器人会做一些离线和实时的数据分析,然后从运维知识库或运维策略、调度策略中产生对异常的一些诊断分析。

比如,当业务场景碰到很多的一些异常事件和告警,需要对它做分析,这就需要守护机器人。

第二是运维助手机器人。传统的运维是从黑屏命令行很复杂,运维人员需要上服务器,查看日志或命令。众安科技开发了一个运维助手,用一种命令或可视化的方式下达指令。

第三个机器人是攻击机器人。它是为了检验日常业务系统的稳定性。“按照一些特定规则,我们希望看到它去业务场景‘捣乱’,来测试整个业务系统或智能运维体系的健康度。”梁亮解释说。

智能运维的真正价值是什么?

在梁亮看来, 智能运维的真正价值在于提高整个运维效率,提升系统的稳定性。

首先, 提升整个业务系统的可用性 。这通过各项业务指标的检测、异常事件的诊断和故障的一些修复来体现;其次,成本优化。对业务系统提前做容量规划,包括对现有业务系统运行的资源做一个判断。“这能建议我们去做一些性能优化,包括调度的合理分配”。

比如,在波峰或波谷时,采取相应调度,去调度我们的计算资源分配。最后,性能优化。有些业务系统,是否满足当前的业务场景,如果不满足,要去做一些性能优化。

此外是数据上。梁亮表示,“我们要把产生的一些监控数据去做数据分析。因为智能运维不是替代人,它不能完全取代人的工作,大量工作依然需要运维同学去做,包括整个平台建设相关的、运维知识库的构建等。需要运维团队、运维开发团队、人工智能团队、合力去做这件事,从而提高整体的效率。”

总的来说,所有业务系统总会发生问题,总会每天遇到那么多问题,那么多故障去处理。

这么多的问题,如果我们通过智能运维,利用 AI 技术去帮我们分担,可以减少我们出错的一些概率,提升整个系统的稳定性 。”他说。

通过积累的用户和数据,以及数年沉淀的技术能力,众安科技正在用技术去改造传统保险,让科技赋能金融。