作者:Joe Carroll
来源:Mindex
从本质上讲,现代化就是要优化性能。因此,开发人员应该优化开发过程和产出效率,而不是分析代码和读取vmstat.但是,作为程序员,我们消耗了大量的时间来关注技术选型,或在开发的软件不符合需求时又要返工。如果我们只深入软件开发生命周期而不解决错误或设计问题,我们浪费的时间、金钱和精力就越多。
对于存在设计缺陷的项目,上线后修复的成本往往是开发阶段的100倍,以下是从设计到维护阶段的相对成本增加的概述:
企业和开发人员需要进一步提升开发效率,控制开发成本并加强应用协作工具来实现软件开发的现代化。
使用容器技术进行现代化
"为什么Python的版本在预备和正式环境中会有所不同?"
"我们需要最新版本的Requests库,而我们运行的是2015年的版本!"
这是开发团队很常见的对话,作为技术人员,相信很大多团队都有相似的经历。容器为这些常见的软件开发问题提供了技术解决方案,并且还帮助我们与运营中的同事更好地进行协作。
首先,让我们理解什么是容器;容器是一个隔离的文件系统,包含用于运行应用程序的代码、依赖项和机器指令。 通过巧妙地使用cgroup、Linux空间和chroot,容器将代码和该代码的任何依赖关系打包到可移植、可执行的软件包中,该软件包可在任何Linux系统上运行。然后,将同一容器部署在任何环境中而无需进行任何更改,从而可以证明可重复的自动化部署。
容器通过在一个地方提供可描述代码和依赖关系的源代码可控制的构建清单(通常是Dockerfile)来简化此过程。 该文件是业务团队与开发团队之间的交集。 开发人员可以使用容器与运维工程师积极协作以解决应用程序依赖性,从而最大程度地减少了在管理异构环境方面的工作,同时还可提高新项目的交付速度。
自动化部署和DevOps是相互协作的重要组成部分,但是应用程序是否能满足客户的需求? 消除开发与业务之间的障碍只是容器作用的一部分。它无法解决因在整个应用程序开发过程中与业务需求方缺乏协作而导致的效率低下的问题。 没有人愿意最终获得一款在技术和功能上都出众但无法为用户带来价值的软件,所以业务需求的准确定非常重要。为避免这种情况,从开发设计阶段开始,软件开发过程就需要业务需求方的参与。
使用低代码实现真正的现代化
低代码工具使业务需求方和技术团队能够以比传统代码更高效、可视化地进行协作。低代码开发平台为开发人员、业务人员提供了一个通用平台,使他们可以在整个应用程序开发过程中积极协作。 在开发过程中尽早让需求方参与进来,有助于避免业务与IT之间的昂贵且耗时巨大的时间成本,并确保IT部门能够开发出实际符合最终需求的应用程序。
最终,软件开发现代化的目标是提高向最终用户快速交付高质量软件。低代码和容器之类的技术可以缩短从需求梳理到交付的全过程时间,消除开发过程中的低效率,并积极鼓励业务、产品人员参与其中,加强协作能力。