有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

什么是 DevOps?

DevOps 是软件开发(Development)和运营(Operations)的结合。代表着重视软件开发人员(Dev) IT 运维技术人员(Ops)之间沟通合作的文化;旨在透过自动化软件交付架构变更的流程,使得构建、 测试、发布软件的过程能够更加地快捷、频繁和可靠。Gartner 咨询公司认为 DevOps 代表了 IT 文化的变化趋势。DevOps 可以很好地解释为人们一起工作以快速构思、构建和交付安全软件。DevOps 实践使软件开发(dev)和运营(ops)团队能够通过自动化、协作、快速反馈和迭代改进来加速交付。
源于软件开发的敏捷方法,DevOps 流程扩展了以更快、更迭代的方式构建和交付应用程序的跨职能方法。在采用 DevOps 开发流程时,您正在决定通过在开发周期的所有阶段鼓励更具协作性的环境来改进应用程序的流程和价值交付。

DevOps 核心原则是什么?

DevOps 方法包括指导应用程序开发和部署的有效性和效率的四个关键原则。
软件开发生命周期的自动化。这包括自动化测试、构建、发布、开发环境的配置以及其他可能减慢软件交付过程或将人为错误引入软件交付过程的手动任务。
协作与沟通。一个好的 DevOps 团队有自动化,但一个伟大的 DevOps 团队也有有效的协作和沟通。
持续改进和减少浪费。从自动化重复性任务到观察性能指标以寻找减少发布时间或平均恢复时间的方法,高绩效 DevOps 团队经常寻找可以改进的领域。
通过简短的反馈循环高度关注用户需求。通过自动化、改进的沟通和协作以及持续改进,DevOps 团队可以花点时间专注于真正的用户真正想要什么,以及如何将其提供给他们。
通过采用这些原则,组织可以提高代码质量、缩短上市时间并进行更好的应用程序规划。

DevOps 发展会经历哪几个阶段?

随着 DevOps 的发展,它的复杂性也随之增加。这种复杂性是由两个因素驱动的:
组织正在从单体架构转向微服务架构。随着 DevOps 的成熟,组织每个项目需要越来越多的 DevOps 工具。
更多项目和每个项目更多工具的结果是项目工具集成数量呈指数级增长。这需要改变组织采用 DevOps 工具的方式。
这种演变经历了以下四个阶段:

第 1 阶段:自带 DevOps

在 Bring Your Own DevOps 阶段,每个团队都选择了自己的工具。当团队因为不熟悉其他团队的工具而试图一起工作时,这种方法会导致问题。

第 2 阶段:一流的 DevOps

为了应对使用不同工具的挑战,组织进入了第二阶段,即一流的 DevOps。在此阶段,组织对同一组工具进行标准化,并为 DevOps 生命周期的每个阶段使用一个较为合适的工具。它帮助团队彼此协作,但问题随后变成了通过每个阶段的工具移动软件更改。

第 3 阶段:自己动手 DevOps

为了解决这个问题,组织采用了自己动手(DIY)DevOps,在他们的工具之上和之间构建。他们执行了大量定制工作以将他们的 DevOps 单点解决方案集成在一起。然而,由于这些工具是独立开发的,没有考虑到集成,因此它们永远不会很合适。对于许多组织而言,维护 DIY DevOps 是一项重大工作,会导致更高的成本,因为工程师需要维护工具集成,而不是致力于核心软件产品。

第4阶段:DevOps 平台

单一应用程序平台方法可改善团队体验和业务效率。DevOps 平台取代了 DIY DevOps,允许在整个 DevOps 生命周期的所有阶段实现可见性和控制。
通过授权所有团队(开发、运营、IT、安全和业务)跨端到端统一系统协作规划、构建、保护和部署软件,DevOps 平台代表了实现完整 DevOps 的潜力。

什么是 DevOps 平台?

DevOps 将人类孤岛聚集在一起,DevOps 平台对工具做同样的事情。许多团队使用不同的工具集合开始他们的 DevOps 之旅,所有这些工具都必须维护,其中许多没有或不能集成。DevOps 平台将工具集中在一个应用程序中,以实现无与伦比的协作、可见性和开发速度。DevOps 平台是现代软件应该如何以可重复的方式创建、保护、发布和监控。真正的 DevOps 平台意味着团队可以更快地迭代并共同创新,因为每个人都可以做出贡献。

为什么 DevOps 很重要?

DevOps 很重要,因为它有可能通过更快地响应业务需求来帮助组织从竞争对手中脱颖而出。DevOps 是一种新的更好的软件构建方式,它改进了端到端的协作,不仅在开发和运营团队之间,而且还与安全(有时称为 DevSecOps)、测试(质量保证或 QA)等学科协作、版本控制和跨团队协作功能,例如 ChatOps。DevOps 带来更好的软件产品和更成功的实施。
DevOps 的核心是一种最佳实践。它的构想前提是,当软件开发团队真正协作并进行持续集成和持续交付 ( CI/CD ) 时,应用程序和服务交付组织才能发挥最佳作用。这意味着在每次迭代结束时,无论多短,软件都可以投入生产——即使它并非每次都部署在生产中。
大型组织经历 DevOps 转型以解决企业软件创建的常见和基本问题。当开发人员创建新软件时,他们会在开发人员环境中对其进行编码和测试,该环境是离线的,可以让他们在不危及他们的业务、政府机构、医疗或教育机构的情况下排除错误、调整代码和完善需求。
然而,当需要将新软件或代码部署到真实环境中时,问题就出现了,因为开发人员环境与不断发展的生产环境并不完全相同。这可能会导致一些真正的胃灼热甚至心碎。部署失败可能导致需要花费大量时间和金钱来修复的问题。从历史上看,由于将大量更改汇总到不经常发布的版本中,这个问题变得更糟。
运营团队负责确保产品在生产中可靠地运行,并进行适当的检查和平衡以确保可靠的部署。操作和开发团队之间可能会出现摩擦,试图迭代并尽快将他们的代码更改投入生产。