DevOps、低代码和 RPA:优点和缺点

在当今数字优先的世界中,对熟练的开发人员和 IT 专业人员的需求从未如此高。光辉国最近的一项研究发现,到 2030 年,由于缺乏熟练劳动力,可能会有超过 8500 万个工作岗位空缺。

低代码提出了一个有趣的问题:技术可以用来代替技术人才吗?如果键盘可以代替手写,那为什么不使用基于 GUI 的平台来代替学习代码的需要呢? 

从历史上看,“低代码解决方案”主要用于描述技术平台,这些技术平台使非技术用途能够在不知道如何编码的情况下创建新应用程序。以这种方式使用,低代码比DevOps更成为敏捷理论的核心。敏捷致力于通过应用程序加速交付业务价值,而 DevOps 的重点是应用程序构建后的交付和维护。 

如果非 IT 人员使用低代码应用程序开发平台,那么 IT 专业人员如何在 DevOps 中使用低代码解决方案?

对于许多核心 DevOps 实践者来说,低代码的概念是一种 DevOps 反模式。DevOps 可能始于开发和运营团队合作方式的一种文化演变,但今天它已经演变成自动化管道和集成工具链的世界。

代码被用作通用语言,使 DevOps 团队能够使用相同的工具和实践来交付和维护大量的应用程序和技术。DevOps 团队使用代码为负责交付和维护基础设施和应用程序的运营团队带来与构建应用程序的开发团队相同的敏捷性水平。 

要了解 DevOps 团队如何使用低代码解决方案,我们需要扩展我们的思维,看看如何将低代码的原则应用于“基于代码”的解决方案,使其更易于学习、使用和维护。通过这样做,我们可以提出三种类型的低代码解决方案:

  1. 低代码应用程序开发平台  
  2. 机器人流程自动化 (RPA) 平台 
  3. 低代码开发语言

低代码应用程序开发平台 

DevOps、低代码和 RPA:优点和缺点


低代码应用程序开发平台已成为具有全面行业分析师覆盖面的标准技术集。Gartner 制作了 Gartner 企业低代码应用平台魔力象限,并预测2021 年增长率为23%。当今市场上引用最多的低代码平台之一可能是 Salesforce Lightning Platform Mobile。

低代码应用程序开发平台不仅有助于解决开发人员的技能差距,而且使业务主题专家能够设计和构建满足其确切需求的系统,同时绕过与 IT 合作定义需求并确定项目优先级的繁琐流程。博客“Salesforce 移动应用程序开发的未来” 引用了一个与 Salesforce 平台相关的示例,其中荷兰连锁超市 Jumbo 能够构建内部协作和任务管理系统、客户营养应用程序,并在同一天 -交货订单系统全部在八周内完成。

优点:

该领域解决方案的主要优点与易用性有关。只需点击几下,非开发人员就可以创建简单的应用程序、配置 UI 并部署到 App Store。不需要/最少的培训,可以使企业更敏捷,更迅速地响应不断变化的市场动态,使他们更具有竞争力。 

缺点:

低代码应用程序开发平台通常遵循开发的瀑布模式。一旦应用程序被创建以满足特定需求并交付,就没有继续开发或增强的真正计划。定制能力、灵活性和集成选项是有限的。也可能出现安全问题。

通常,复杂的应用程序和/或具有高度安全问题的应用程序不是很好的候选者。如果不在企业级别进行管理,应用程序的长期所有权也可能是一个问题,并导致“应用程序蔓延”。

机器人流程自动化 (RPA) 平台 

DevOps、低代码和 RPA:优点和缺点

RPA 程序使公司能够通过使用记录器创建软件脚本来自动执行重复性任务。对于我们这些记得在 Microsoft Excel 中使用宏记录器的人来说,这是一个类似的概念。

创建脚本后,用户可以使用可视化编辑器来修改、重新排序和编辑其步骤。2021 年 4 月 21 日的UiPath IPO表明这些解决方案越来越受欢迎,最终成为历史上最大的软件 IOP 之一。

RPA 程序的用例是无限的——任何通过 UI 完成的重复任务都是候选任务。RPA 是一个领域,我们已经看到业务用户设计的应用程序(UiPath 和 Blue Prism)与更传统的 DevOps 工具(特别是在测试自动化领域(Tricentis、Worksoft 和 Egglplant)和基于对话的新解决方案(如 Krista)的交叉点) .

在测试自动化的情况下,向业务用户提供轻量级记录器,然后他们可以记录业务流程。然后将录音提供给自动化团队,自动化团队创建一个强化的测试用例,然后将其输入 CI/CD 系统。这消除了获取准确文档以构建测试用例的挑战,并使 LOB 订单能够确保将其最关键的业务流程作为任何新变更的一部分进行测试。

优点:

使业务用户只需记录他们的日常活动即可快速轻松地创建自动化。 重复的任务可以轻松自动化,并且可以消除相关的用户错误。RPA 也非常适合“一次性”项目,在这些项目中,投资开发人员资源没有意义。

缺点:

RPA 构建的工作流程可以作为需要进行且可能无法扩展的长期系统更改和更新的创可贴。此外,随着安全性和合规性要求,自动化长期维护的所有权可能变得不清楚。 

低代码开发语言:编码命令 

基于低代码开发语言的工具包括许多最著名的 DevOps 工具,包括 Ansible、Chef、Hashi、Puppet、Jenkins 等。低代码开发语言符合这样一种基本信念,即“编码方法”并不意味着每个人都必须成为“编码员”。 

正如基于 GUI 的解决方案带有用于执行各种命令的“用户友好”按钮一样,此类别中基于代码的解决方案带有预构建的命令、帮助程序和资源。 

例如,Chef 语言包括一组强大的技术无关命令,为配置、测试和验证系统提供强大的自动化。无论您使用何种技术,命令都保持不变。使用这些命令,用户只需很少的代码知识就可以在 1,000 多台设备上执行复杂的功能。 

除了使用人类可读的语言、易于编辑的预填充自动化模板以及与其他 DevOps 工具的一组强大的预构建集成之外,该领域的提供商还开始提供更多可视化仪表板和 UI 驱动的功能,以实现功能领导者监控部署并确保系统安全。

这种混合方法通过为用户提供易于学习的基于代码的平台,可轻松与 CI/CD 系统集成,并为非技术用户和管理人员提供整个企业的可见性和分析,从而实现两全​​其美. 

优点: 

低代码开发语言提供最大的灵活性和可扩展性。由于它们基于 Ruby、Python 或 Yaml 等底层语言,因此可以轻松扩展和定制它们以处理最复杂的自动化场景。这些工具也是大型成熟生态系统的一部分,通常由社区驱动,因此有 1,000 多个预构建的内容模板和集成插件,可以轻松构建自动化并集成到 CI/CD 管道中。 

缺点:

低代码开发语言仍然基于脚本,需要对开发实践有基本的了解。工具需要升级和维护,自动化也是如此。由于它们专为解决 IT 管理特定挑战而构建,因此它们不太适合非技术业务用户。   

即将到来:超自动化——低代码 DevOps 平台的下一个重要驱动力

由COVID-19流行部分推动,需要对数字操作效率从未更大。公司必须能够在任何地方为客户和员工提供支持和服务。

以满足数字的不断增长的需求的唯一方式-第一世界是通过自动化是不仅容易制造,而且易于维护和扩展。DevOps 领域的自动化供应商将需要继续转向低代码解决方案,使组织能够实现自动化,即自动化一切可能。 

推荐阅读:低代码开发平台的 3 个主要优势