你的组织很可能正在寻求将遗留应用程序现代化、将单片应用架构拆分为服务,并迁移到公共或私有云基础架构。在此过程中,您可能还希望改善用户体验,创建CI/CD流水线,添加测试自动化,并实施一系列其他DevOps最佳实践。
这是一个宏伟的计划,但遗憾的是,最近的研究显示,79%的应用程序现代化项目失败了。在该研究中,92%的受访者正在进行应用程序现代化工作,平均项目持续时间为16个月,成本为150万美元。更糟糕的是,近80%的软件负责人和架构师承认有一个或多个失败案例。
虽然过去很流行,但如今许多CIO和DevOps团队都不愿使用"抬起并迁移"(lift and shift)方法进行应用程序现代化。即使应用程序的架构、安全性、性能和成本几乎没有迁移风险,迁移和测试的成本可能带来很少的业务利益或终端用户改进。越来越多的组织正在寻求采用低代码和无代码平台作为直接迁移的替代方案。
何时选择低代码或无代码平台
使用低代码和无代码平台是使应用程序现代化更具可行性的一种方法。一般来说,您不能直接将现有的代码和数据库移植到这些平台上,但它们提供了重建遗留应用程序的基础设施,同时解决了其缺点。
Copado公司的方法论高级总监Andrew Davis表示:“软件架构需要拓宽我们的视野,考虑到更大的系统、更广泛的可能性和更长期的时间尺度。遗留应用程序是一个有力证明:软件成本中有相当大一部分是在其长期维护上。低代码和无代码应用程序旨在减少复杂性,从而增加随时间推移的可维护性。”
低代码或无代码平台可以帮助加速应用程序现代化进程,但并非在所有情况下都适用。您需要确保应用程序的业务需求、用户体验、数据、架构、集成、安全需求、合规因素和报告与低代码或无代码平台能力相匹配。以下是一些建议,可以帮助您确定低代码或无代码是否适合您的应用程序现代化项目。
应用程序是否合适?
某些类型的应用程序和用例更适合低代码和无代码,尤其是用于部门业务流程(如审批工作流、入职、内容管理、工作队列、请求处理、预算管理和资产跟踪)的应用程序。另一组用例涉及集成、联接和合并为应用程序、报表或自动化提供数据的数据集。
这些业务流程和数据流的基础通常使用电子表格、文字处理器、电子邮件、Microsoft Access 数据库和其他桌面应用程序进行操纵。部门领导可以使用手动工作流程,使用机器人流程自动化(RPA)工具自动执行某些步骤,构建无代码应用程序,或要求IT部门为他们开发一个应用程序。当 IT 获准构建应用程序时,许多人选择编写代码,而不是使用低代码或业务流程管理平台。
任何由IT部门开发的应用程序都需要持续维护,不幸的是,部分较小的部门应用程序通常受到关注并不多。当需要对遗留应用程序进行现代化改造时,低代码和无代码平台可以成为加速器,尤其是当这些遗留应用程序具有以下特征时:
- 为小规模的用户、使用或数据而开发
- 由相对简单的业务逻辑构建,但可能存在许多需要员工干预的例外情况
- 使用简单的数据模型创建,尽管可能有大量数据、许多字段和凌乱的临时表
- 通过 IFTTT 逻辑或其他简单的数据流和转换与通用 SaaS 平台集成
- 用简单的报告构建,可以在公民数据科学或数据可视化工具中复制
选择低代码平台时要注意什么?
如果应用程序较为复杂,使用无代码平台进行重建可能会具有挑战性。选择能够加速开发的低代码平台更有可能具备所需的灵活性。一些平台甚至提供了加速现代化的工具。
现代化的低代码开发平台拥有各种内建加速器,这是非常重要的。WaveMaker的首席商业官Vikram Srivats表示:“如果时间和资金都匮乏,低代码平台提供了一种灵活的方法来显著增加现代化速度,通过API将遗留应用程序中已有的业务逻辑打包起来,并在现代、高效、安全的前端中使用它们。”
寻找具备现代化解决方案、应用市场或编码语言特定翻译器的平台。这表明该平台提供了现代化现有应用程序所需的构建模块。
低代码或无代码应用现代化的用例
下一步需要考虑的因素是现代化项目的类型以及团队希望从中获得什么收益。低代码和无代码工具比其他工具更适用于某些应用程序现代化场景。
实现用户体验现代化
实现现代化的常见途径是从头开始重建用户体验、业务逻辑和数据流程。认识到需要转变业务流程的商业领导者可能希望进行重新设计,但可能没有时间、预算或兴趣来开发自主的云原生应用程序。在低代码平台上构建全新的体验可能是一个可行的选择,特别是当利益相关者提出灵活的要求并且对低代码平台简化实施方式持开放态度时。
Kissflow的首席产品官Dinesh Varadharajan表示:
低代码已成为现代化传统开发视角下的遗留系统的解决方案。其目标不仅仅是复制现有系统,而是创建一个现代化版本。为了实现这一目标,低代码和无代码提供了明确定义、已经抽象化的并能提供现代组件的框架。这种方法的附加值在于能够快速创建一个更适应当前业务需求的现代化系统。
Descope的联合创始人Rishi Bhargava分享了为什么低代码方法可以带来长期的优势。他说:“抽象化更快,当将其可视化为低代码或无代码抽象时,构建开发者核心专业之外的支持系统更快。新开发人员可以更轻松地学习它,而不是费尽心思研究旧代码,许多定制代码需要开发者资源来进行维护和更新。”
在与开放思维的利益相关者和业务赞助人合作时,重新设计方法效果最好。寻找那些寻求执行工作流程新方式、愿意在实施方面做出妥协,并且不太可能将遗留任务视为硬性要求的利益相关者。
重新设计手动流程
另一种现代化路径是更新具有许多复杂和手动步骤的现有业务流程。对于技术人员来说,这些遗留应用程序看起来不完善,特别是当最终用户在应用程序之外承担更多重负或应用程序高度依赖数据而没有精心设计的业务流程时。关注流程中的差距可以促使开发自动化来替代手动步骤。
Tricentis公司的DevOps业务首席技术官Mav Turner表示:“遗留流程依赖于耗时且限制可扩展性的手动过程,导致缓慢、容易出错且成本高昂的流程无法跟上现代商业节奏。低代码和无代码解决方案使组织能够以更快的速度自动化端到端质量,并减少维护成本,简化开发团队的流程,并节省后续资源。”
用低代码测试自动化取代 UAT
在某些情况下,IT部门需要升级一个业务用户对其变化不感兴趣的应用程序平台。IT需要业务用户对现代化的应用程序进行用户验收测试(UAT),但业务用户没有动力履行他们的责任。当IT无法获得必要的支持来构建测试用例和进行重复性测试时,就会出现瓶颈。
一个解决办法是使用传统的步骤来现代化这些应用程序,然后使用低代码测试自动化平台来构建回归测试。其目标是消除UAT瓶颈,并留下一组回归测试来支持未来的升级。
Turner表示:“AI增强质量工程工具可以简化流程,标记潜在瓶颈,并赋予业务分析师和测试人员等非开发人员角色更多权力以确保质量。开发团队随后有更多时间专注于更专业的任务,并加快应用部署速度而不牺牲质量。”
结论
低代码和无代码平台提供了几种加速应用现代化的路径。成功的关键在于理解需求,与利益相关者合作演进业务流程,并审查低代码和无代码平台如何在加速开发的同时简化持续维护。
原文作者 | Isaac Sacolick
原文链接 | When low-code and no-code can accelerate app modernization | InfoWorld