遗留应用程序对于任何大型企业来说都是一个难以避免的难题。但是,为了保持竞争力和将现有的应用程序重新调整到渐进的业务流程,企业有必要对这些应用程序进行战略性重构和实现现代化。不幸的是,如今的应用程序现代化的现状是资金不足,缺乏战略以及过度使用人工。这种情况造成了代价高昂的滚雪球效应,导致云计算技术和遗留系统之间的不一致、架构崩溃、技术债务、安全漏洞和性能问题日益严重。
为了摆脱这种现状,企业必须成熟地利用云计算技术来实现应用程序现代化。以下来探讨一下将更全面、数据密集型和云原生开发的视角放在遗留应用重构和重新架构的挑战上的好处。在这一过程中,人们将看到更多的云原生方法对企业在迈向更敏捷、更安全、更可扩展运营的旅程的成败所产生的关键影响。
应用程序现代化的痛点
在当今竞争激烈的市场和资源紧张的情况下,私营和公营公司都需要从其信息科技产业中获得比以往更高的可靠性和效率。这使得关键业务应用程序继续在遗留或即将淘汰的技术上运行的前景成为一场灾难。企业难以采用过时或表现不佳的应用程序,因为IT企业的致命弱点是风险、低效率和停机时间。
然而,在人工重构和迁移遗留应用程序的不足现状下,当应用程序实现现代化时,很少有问题得到解决。这个过程受到人为错误和缺乏可扩展性和速度的阻碍。这些限制会导致对应用依赖关系的可观察性和理解不佳,缺乏知识和不充分的文档,以及由于缺乏资源和可重复性而导致的更长的部署时间。
当维护不良的应用程序发生故障并导致运营中断或减慢时,这些问题将转化为巨大的延迟和宕机成本。这个问题远不是假设的:一次典型的中断可能会给企业造成每小时30多万美元的损失,有些中断每小时的损失在100万到500万美元之间,这是一个新的问题。
不幸的是,这个问题很普遍,而且数量一直在增长。Gartner公司预测,到2025年,当前90%的应用程序仍将在使用中,而高达40%的应用程序将为维护技术债务提供IT预算。作为通往云平台的“阻力最小的路径”,一些企业追求“提升和转移”这样的迁移,仅仅是将问题从内部部署的服务器迁移到云计算的服务器。这只会使技术债务、糟糕的架构和糟糕的云利用率的陷阱永久化。
学习和利用云计算的全部好处
从上述所有挑战中得到的教训是,仅仅在云中是不够的。为了现代化遗留应用程序,必须进一步采用云原生范例。关键是要充分利用容器化、无服务器、Web Assembly和相关架构模式(如微服务)在云中实现的计算灵活性,然后在自动化的帮助下扩展这些云原生开发技术。
理想的应用程序现代化方法是一种全面的开发和转换方法,利用自动化在应用程序现代化过程的每个阶段扩展智能、可重复的过程。云原生技术和工具可以而且应该应用于从最初发现到迁移、部署和持续维护的整个生命周期。
这种方法是什么样的?在评估阶段,人们通常会看到资产元数据、依赖关系、技术债务和合规性突发事件的严格映射——所有属性都定义了如何在云中构建新的剖析和应用程序架构。接下来,应用程序应该被分解为迭代构建的新的云原生架构,这样增强的技术就可以稳定地应用到生产中的现有应用程序中,以提高它们的性能和安全状况。
在理想情况下,部署阶段应该在高度自动化、目标不可知的模式和低代码平台的帮助下展开,以实现速度、敏捷性和可访问性。部署之后,使用敏捷的持续集成(CI)/持续交付(CD)框架可以促进持续的维护,以优化部署并持续监控技术债务。在每个阶段,自动化工具都应该到位,以安全有效地大规模支持这些流程。
成功方法的关键要素
虽然每家公司都必须定制自己的方法,以满足特定的独特业务和功能需求,这些需求定义了应用程序现代化的待办事项清单,但在为云原生、自动化应用程序重构和重新架构建立系统时,需要争取一些功能和能力。
首先,企业应该建立可观察性,以持续跟踪漂移,并精确地标记技术债务出现的时间和地点。企业的现代化计划还应该能够使用最新的云原生开发迭代更新应用程序架构,以适应不断变化的业务需求和技术动态。最好的解决方案甚至包括可重复和受治理的服务现代化增强的可重用模板。这允许未来的平台集成,为企业IT产业带来人工智能/机器学习、WASM、物联网和边缘集成等新技术。
此外,正确的员工流程和文化是采用云原生方法实现传统应用现代化的关键优先事项。开发人员和云计算工程师需要采用一种加速的DevOps方法,将遗留应用程序快速引入持续改进和持续交付管道。测试和发布周期也显著地加快了。有了正确的方法,数字化转型团队可以将应用程序的重新部署时间从几天减少到几分钟——为生产、开发和持续的质量保证快速转换环境。
最后,如果以牺牲安全为代价,那么即使用有再多的云原生创新都不值得付出努力。这就是现代化工作应该在安全的环境中生成的原因,并具有升级底层运行时版本的能力,以减少对过时软件的依赖。还应该有安全的、现代化的内部部署目标,用于尚未用于公共云的关键任务和敏感应用程序。在整个现代化工作中,应该尊重自动化身份、访问管理和攻击面控制的领先实践。
对于任何希望进行数字化转型的企业来说,对遗留应用程序现代化的需求都是不可避免的。但是,如果将最新的云原生现代化技术和先进的自动化技术正确地结合起来,企业可以缩短迁移时间并管理技术债务,以保持在市场竞争中处于领先地位。在这样做的过程中,他们还通过加速创新、急剧增长以及随着时间的推移产生指数级价值的迭代周期,为企业的未来提供了证据。