DevOps 需要更多的自动化
如今,快速交付应用程序的 DevOps 开发流程正在企业中广泛流行。虽然 DevOps 的成功可能归功于许多方面,但人们讨论的焦点始终是它为应用程序开发和交付方式带来的转变,这种转变体现在团队文化、自动化、测试、代码共享等方面。
然而,无论开发者使用何种框架进行开发,DevOps 流程仍然在很大程度上依赖于开发者的编码能力,他们需要编写支持持续集成(CI)、持续部署 (CD) 和持续测试 (CT) 等特性的相关代码,从而为应用程序开发带来敏捷性。
有业内人士分析,DevOps 似乎在一个关键领域有缺陷:即自动化和加速代码创建的能力。DevOps 推动了文化和组织的转变,使企业的开发团队能够更快地交付更好的软件。但是,大部分 DevOps 从业者仍然需要手动编码应用程序,仅在进行测试和部署阶段依靠自动化工具。这实际上对开发者的能力提出了更高的要求。
近年来,一些低代码和无代码开发平台重新进入人们的视野。这些开发平台利用大量预制的工具,提供可视化的方法来构建应用程序,并使用图形用户界面 (GUI) 来简化开发,显著减轻开发者构建应用程序的负担。而全自动开发平台的出现则在此基础之上更进一步,提供输入流程图自动构建应用程序的方式,大大提高了软件开发的效率。
然而,长期以来一直存在于软件开发市场边缘的低代码/无代码平台,对于很多以手写代码为生的程序员来说是一个并不熟悉的概念,甚至很多人对其持怀疑态度。行业分析公司 Intellyx 创始人兼总裁 Jason Bloomberg 表示,“DevOps 需要解决的问题之一是改变这些热衷于手动编码者的心态,”他说,“在没有低代码工具的情况下,进行 DevOps 将会越来越困难,因为手动编码在未来将会是提升开发效率的瓶颈。”
事实上,早期的低代码/无代码开发平台已被用于很多开发资源匮乏的小型组织中。低代码/无代码工具非常适合传统行业的 IT 初学者,他们可以快速创建自定义的应用程序来满足特定环境的需求。这些低代码/无代码工具采用的是传统瀑布式开发概念,即先计划需求,然后根据需求创建应用程序,经过测试后再交付的开发流程。这与 DevOps 中的 CI/CD 不同,传统的低代码/无代码平台并没有持续改进的特性。
虽然低代码/无代码平台可能无法完全取代手动编码,但它们具有一些可以为 DevOps 带来额外价值的特性。例如,组织通常需要为内部和外部目的快速构建应用程序,但许多组织不具备内部技能,并且可用的 DevOps 人才数量有限——这种情况可能会使项目进度偏离预期的轨道。而借助低代码/无代码等自动化开发工具,组织可以弥补开发人才的不足,并使基本应用程序能够在很短的时间内创建和交付。
正是由于 DevOps 开发人才的短缺,以及日渐增长的快速构建应用程序的市场需求,低代码/无代码开发,乃至更先进的全自动开发平台等解决方案已经引起了许多企业用户和 SaaS 服务商的极大兴趣。
微软旗下云服务业务 Azure 云平台将几个预先存在的产品组合在一起,构建了一个名为 Power Apps 的低代码工具,它与微软的 Azure 云平台紧密结合,帮助开发者在 DevOps 开发流程中提供很多预构建的基础组件,大大减少开发者需要手动编码的组件数量。
全球最大的商业数据库供应商 Oracle 也提供了两种低代码工具,即与公司数据库管理系统相关的 Application Express 和基于云但也提供本地部署的 Visual Builder 云服务,用于降低企业用户使用其数据库服务的技术门槛,提升软件开发效率。
在国内,阿里云、腾讯云等 SaaS 服务供应商也推出了各自的低代码开发平台,并打通云基础设施的连接,帮助用户将低代码的能力带入 DevOps 流程中。
除了这些大厂以外,也有一些致力于将更先进的全自动开发平台与 DevOps 能力结合的优秀创企。由飞算云智推出的 飞算 SoFlu 全自动软件工程平台包括全自动开发平台、全自动测试平台和全自动运维平台三大部分,不仅可以实现开发组件的可视化,还实现了逻辑的可视化。与市场上多数用于前端展现层的低代码开发工具不同,飞算 SoFlu 全自动软件工程平台首先解决的是后端微服务开发,用户绘制可视化流程的过程,即是微服务开发的过程,业务逻辑的设计完全由可视化的方式展现出来,并提供全自动测试工具,后续还将提供全自动运维工具,大大提高了 DevOps 团队开发、测试、运维全流程的工作效率。
图:使用 SoFlu 全自动软件工程平台构建“验证短信验证码”功能
中国工程院院士倪光南也对飞算发布的产品赞许有加:“针对软件行业的痛点,非常高兴地看到飞算 SoFlu 全自动软件工程平台提出了很好的解决方案,希望你们能够在实践中不断发展,为解决软件工程的这些痛点作出贡献,如果能通过实践的验证,那么对于软件行业的发展将很有意义。”
归根结底,DevOps 所追求的就是无限缩小开发和运维人员之间的差距,而低代码/无代码工具以及全自动开发平台都提供了一种跨越鸿沟的方法,可以减少工作量并为 DevOps 开发流程带来更多自动化。
对于这种利用自动化编码工具来增强 DevOps 开发效率的方式,无代码云应用平台开发商 Skuid 的首席技术官 Mike Duensing 表示:“市场不应该对将复杂的技术提炼成更简单的形式感到惊讶。低代码和无代码的兴起,就好比现在人们将大型计算机的算力迁移到移动设备上,这是一个不断发展、化繁为简的抽象过程,技术的进步使一些乏味、难以完成和耗时的事情变得更简单,这是科技发展的本质。”
评论