自从我开始在 Linux Handbook 上使用各种 Web 应用程序和 高开 Cloud,DevOps 术语已经引起了我很多次的注意,因为这是我们在 Linux 手册中专门介绍的内容。
我们已经介绍了许多与 DevOps 相关的工具的教程,但我们从未真正尝试过深入探索实际概念。 由于 Linux 手册致力于 Linux 服务器,我们还需要探索它们在 DevOps 领域的重要作用。
但在我们这样做之前,必须了解 DevOps 的真正含义。 DevOps 是一个非常流行的流行语,您会在网络上找到它的多种定义。 但根据我自己的经验,我得出了以下结论性的定义和想法。 这是重新审视现有 DevOps 规范并以我在此提出的新模型的形式重新思考它们的尝试。
什么是 DevOps?
DevOps 是一个持续的简化过程,在应用程序的功能、可用性和安全性方面保持微妙的平衡。 开发私奔和 操作时代s.
如何保证?
确保应用程序在运行的同时高效发展是 DevOps 工程师面临的持续挑战。 为此,需要持续监控 DevOps 最基本的组件。
应用程序开发生命周期 (ADLC)
创建一个新的应用程序? 你从这里开始!
应用程序开发生命周期是任何应用程序开发背后的基本动力。 除非开发过程没有得到仔细和持续的监控,否则你不能绝对确定它的完美开发。 应用程序将始终处于 ADLC 之下,直到它准备好生产为止。
ADLC是必不可少的 软件工程 原则包括六个基本阶段。 应用程序的开发涉及以下步骤:
- 概念计划:塑造应用程序背后的核心思想。
- 编程:这是创建和开发应用程序的时间。
- 文档: 如果没有仔细的(人类可读的)文档,一个优秀的应用程序是毫无用处的。
- 质量保证测试:确保最终产品功能齐全、可用且安全。
- 调试:测试期间报告的错误已修复。
- 开发版本: 应用程序的第一个版本发布。
直到并且除非有稳定的版本可用,否则这个循环将继续存在。 一旦软件作为生产就绪的稳定版本发布,它就不再属于 ADLC。 它最终属于系统开发生命周期(SDLC)。
系统开发生命周期 (SDLC)
我们 DevOps 社区的一部分人可能会说 ADLC 和 SDLC 是一回事。 但在现实世界的场景中,我看到的是 ADLC 和 SDLC 完全不同。
系统开发生命周期是应用程序开发和运行背后的基本动力。 它涉及应用程序首次稳定发布后的持续开发,并确保其持续可操作性。
- 概念计划: 重新审视应用程序背后的核心思想。
- 编程:这是进一步开发应用程序的时候。
- 文档:不断更新人类可读的文档。
- 测试新版本的质量:确保新的最终产品功能齐全、可用且安全。
- 调试:测试期间报告的错误已修复。
- 开发版本:对于一个新的应用程序(版本方面或作为应用程序本身),一个开发版本在这个阶段演变成它的第一个稳定版本。
- 稳定发布:最新的稳定版本作为产品发布,其中包含与错误/安全相关的修复以及新功能。
- 部署:稳定的产品部署在服务器上。
- 维护和监控:对服务器及其上运行的应用程序进行持续和定期的监控。
社区支持的开放模型将始终具有最顺畅的维护。 只有通过开源模型才能真正实现周期的最后一步。 它是任何应用程序发展的最大决定因素。
尚未发布稳定版本的应用程序不能视为已完成。 一旦应用程序完全构建,ADLC 就会演变为 SDLC。 为什么?
- ADLC 纯粹是一个 开发发展模式
- SDLC 既是一个 开发私奔和 操作时代s 模型
你现在明白我的意思了吗? 在 ADLC 下,应用程序尚未准备好生产,这就是为什么它仍处于准系统开发状态。 因此,我们不能称之为 DevOps。 只有当第一个稳定版本发布时,它才会演变为 DevOps 的 SDLC,因为生产就绪的应用程序将继续运行。
从两个缩写和上图可以明显看出,应用程序与整个系统非常不同。 应用程序只是完整系统过程的一部分。 这就是 SDLC 与 ADLC 的区别。 所以,ADLC实际上是SDLC的一个子集。
作为一个社区,我们需要不断地以 SDLC 为中心,牢记功能、可用性和安全性之间的微妙平衡。
展示新的 DevOps 三角

该图永远不会相同,因为 SDLC 永远不会静止。 是 SDLC 持续不断 枢转的 社区根据开发人员、测试人员和用户的不断反馈在三角内进行。
根据部署的应用程序的要求,这种旋转过程是不断变化的。 现实世界中这种千变万化的模型就是 DevOps 的过程。
SDLC 在三角形内的位置总是因应用程序而异。 枢轴位置实际上取决于正在部署的应用程序的性质,同时使用 close 关注:
功能性:应用程序的主要功能。 为了 example发送消息的能力 火箭聊天.
可用性:应用程序的易用性。 为了 example,您可以多么方便地通过 Rocket.Chat 发送消息。
安全: 应用程序的安全程度。 为了 example,一个解决 Rocket.Chat 漏洞的错误修复,例如 这个.
支持开源应用程序的多元化社区需要始终在功能、可用性和安全性之间保持微妙的平衡。
但实际上如何?
工作场所的谦逊:旋转的终极精确度
归根结底,开发人员、用户和测试人员都是人类。 无论是本地的还是虚拟的,DevOps 文化和工作场所都需要采用简单的同情心。 在同事之间实行友善的工作场所必将提高 ADLC 和 SDLC 的生产力!
这不仅与网络应用程序有关,还与人有关。 他们是不断创建、部署和维护它们的人。 这就是社区的意义所在,这也是为什么 DevOps 也是一种文化的原因。 DevOps 文化不仅涉及管理 Web 应用程序,还涉及将其变为现实的人员。
一个 开源方法 使整个过程比专有过程更容易实现。 这是我在使用它时的感受 人、实践和技术的集体系统.
我期待通过后续的一系列文章继续分享我对这一类型的看法。 我的感觉是,无论是小型、中型还是大型企业,DevOps 都适用于任何地方,只是以拟人化模型的形式。
这只是我渴望通过这个系列探索的一小部分。 请在下面的评论部分分享您的想法。 感谢您访问 Linux 手册!