当前位置: 首页 > 科技观察

应用程序现代化的11个秘诀

时间:2023-03-15 09:45:14 科技观察

将遗留应用程序拖入现代时代是当今数字战略的关键支柱。但它也比你想象的更难、更昂贵、回报更少。根据TwoBitHistory.org的调查数据显示,《财富》95%以上的Top1000企业仍在使用IMS——IBM古老的分级数据库管理系统(DatabaseManagementSystem,简称DBMS)。相比之下,我自己的非正式调查结果表明,最优秀的IT开发人员根本不会对在这种环境中工作感兴趣。吸引顶尖人才的能力是CIO对其应用程序组合进行现代化改造的一个原因——不是唯一的原因,但却是最重要的原因之一。其他原因包括降低许可和支持成本,以及提高灵活性和适应性。其实,“现代化”并不像看起来那么简单,它有一些不为人知的秘密,聪明的CIO在决策时会充分考虑这些秘密。1.应用程序现代化是一个复合问题应用程序现代化涵盖针对一组非常不同的问题的一组非常不同的解决方案。根据应用程序和与您交谈的对象,应用程序现代化可能意味着版本更新、重新平台化、平台更换、语言现代化、重构或商业现成/技术(COTS)转换。尽管它们都被称为“现代化”,但它们几乎没有共同之处。每个都有需要注意的陷阱。有些是众所周知的;而其他人则更加隐蔽和未知。此外,现代化意味着许多不同的事情这一事实本身就特别令人烦恼:在您对给定的应用程序进行现代化之前,您不仅必须决定是否对其进行现代化,还必须决定它需要哪种类型的现代化。然后乘以您投资组合中的应用程序数量。2.版本控制本身就是一种债务形式一些IT领导团队认为他们“不是为了技术而购买技术”的方法非常有商业头脑,并且不断地将一种过时的技术叠加在另一种之上,认为“如果它没有坏掉”,不要修复它”的方法来管理应用程序和它们运行的??堆栈。他们还将此逻辑应用于业务应用程序以及每个应用程序运行的每个平台——服务器操作系统、DBMS、CMS、开发环境、桌面操作系统、浏览器等——仅当特定的新功能带来特定的新功能时才更新新的投资回报率(ROI)。不幸的是,“后治理”法则仍然占主导地位:“后治理”总是比保持最新状态成本更高、更具破坏性。3.平台改造只解决一个变量将遗留应用程序迁移到具有相应平台的开放环境是另一种流行的现代化方法。例如,平台重构意味着从大型机托管的z/OS+COBOL+CICS+DB2迁移到x85托管的Linux+COBOL+CICS+DB2。在云迁移中,这称为“直接迁移”。通过这种方法,您可以降低许可和供应商支持成本。4.平台更换成本更高平台更换也是一种现代化方式,只是以应用程序运行的平台已经过时或失去市场份额为由更换平台。例如,您可以将应用程序的数据库管理系统(DBMS)从Sybase切换到SQLServer。虽然这种方法有时也称为“平台重构”,但它与上述平台重构没有任何共同之处。你用这种方法得到了什么?使用过时技术带来的风险和漏洞更少;和更好的人才库。你不能得到什么?降低成本或任何改进的功能。相反,成本会增加,因为您必须获得许可证才能更新平台。5.语言现代化常常使糟糕的情况变得更糟诱人的推销是自动化工具将从您遗留的COBOL代码中提取您的业务逻辑,并用现代语言重写它。这通常是通过用100,000行代码的Java应用程序替换100,000行代码的COBOL应用程序来实现的。这是语言现代化最黑暗的秘密:语言不仅仅是词汇和语法。语言带走了应用程序设计概念。第二个最黑暗的秘密:语言通常也会带走整个预开发逻辑库。编写新应用程序的开发团队使用这些库。很少有转码器可以做到这一点,这意味着它们生成的转换后的代码更难维护。6.重构以实现真正的现代化。因此,当然,昂贵且耗时的重构是一种现代技术,可以将过时的应用程序结构转换为符合经过验证的实践——例如,规范化数据,或将单体代码重构为微服务架构。一些工具声称可以自动执行大部分重构工作。无论如何,请尝试直到您选择了正确的工具。提醒一句:某些版本的自动重构会准确保留应用程序的行为。虽然这确实最大限度地减少了业务中断,但它并没有将夜间批处理应用程序转换为近乎实时的处理——这种架构变化最有可能推动竞争优势。重构以增强的适应性和灵活性的形式提供了重要的商业利益。但“天下没有免费的午餐”,建筑现代化确实能带来成果,但代价高昂,费力费力。7.COTS过渡可能听起来不像是现代化技术……但它通常是最好的现代化替代方案应用程序“生态系统”。这远非灵丹妙药——任何参与过向COTS/SaaS套件过渡的人都知道这有多么困难——但它通常是替换一组应用程序的风险最小和最干净的方法。8.了解你所拥有的,不要仅仅依赖自动化现在我们已经了解了你所选择的各种现代化方法的秘密,但是,还有一些更基本的事情需要注意。在您对应用程序进行现代化改造之前,您需要了解您拥有哪些应用程序以及它们是如何构建的,以便您可以了解刚才讨论的哪些类型的现代化改造可能适用。遗憾的是,尽管所有优秀的自动发现工具供应商都做出了“伟大”的承诺,但这些工具仅用于发现服务器,而不是用于发现服务器上运行的应用程序。更糟糕的是,如果您的应用程序清单没有完整记录,您也将无法完整记录每个应用程序运行的平台——开发环境、服务器操作系统、DBMS、内容管理系统和其他工具。只有认识到这一点并充分了解您所拥有的,您才能开始选择上面讨论的哪种现代化方法将提供最大的好处。9.软件是一种观点——这使得应用程序集成成为一个争论每个业务应用程序都编码了开发团队关于组织的某些方面应该如何运作的观点。其注释的语法写在代码中。它的词汇被融入到应用程序的数据设计中。当两个或多个应用程序的范围重叠时——举一个简单的例子,当应收账款和CRM系统都维护客户数据时——需要自动化来保持两组记录的同步。将投资组合中所有重叠的应用程序加起来,结果可能是数百个自定义点对点接口程序,每次开发团队添加或更改应用程序时,所有这些程序都需要修改和回归测试。企业服务总线(ESB)或类似技术可以帮助减少为每个应用程序定义单个接口的接口数量。但除了接口数量过多之外,还存在语义错位的问题——即您的应收账款和您的CRM系统的客户数据模型不同。协调同一实体的这些不同定义使集成开始变得棘手并且更难维护。企业服务总线(EnterpriseServiceBus,ESB)无法解决不同语义的问题,因为这本来就不是技术问题,开发人员也不同意。10.IT员工的现代化通常比他们支持的应用程序的现代化更难您的员工可能非常擅长维护和增强构成您当前应用程序架构的应用程序和底层平台。它们也是知识的宝库,确保它们的应用程序帮助企业按预期运行。但是,就您的现代化计划将实施的替代应用程序和平台而言,它们的能力较差。如果您的现代化计划要奏效,您将需要他们像现在取代他们一样有能力。除此之外,您还需要他们变得更有能力,这样他们才能发现机会来改善业务,只有熟悉可用工具和当前情况的聪明人才能做到这一点。“幸运”的秘密是:简单地解雇他们并雇用替代者是行不通的。当然,你可以选择直接解雇他们。但是寻找能胜任的替代者既费钱又费时,而且无论替代者多么能干,经验法则告诉我们,更换一名员工的成本相当于一名员工一年的工资——这当然是昂贵的。最后一个原因见下一篇。11.运行良好的IT组织很少需要现代化运行良好的IT组织实施生命周期管理。他们将始终保持一切最新。它还使预算保持可控——应用程序现代化工作稳定进行,几乎没有“大爆炸”,而且使您的员工队伍与应用程序和平台一起实现现代化还有一个令人愉快的附带好处。