ISOS 使用 Hasura 实现现代化 API 架构|提升开发效率与用户体验
文章目录
一. 挑战:对现代API方法的需求
国际SOS(ISOS)成立于1985年,是旅行风险管理和安全服务领域的全球领导者,为85%的财富500强企业提供服务。近年来,ISOS通过扩展其数字产品,为全球企业旅行者提供实时协助和监控服务,甚至在高风险情况下提供现场支持。
国际旅行通常伴随着各种风险,例如前往危险地区、应对突发健康危机、政治不稳定或自然灾害。ISOS通过其服务帮助企业在员工整个旅行过程中做好准备、预防和管理风险——从旅行预订到安全返回。
ISOS每天处理数百万条旅行者记录和行程。然而,其传统的API架构存在诸多限制,无法在一次API调用中从不同数据库获取数据。这种架构需要开发多个流程和体验驱动的API,不仅增加了应用程序性能瓶颈,还导致技术债务累积和功能开发速度减缓。为了解决这些问题,ISOS开始探索构建现代化API的新方法。
1. 数字产品与架构挑战
ISOS工程总监 Nitendra Raghuwanshi 带领团队开发并维护两种主要数字产品,占其业务部门60-70%的数字化转型成果:
- 面向旅行者的应用程序:提供高风险目的地建议、实时紧急警报以及全天候援助服务。
- 组织跟踪平台:帮助企业监控出国员工的行程。
ISOS的原始架构基于复杂的 .NET REST API体系,按照业务领域(如旅行者、行程等)组织数据。由于前端应用需跨多个领域获取数据,其API架构分为域API、流程API和体验API三个层次。然而,这种方法在以下方面存在明显扩展性问题:
a. 开发效率低下
所有API均需手动编码,开发和扩展过程缓慢且缺乏一致性。
b. 技术债务累积
传统API集成方案需要将域API聚合到流程API中,过程冗长且重复。
c. 性能瓶颈
API网关在扩展时遇到性能障碍,频繁需要干预和修复。
为解决这些问题,Raghuwanshi和团队启动了重新平台化项目,旨在优化API架构并提升整体效率。
二. 解决方案:与 Hasura 一起加快开发并提高性能
为满足灵活跨域组合的需求,ISOS选择采用 GraphQL 技术。然而,由于需要在三个月内交付200多个API,他们放弃了传统基于解析器的GraphQL解决方案(如 Apollo 和 AWS AppSync),转而选择了 Hasura。
Hasura 凭借低代码、无解析器开发模式,以及对开发人员效率的关注,迅速成为ISOS首选。工程主管 Bharadwaj Kunapuli 表示:“团队中只有一两个人了解 GraphQL,传统开发的学习曲线较高。而 Hasura 的优势在于,它减少了编写解析器的负担。”
在正式采用 Hasura 之前,ISOS进行了严格的供应商风险评估(VRA),包括外部信息安全团队审查。Raghuwanshi 强调:“我们处理大量敏感客户数据,因此数据安全至关重要。”Hasura 通过了严格评估,并在后续技术评估中表现出色,最终被选为核心API解决方案。
三. 克服 API 复杂性,实现高效数据处理
Hasura 显著简化了 ISOS 的多层 API 架构。ISOS 的域数据分布在 SQL Server、PostgreSQL 和 Amazon Redshift 等遗留及云数据库中。通过 Hasura,ISOS能够在所有领域数据上构建一个可组合的 GraphQL API,完全消除了过去需要构建多个体验和流程 API 的需求。
Raghuwanshi 指出:“我们已经从需要调用三个API,转变为只需调用一个API。”这一变化减少了后端调用次数,提升了性能,查询效率在许多情况下提高40%以上。他补充道:“我们的产品通常需要跨域数据支持,而 Hasura 在这方面表现出色,这也是我们从中获得巨大价值的原因。”
此外,Hasura 直观的界面和强大的操作与权限管理功能,使开发团队能够独立创建 API,从而减少开发瓶颈并缩短交付时间。
四. 提高开发效率与成本效益
Hasura 的引入显著提升了开发效率和成本效益:
- 开发工作量减少40%
- 长期维护成本降低30-35%
- 为超过300万人提供增强的用户体验
Hasura 的安全功能使 ISOS 能够根据严格标准管理权限并优化数据安全。其其他功能,如通过查询调用 HTTP REST 端点及将数据作为具有本机查询的视图使用,也为 ISOS 的 API 开发流程增加了重要价值。
五. 宝贵的合作伙伴关系
Raghuwanshi 高度评价与 Hasura 团队的合作:“Hasura 团队对我们的反馈和需求反应迅速。例如,当我们需要支持 Redshift 时,Hasura 团队按时交付了这一功能。”此外,Hasura 团队解决了 ISOS 在过滤功能上的关键问题,确保了持续的反馈和改进循环。
总体而言,ISOS团队对 Hasura 的功能透明度和客户支持的专业性印象深刻。
六. 为数百万用户扩展服务
目前,Hasura 的 API 为 ISOS 的订阅和管理产品提供支持,每月管理 32,000 个数据源中数百万条乘客姓名记录(PNR)。Hasura 的高性能和开箱即用的功能组合,使其成为 ISOS 扩展服务的核心工具。
ISOS 的移动应用在 iOS 平台下载量达 1,300 万,活跃用户以百万计。Raghuwanshi 表示:“数百万人正在查看 Hasura 查询的结果,其性能表现一直非常出色。”
展望未来,ISOS计划将 Hasura 整合到所有新产品中,包括新的管理控制台,以进一步提升员工旅行体验管理能力。通过采用 Hasura,ISOS不仅提升了数字服务质量和性能,还为更好服务客户和实现其拯救生命的使命奠定了基础。
Raghuwanshi 总结道:“Hasura 是一款真正简化后端 API 开发的 SaaS 产品。它抽象了后端复杂性,让我们能够专注于业务逻辑,并以直观方式处理技术挑战。”
原文链接: https://hasura.io/blog/modernizing-api-architecture-isoss-journey-with-hasura
热门API
- 1. AI文本生成
- 2. AI图片生成_文生图
- 3. AI图片生成_图生图
- 4. AI图像编辑
- 5. AI视频生成_文生视频
- 6. AI视频生成_图生视频
- 7. AI语音合成_文生语音
- 8. AI文本生成(中国)
最新文章
- Web API与REST API的区别?
- 保护JavaScript客户端到API服务的通信
- PHP cURL带身份验证API调用指南(REST GET/POST 全流程)
- 如何获取天眼查开放平台 API Key 密钥(分步指南)
- 企业信息查询API在Java、Python、PHP中的使用教程
- 定制创意,尽在指尖:StickerBaker API让你的贴纸设计更简单
- 使用FastAPI和langchain做本地大模型的API
- Python调用AI写作 API: 自动生成博客文章的智能方案
- ISOS 使用 Hasura 实现现代化 API 架构|提升开发效率与用户体验
- 全面解析RESTful API设计规范:最佳实践与细节指南
- 什么是 API:产品、服务、集成还是其他?
- 手把手教你用Python调用Next.js API接口实现数据交互