从DocumentDB和Elasticsearch迁移创建了一个简化和流程化的数据基础,用于新的基于事件的微服务
成立于1858年的Helvetia是瑞士最大的保险公司之一,为欧洲超过700万个人和企业客户提供服务。
通过其“Helvetia 20.25”战略,公司旨在成为财务安全的最佳合作伙伴,并设立新的客户便利性和接入标准。实现这一目标的一个方面是对其IT系统进行多年的转型。转型的核心是解锁被核心后端系统约束的多个数据孤岛,并将它们在Amazon Web Services (AWS)上运行的云原生微服务中进行联邦化。Helvetia容器平台为公司开发者提供基础,以构建吸引人的新客户体验,同时提高业务敏捷性和上市时间。
公司选择了具有统一数据库和应用搜索功能的MongoDB Atlas,以支撑公司的容器平台。今天,MongoDB Atlas为30多个不同服务提供支持,还有更多服务正在开发中。
在转型之旅中,Helvetia将Amazon DocumentDB迁移到了MongoDB Atlas,并用MongoDB Atlas Search替代了Elasticsearch。结果是:新应用功能发布速度提高了90%以上。
图1:Helvetia创建面向客户服务的架构蓝图
容器平台的一个关键服务为Helvetia的销售团队提供了快速可靠访问客户数据的能力。该服务需要提供对所有客户接触点和保险产品的单一、360度的实时视图。这包括保单详情、报价、账户历史和客户服务信息,所有这些信息都通过快速可靠的全文搜索向用户展示。
从项目一开始,Helvetia的解决方案架构师就清楚,与传统的关系型数据库相比,文档数据库将是一个更好的技术选择。
Daniel Maier,Helvetia首席解决方案架构师
由于Hevetia的容器平台运行在AWS上,销售应用程序的第一个版本是在DocumentDB上构建的——这是Amazon对MongoDB文档数据库的模拟。为了提供应用搜索,将Elasticsearch附加到DocumentDB。然而,Helvetia的工程师发现DocumentDB缺乏许多MongoDB的高级查询和聚合能力,这些能力是支持高级应用功能所必需的。它也难以满足应用的可伸缩性要求。
为了解决数据库问题,团队决定从DocumentDB迁移到MongoDB。然而,与Elasticsearch的集成仍然复杂且成本高昂,需要通过单独的Kafka集群同步数据库和搜索引擎。
虽然Elasticsearch在Helvetia团队中受到好评,但其与数据库的复杂集成正在减慢创新速度。它未能提供最新的客户数据,影响了用户体验和客户满意度。通过将Elasticsearch附加到他们的MongoDB Atlas数据库,Helvetia团队不得不应对
图2:拥有数据库、搜索引擎和数据同步的多个系统导致的技术蔓延,增加了架构复杂性
从DocumentDB迁移到MongoDB Atlas非常简单。完成概念验证和测试后,Helvetia工程师只需将DocumentDB备份恢复到Atlas。由于DocumentDB使用MongoDB驱动程序,应用程序无需进行任何更改,除了能够利用他们之前在DocumentDB模拟中无法使用的所有最新的MongoDB数据库功能。由于MongoDB Atlas与AWS平台紧密集成,Helvetia团队无需在现有使用的任何Amazon服务上进行妥协。
迁移完成后,Helvetia解决方案架构师利用这个机会通过从Elasticsearch迁移到Atlas Search来进一步精简和简化他们的技术资产。由于Atlas Search建立在与Elasticsearch相同的Apache Lucene库之上,因此像自动完成、支持分析器的多语言支持以及快速计数和排序等关键功能将保留核心应用程序功能。
为了开始迁移,Helvetia工程师首先审查了Elasticsearch索引定义,并将它们映射到Atlas Search。通过几轮API调用,配置的索引在MongoDB Atlas中部署,数据库和搜索索引之间自动同步数据。在重新编码查询以使用熟悉的MongoDB查询API后,Helvetia团队能够验证搜索结果的表现和可靠性。
Daniel Maier,Helvetia首席解决方案架构师
图3:在MongoDB Atlas中完全集成的数据库、同步和搜索实现了显著的架构简化
Johannes Mangold,Helvetia的首席解决方案架构师
Johannes Mangold,Helvetia的首席解决方案架构师
在数字转型之旅的下一步,Helvetia 团队将通过公司的自助服务平台直接向客户展示其销售应用程序。通过迁移到 MongoDB Atlas,Helvetia 现在拥有了可扩展、灵活的基础设施,可以继续让客户满意。
如果您对使用最新的云原生技术感兴趣,Helvetia 团队非常愿意听到您的声音!请查看 Helvetia 招聘网站 上的开放职位。
如果您想深入了解 Atlas Search,您可以在 Atlas 免费层 上免费启动它。您可以使用我们的示例数据集,在 Atlas Search 文档 中参考材料和教程进行学习,或者在自己的开发沙盒中加载自己的数据以进行实验。