为云计算实现遗留应用程序现代化的十个技巧
为了充分利用云计算的可扩展性和灵活性,大多数企业超越了简单的提升和转移方法,而是为它们注入云原生功能——这一策略听起来简单,但很快就会证明是复杂的策略。毕竟,就像许多看似简单的任务一样,细节才是关键。
幸运的是,只要企业具有切合实际的期望并做好充分准备,将遗留应用程序现代化到云端并不一定是一个漫长而痛苦的过程。为了帮助企业避免面临不必要的痛苦和挫折,需要考虑以下来自云计算现代化专家的建议。
1.有目的实现现代化
IBM咨询公司混合云服务管理合伙人Aparna Sharma表示,在开始之前,必须将任何应用程序现代化项目与正在解决的业务需求联系起来。无论是节省成本、提高安全性、增强功能还是其他任何东西,只有事先知道想要从中获得什么,其努力才会成功。
Sharma表示,她经常看到现代化举措纯粹是由参与最新创新的愿望驱动的。Sharma警告说,这种态度可能会导致未来的复杂局面。她说:“有了明确的结果和对原因的理解,就可以做出一系列选择来满足和解决企业的业务需求。”
2.评估资源,并在必要时合作
成功地对遗留应用程序进行现代化改造,首先要解决识别将迁移到云平台上的工作负载和资产、依赖关系、许可影响以及业务用例和收益所需的前期工作。
托管云服务提供商Navisite公司战略顾问Steve Woodgate表示:“这需要让整个组织的利益相关者参与进来,而不仅仅是IT部门内部的利益相关者,还要在遗留应用程序和要迁移的云计算领域都拥有专业知识。这将使企业能够为业务定义、开发和执行最佳迁移和现代化路径。”
Woodgate观察到,将应用程序迁移到云平台的企业经常面临技能短缺的问题,缺乏实现无缝过渡所需的内部专业知识。考虑到应用现代化的复杂性,他指出,值得寻找外部合作伙伴来帮助指导这一过程,并确保在过渡期间将业务影响降到最低。
3.彻底分析应用程序架构
仔细评估正在现代化的应用程序,以了解其架构、依赖关系和需求。IT安全服务商NCC集团的云安全服务全球实践主管NandorCsonka建议:“确定可以迁移到云端的组件,并评估任何必要的修改。”
Csonka建议,接下来确定最合适的应用程序迁移策略,无论是“提升”和“转移”、重新搭建平台、重构,还是从头开始重新构建应用程序。企业需要选择最符合自己的目标、时间和资源的策略。
4.重新托管、重构、重新架构、重建、替换——调整自己的方法
商业咨询机构普华永道公司美国云创新和工程负责人Will Perry表示,应用程序现代化有许多技术和选择,包括重新托管、重构、重新架构、重建和替换。企业需要选择正确的方法,并在做出最终选择之前仔细研究所有可用的选项。
Perry表示,成功的应用程序现代化应该提高业务和IT的敏捷性和可扩展性。重新搭建平台和重构方法利用了云服务和解决方案模式,使其成为最有效的方法。
5.使相关流程现代化
德勤咨询公司负责人AmodBavare建议,企业也要对底层业务流程进行现代化改造,包括用户体验和灵活性。他解释说:“牢记这些需求可以实现业务现代化,同时也可以实现应用程序架构、技术堆栈的现代化,以及利用人工智能/机器学习、移动性和微服务等云原生服务的能力。”
Bavare认为这种方法非常有效,可以帮助企业用户实现他们的愿景和目标,并使他们在市场上更具生产力和竞争力。
6.制定长远计划
技术咨询机构LTIMindree公司的云业务主管AshishVarerkar认为,持续的模块化方法是实现现代化的最佳途径。他观察到,大多数最初的应用现代化项目都将采用者吸引到一个永久的现代化道路上,使他们能够逐渐与关键的业务和技术目标保持一致。Varerka警告说,创建一个一刀切的标准化服务目录并迫使应用程序步调一致是无效的。
Varerkar还建议不要从头开始重建应用程序。他指出,这种方法很少实现目标,而且很容易因预算削减、超支或利息损失而被放弃。最好的方法是持续现代化,第一次迭代可能包括降低风险和启用新功能,以实现既定目标和KPI。
7.全面思考
技术咨询机构CapgeminiAmericas公司的云计算和定制应用负责人MukundSrinivasan建议,考虑到各种各样的选择,重要的是要遵循一种全面的方法,不仅要解决当前应用程序的现代化问题,还要应对未来的挑战。
他表示,首席信息官应该利用对云转型有深刻见解的合作伙伴,特别是通过使用DevSecOps、云原生加速器、基础设施即代码以及其他技术和工具构建的云平台。这使得快速软件交付和多管齐下的现代化方法成为可能。
Srinivasan解释说,整体方法还允许采用者利用经过验证的加速器和模式的组合,结合整个软件交付生命周期来加速应用程序的转换、部署和验证。
8.创建成熟度评估框架
全球管理咨询机构Zinnov公司的合伙人RajatKohli强调了建立一个三步成熟度评估框架的重要性。
Kohli说,第一步是发现和评估,将对当前的挑战和最终结果需求产生见解,并对当前的技术堆栈和体系结构进行总体评估。第二步是路线图创建,要求开发一个蓝图,构建通向最终目标场景的已定义路径。第三步是角色分配,包括为执行多个关键任务的特定利益相关者分配职责。他建议相关方应该包括内部和外部团队、技术提供者和应用程序测试组。
Kohli认为,创建一个评估框架将提高投资回报率,加速开发,并使企业能够在其现代化的应用程序中构建新的功能。它促进了多个应用程序同时运行,并与现有应用程序无缝连接。他解释说,“它还消除了限制生产力和集成的障碍,以创造新的用户体验并提高性能。”
9.组件化
软件开发商Reenbit公司的联合创始人兼首席技术官VasylMagometa说,遵循系统的方法很重要。他建议:“首先要分析应用的架构,找出可以改进的地方。然后,将应用程序分解成更小的、独立的组件,这些组件可以单独部署和扩展。”
接下来,Magometa建议利用云原生服务和技术,例如如容器和无服务器计算,来优化应用程序的性能和可扩展性。最后,通过逐步将应用迁移到云端并进行彻底测试,确保平稳过渡。”
10.实现容器和微服务的承诺
应用程序现代化是具有挑战性的,特别是对于IT领导者和第一次面对这项任务的团队。软件开发商Agilie.com的创始人兼首席执行官SergeyGladun回忆起他需要进行现代化的第一个主要应用程序。Gladun将这项任务描述为一个具有挑战性的项目,涉及重大的重构。“我们选择将单片应用程序分解为更小、更易于管理的微服务。”
Gladun表示,这个过程很耗时,但它使应用程序更具可扩展性和云友好性。他解释说,“微服务允许我们独立开发、测试、部署和扩展组件,使整个开发过程更加高效。”此外,通过Docker和Kubernetes等工具,容器化进一步增强了可伸缩性和可移植性,使应用程序与平台无关。Gladun总结说:“我们的现代化进程不仅提高了应用程序的性能,而且简化了维护和更新。