Kaiser Permanente使用Cloud Foundry开发会员服务

By: | 十二月 2, 2019
分享

医疗服务提供商Kaiser Permanente已经依托Cloud Foundry踏上了数字转型之旅。这家总部位于美国加州的非盈利机构在开发面向客户的服务时,努力将一系列传统技术与基于云的基础设施和基于微服务的部署相结合,从而大大提升地会员的满意度。

Kaiser Permanente的首席架构师亚历克斯·鲁宾(Alex Rubin)指出,从想法的产生到大规模开发和生产的实现不是一件容易的事。

Kaiser Permanente是一家顶级的综合医疗保健机构,拥有超过1200万名会员,21.8万名员工,700个医疗设施。这家有着70多年历史的公司拥有众多信息系统,其中大部分都位于公司的数据中心,这些数据对会员的管理至关重要。利用信息提供无缝的个性化体验是Kaiser Permanente保持会员生态健康的关键所在。

患者要求更直接的接触

随着医疗保健消费的不断提升,患者们希望从他们的保险公司和提供者那里更容易获得信息、建议和服务。同时,卫生保健专业人员希望在预防保健方面更多地与患者接触。现在,Kaiser Permanente的会员可以使用他们的智能手机进行预约,重新开处方,并通过发送信息与医生交流。

“我们要创建一个提模块化的数字架构,比如按需运行、数据库以及我们自己的基础层服务,这使我们能够创新并快速解决业务问题,而不会出现冗余。”

这项工作取得的成果是为会员提供了一些服务,比如与医生的视频访问,慢性疾病管理帮助,并指导会员到当地农贸市场,采购健康食品。

扩展对数据的访问是困难的

然而,访问会员信息对IT来说是一个巨大的挑战,因为记录存储在高度安全的后端临床系统中,而这些系统之前的设计没有考虑web规模的流量。“在这些系统中扩展数据访问是很困难的,”Alex说。

从操作的角度来看,这个困难通常归结为延迟。人们不能容忍系统的迟缓,不管提供他们想要的信息有多困难。Kaiser Permanente正致力于将医疗记录、药品交易、病历和其他重要数据整合成一个系统。

遗留问题的解决

Kaiser Permanente从部署内部应用程序开始使用Cloud Foundry,现在发展到将Cloud Foundry用于开发更复杂的面向会员的应用程序和服务。Alex说,提供会员功能和良好的体验是开发和运营团队大量努力的结果。将遗留的Java应用程序迁移到云微服务环境中是一件棘手的事情,因为团队要学会处理最终的一致性、分布式事务和对记录系统的调用。

Kaiser Permanente的微服务架构是解决问题的钥匙。从那里,适配器服务负责从后端系统获取数据,基于java的业务服务处理数据并包含业务逻辑。最后,基于nodejs的表示层服务与前端集成以服务用户请求。始终使用缓存框架来减少延迟。当应用程序团队构建新的服务时,团队通过修复整个系统的瓶颈和测试性能来工作。

提高性能

Alex说:“随着我们的多租户Cloud Foundry环境为增加工作负载而扩展,我们会仔细观察应用程序指标和系统资源。”“我们发现,对于某些工作负载,GO Router Keep Alive可以带来显著的性能差异,”他补充说。虽然内存可以由平台管理,但是CPU周期对于快速响应时间非常重要。可能需要在底层系统上扩展CPU资源。

Alex说,新的Cloud Foundry OCI分层文件系统特性和运行时调整来改善线程管理,对于降低CPU峰值非常有用。“此外,运行时可能不直接适合您的工作负载配置文件,因此您需要对它们进行调整和调优,”他说。未来的工作重点可以放在跨基础设施的CPU工作负载平衡支持,以及支持CPU配额的概念,将其作为管理和分配系统资源的一种方式。

Caitlyn O'Connell Profile Image

Caitlyn O'Connell, AUTHOR

The Marketing Communications Manager of Cloud Foundry Foundation, Caitlyn oversees content strategy and drives diversity initiatives.
SEE ALL ARTICLES