QCon伦敦:医疗保健现代化——从本地部署到云端

Livi 的云迁移之旅

在 QCon London 大会上,Livi 的高级工程师 Leander Vanderbijl 分享了将本地解决方案迁移到云端的旅程,包括面临的挑战以及在整个过程中所做的决策背后的思考。此次演讲属于“连接系统:API、协议和可观察性”专题的一部分。

MJog 系统的复杂性

Livi 是一家医疗保健服务提供商,运营着 MJog 系统,该系统结合了本地和云组件。MJog 在全国范围内有多个安装实例,每个实例使用不同的技术,包括 Delphi 和多种 SQL 数据库,运行在 Windows 环境中。MJog 的架构是本地和云端组件的混合体,反映了多种技术和架构模式。

迁移的挑战与决策

Vanderbijl 指出,组织在现代化基础设施时常常面临选择“直接迁移”(lift and shift)还是进行完整的云端重写的困境。直接迁移虽然实施速度快,但成本较高,对预算有限的实体来说并不理想。而云端重写虽然可以通过云原生服务解决财务问题,但需要大量时间投入,可能会延迟满足客户需求。

Livi 的混合策略

Livi 通过采用混合策略成功应对了这一挑战。该策略有效地缓解了两种选择的缺点,既保持了客户满意度,又确保了向云端过渡的成本效益。Livi 通过深入了解问题并制定策略,设计了一个既能解决技术挑战,又能在过渡期间保持强大客户关系的解决方案。

迁移策略的关键步骤

Livi 的迁移策略包括以下关键步骤:

  1. 功能和技术栈的梳理:对现有功能和技术栈进行全面评估,揭示出多样化的技术堆栈。
  2. 功能域的整理:将功能组织成连贯的域,并将相关的功能分组为可重复的服务。
  3. 电子病历(EMR)同步:通过 EMR API 同步和连接电子病历,简化数据流到消息服务的过程。
  4. 微服务与单体架构的选择:最终选择了微服务架构以满足可扩展性需求。
  5. 增强可观察性:致力于提高系统的可观察性,解决“意大利面条代码”问题,为更清晰、更易维护的解决方案铺平道路。

应对内外部政治挑战

在迁移过程中,Livi 团队面临了内外部政治挑战。Vanderbijl 强调,大型项目最大的挑战是达成共识。他们通过召集一小群决策者并分析选项来达成决策。与第三方供应商的关系管理也很复杂,他们必须接受变化不会按照他们的时间表进行,并围绕这些限制开展工作。

应对变革阻力的策略

为了应对变革阻力,Livi 采用了早期决策的策略。然而,一些团队比其他团队更难适应变革。他们意识到应该为支持团队提供更多准备,目前正在构建更好的工具,并提供新系统的培训课程。

技术创新与决策

在技术选择方面,Livi 面临了技术债务、基础设施、客户请求和员工离职等复杂决策。最终,他们决定同时解决客户请求和替换流失的知识,通过将 MJog 重建为云原生应用程序来实现这一目标。

决策框架

Vanderbijl 分享了他们的决策框架,主要包括以下三个因素:

  1. 演进:他们采用“最小可行产品”(MVP)的理念,确保系统能够演进,并在时间和资金允许时迁移到“最佳”状态。
  2. 未知的应对:虽然无法预见未来,但应做好准备。Livi 在云端运行应用程序时面临许多未知因素,但他们选择了容器化作为起点,允许未来在需要时进一步解构应用程序。
  3. 明确自身限制:团队必须具备维护所构建系统的技能。Livi 选择容器化而非无服务器架构,因为团队在运行和管理大规模解耦的无服务器应用程序方面缺乏经验。

总结

Livi 的云迁移之旅展示了在复杂环境中如何通过混合策略、深入分析和灵活决策成功实现技术转型。他们的经验为其他组织在现代化基础设施和迁移到云端时提供了宝贵的借鉴。

阅读 18
0 条评论