作者:Christopher Tozzi 来源:企业网D1Net
组织的云计算之旅通常都将内部部署应用程序迁移到云平台中,而在这一过程将面临一些挑战,但最终将获得更多收益。
组织将工作负载转移到云平台中有时很简单,而如果可以将内部部署服务器提升并转移到IaaS计算平台,对组织来说将会带来更多好处。在某些情况下,组织将工作负载迁移到云平台则更具挑战性。例如,如果组织的工作负载涉及多个层次基础设施和软件,或者需要细致而复杂的供应流程,那么其云计算之旅可能会困难得多。
医疗保健服务商Optum公司首席工程师Bill Schneider在最近举办的Interop 2020会议中发表演讲,其报告题目为“我们的云之旅如何将传统应用程序迁移到AWS云平台”,其中讨论了该公司团队如何应对这些挑战的经验。Schneider对他及其团队如何将内部部署分析应用程序(或至少其中大部分)移至AWS云平台,为什么选择云架构,以及自从转移工作负载以来带来的好处进行了阐述和分析。
开发和管理医疗保健数据分析工具
Schneider及其团队将开发和管理应用程序称之为OPA,可以帮助Optum公司的客户管理医疗数据。该应用程序使他们能够查找和分析患者数据,并将其与医疗保健价格和所获得的医护质量等因素相关联。该应用程序是面向公众的资源,Optum公司的员工和客户使用该资源。
最初,OPA是一个由四个主要组件组成的内部部署应用程序。首先是存储Optum公司创建或收集的原始数据的文件;将数据从那里传递到Oracle数据仓库,在那里进行处理和重组;而在数据转换完成之后,移动到Oracle公司提供的数据集市;最后,通过MicroStrategy分析应用程序从数据集市提取数据,以便处理用户查询。
迁移到云平台
如今,OPA主要在云平台中运行。虽然仍然存在内部部署组件,因为数据管道从内部部署存储的数据开始,但是先上传到AWS S3存储桶,然后在将数据存储到AWS Redshift之前存储在其中。在Redshift中,可以通过AWS云中托管的MicroStrategy应用程序实例查询数据。
通过弹性负载平衡器(ELB)管理基于云计算管道的流量,这些流量将路由到不同的MicroStrategy实例。采用弹性负载平衡器(ELB),Schneider及其团队可以简化证书管理。他们还避免了在为OPA应用程序添加新客户端时更新DNS记录。
为什么要进行云之旅?
最初为OPA提供支持的内部部署架构受到一些限制。Schneider指出,除了获得Oracle软件许可的费用之外,该应用程序还面临着扩展方面的挑战,因为它在很大程度上依赖于内存中的高速缓存来使报告对最终用户作出响应。因此,为了支持更多的客户,Schneider和团队将不得不添加更多的服务器以提供更多的可用内存。
将OPA迁移到云平台为解决这两个挑战提供了解决方案。通过使用AWS Redshift代替Oracle的数据仓库和数据集市工具,Optum公司降低了其软件许可成本。同时,即使在应用程序正在处理多达十亿行数据的情况下,云平台也使为应用程序实例分配更多基础设施资源变得更加容易,以确保获得适当的性能。
应用程序迁移到云平台后出现的第三个优势是全自动编排。Schneider及其团队实施了AWS Step Functions,以调用AWS Lambda中托管的代码来处理置备和管理任务。Schneider解释说:“每个步骤函数代表一个高级过程,例如‘执行数据查找'或‘部署发布'。然后,这些步骤函数会调用一系列Lambda,每个Lambda都执行独立的任务,例如设置AWS基础设施或安全组。”
通过允许应用程序实例自动部署,这种方法实际上消除了人工启动新应用程序环境的需要。Schneider表示,与内部部署版本的应用程序相比,这意味着效率的巨大提高,为此,团队使用IaC工具(如Puppet)来协调一些管理任务,但在其他方面依赖于人工的工作流程。
云之旅面临的挑战
Schneider表示,OPA的云之旅并非没有坎坷。其中一个主要挑战是为应用程序开发人员找到方法,使其从进行开发工作的内部部署工作站安全地连接到基于云计算的环境。为此,Optum公司最初除了必须创建特殊的防火墙例之外,还利用了AWS的SSM服务,该服务使工程师可以通过HTTPS在云中的计算机上执行命令。
MicroStrategy的应用程序早在云计算成为标准之前就已经出现,但它的设计并不是为了作为高度动态的应用程序堆栈的一部分运行的。这带来了一些问题,但他的团队能够与供应商合作解决这些问题。
Schneider表示,自从将应用程序迁移到云中以来,内部的技术债务也已成为Optum公司面临的更为紧迫的挑战。在云中,技术债务不仅构成性能挑战,而且还带来直接的成本影响。展望未来,其团队的一个关键优先事项是继续寻找和解决OPA的技术问题,以确保该应用程序从成本和性能两个方面都尽可能高效。
结论
传统应用程序并不仅仅适用于云平台,可以直接将其提升并转移到托管虚拟机中。也并非只针对从一开始就诞生于云中的云原生应用程序。正如Optum公司云之旅的故事所表明的那样,组织可以采用复杂的、多层次的内部部署应用程序,并以一种允许组织充分利用其可扩展性和自动化特性的方式迁移到云中。