了解DevOps文化和一些实施方法

简介: 太多的错误,太多的时间投入生产功能,编码了数周,太多可避免的事件,今天每个人都意识到了:开发人员和运维必须相互交谈。好的。但是一旦我们说了那句话,具体我们该怎么做呢?本文的目的是告诉您更多有关DevOps 的信息,以及如何在业务中实施 DevOps。

image.png

太多的错误,太多的时间投入生产功能,编码了数周,太多可避免的事件,今天每个人都意识到了:开发人员和运维必须相互交谈。好的。但是一旦我们说了那句话,具体我们该怎么做呢?本文的目的是告诉您更多有关DevOps 的信息,以及如何在业务中实施 DevOps。


DevOps 的主要原则

快速提醒DevOps 文化的基础和优势。

DevOps是“Dev”和“Ops”这两个词的缩写,但你可能已经知道了。DevOps 文化旨在打破开发新功能的开发人员和以网站可靠性为目标的运维人员之间的分离。Andrew Shafer 在 2008 年的一次会议上展示了一种先验的对立利益,该会议的一项计划已在全球范围内广为人知:“混乱之墙”。

DevOps 或持续部署的文化

DevOps 的目标是打破这个障碍和孤岛运作。这种协作涉及很多方式,我们将在本文后面讨论,但目标始终相同:让开发人员和运维人员协作以实现共同目标。

最终,这种合作的目标是在不改变质量的情况下更快地实施新功能。这称为持续部署。DevOps 的一个基本概念“反馈循环”说明了这个想法:

  • 我部署我的功能;
  • 我对它们进行运维;
  • 我收集反馈;
  • 我更正并部署了新功能。

开发人员的工作在哪里停止,Ops 的工作从哪里开始?

这是一个永恒的问题,无论组织采取什么措施,无论合作原则如何,我们都在谈论两种不同的职业。来自两个不同的技术堆栈。有时,两个位置之间的模糊区别会对您产生影响:

  • 产品投入生产:责任重大,投入生产风险在发生事故时直接影响您的用户和您的业务。开发应该对他的增量负责吗?还是交给Ops 呢?因为他们负责稳定?
  • 产品代码的质量:Ops 为开发人员提供了测试工具来检查其增量的质量。另一方面,开发人员不应该推卸责任“我编写我的代码,运维会管理它”
  • 事后分析:每个事件都必须进行事后分析,对其进行分析并采取纠正措施。

从技术角度来看,问题也随之而来。示例:谁管理环境变量以及如何确保它们安全但不影响开发流程?

所有这些问题都需要解决。每个人都必须知道自己的角色和责任。游戏规则会随着时间而改变,但必须保持清晰并为每个人所知(接受)。

DevOps 的历史

2008 年的 Shafter 会议标志着 DevOps 的开始。

2009 年,第一届“DevOpsday”会议在比利时根特举行。它由敏捷组织顾问 Patrick Debois 创建,随后在国际上发展,并继续成为 DevOps 世界的支柱之一,计划于 2019 年举行 30 多个会议。

2012 年,Puppet 的 Alanna Brown 制作了第一份“ DevOps 状态”报告。几个月后,2013年,“凤凰计划”发布。这个短篇故事讲述了一位 IT 经理卷入了看似无望的情况中的故事。其成功的关键之一将是精益和 DevOps 概念的应用。本书将极大地促进 DevOps 文化的传播。

2019 年,据 IDC称,DevOps 方法是 IT 组织的一大趋势,但 DevOps 仍然只涉及 20% 的应用项目。据估计,2021年这一数字将增长到35%甚至40%。

DevOps 的好处

DevOps 方法将节省您的时间。很多时间。

小例子:

在我们的一位潜在客户的电子商务网站上,某些产品被展示了两次。内部团队花了 19 个工作日才找到原因:一个 cron 在两个不同的地方运行,但触及同一个数据库。Ops 有“cron 在哪里运行”的信息,而开发人员有“cron 正在做什么”的信息。从 2 个团队开始在同一个房间里解决这个 bug 的那一刻起,它在 2 小时内就解决了……

通常,DevOps 将允许您:

  • 加快启动时间
  • 降低风险
  • 加速事件响应
  • 提高客户的满意度

如何在公司实施 DevOps?

安排专门的协作时间

开发团队和 运维团队 是否有特定的时间进行协作?或者这是他们冲刺压力之外的额外负担?  

我们可以将时间用于这种协作并促进在公司实施 DevOps 文化的一些示例:

设计工作坊:

新功能的设计或新技术的添加必须是开发者和运维探讨的主题。

训练时间:

运维设计的架构是否被开发人员正确使用?这个过程对他们来说容易吗,还是他们缺乏技术知识?尤其是如果您的技术团队的人员流动率很高,那么每周安排DevOps 工具的培训时间 可以解决很多问题。

用户测试:

你要对我说“在 DevOps 的世界中,用户测试必须做什么??”。你错了。这个愿景可能很烦人,但您的开发人员是 Ops 所部署工具的用户,因此请检查这些工具是否实用并满足他们的需求。

有共同的目标

运维人员和开发人员一起工作的另一种方法是为他们设定共同的目标。这创造了一个良性循环,其中一些人的成功就是其他人的成功,并且每个人都有合作的兴趣。


目标示例:每周 1 次发布,应用程序停机时间为 0

团队设置奖励和庆祝活动,为健康有效的 DevOps 协作奠定基础。

在运营中发展客户文化

这有点反传统,但 Ops 团队是一个跨职能的支持团队,因此有自己的用户。在内部,对于大部分任务,运维团队都有“客户”。您必须在基础架构团队中培养客户服务文化:

  • 了解开发者问题
  • 根据他们的需求调整解决方案
  • 考虑他们的反馈

这是一种思维方式的转变,在 DevOps 文化尚未得到很好实施的许多公司中很难。我们也不能陷入一种不健康的沟通模式,开发人员使用这个“客户”标签来主导 Ops 团队。但是,在 Ops 团队中培养服务文化和客户满意度将提高质量、交付速度以及 Ops 和开发人员之间的沟通。

DevOps 与其他组织方法之间的关系

敏捷: DevOps 通常被视为将敏捷应用于生产世界的一种方式。应用于开发的敏捷方法缩短了用户需求与开发团队之间的距离。DevOps 可以被视为一个附加组件,允许开发团队将新功能快速投入生产。


ArchOps: DevOps 的扩展,从软件架构开始,而不是从部署操作的代码开始。

DataOps:将持续部署和 DevOps 应用于数据分析。DataOps 寻求将数据工程、数据集成、数据安全和数据私有化与运营 (Ops) 相结合。

站点可靠性工程师 (SRE):站点可靠性工程是 Google 自 2003 年以来开发的一种方法,旨在不断推出新功能,同时保持基础设施的高质量和可用性。DevOps 和 SRE 涵盖了大致相似的问题。

WinOps: WinOps 是用于围绕 Windows 环境的 DevOps 实践的术语

目录
相关文章
|
3月前
|
运维 监控 Devops
DevOps文化下的自动化运维实践
【8月更文挑战第30天】在DevOps的浪潮中,自动化运维不再是选择题而是必答题。本文将深入浅出地探讨如何通过脚本和工具实现日常运维任务的自动化,从而提升效率,减少人为错误,确保系统的稳定性和安全性。我们将一起学习编写简单的自动化脚本,并探索如何使用现成的自动化工具来简化我们的工作。
|
21天前
|
Prometheus 监控 Cloud Native
实战经验:成功的DevOps实施案例解析
实战经验:成功的DevOps实施案例解析
36 6
|
18天前
|
运维 监控 Devops
DevOps文化:持续交付与持续反馈的文化构建与实践
【10月更文挑战第26天】DevOps作为一种将开发与运维紧密结合的文化和实践,通过促进团队协作与自动化流程,实现快速、稳定且高质量的软件交付。本文重点探讨持续交付与持续反馈两大支柱,通过实际案例和示例代码,展示其构建与实践过程。例如,使用Jenkins构建CI/CD流水线,通过Grafana和Prometheus实现实时监控,确保软件质量和快速响应。
28 1
|
23天前
|
监控 Devops 持续交付
掌握 GitOps:实现 DevOps 自动化的现代方法
【10月更文挑战第19天】GitOps 是一种基于 Git 仓库管理应用配置和集群状态的现代化 DevOps 方法,通过自动化工具实现声明式配置和持续部署。本文介绍了 GitOps 的核心概念、优势、挑战及实施的最佳实践,帮助团队提高部署效率和系统可靠性。
|
27天前
|
运维 Prometheus 监控
从文化到实践:DevOps的基本概念与核心实践详解
从文化到实践:DevOps的基本概念与核心实践详解
41 5
|
17天前
|
运维 Devops jenkins
DevOps文化:持续交付与持续反馈的文化构建与实践
【10月更文挑战第27天】DevOps文化强调开发和运维的紧密合作,以实现快速、高质量的软件交付。核心在于持续交付和持续反馈。本文探讨了如何通过改变组织结构、构建跨功能团队、使用自动化工具(如Jenkins)和积极收集用户反馈,来构建和实践DevOps文化。
28 0
|
2月前
|
运维 监控 Devops
拥抱 DevOps 文化:实现持续交付与部署的最佳实践
在软件开发领域,DevOps 强调开发与运维团队的协作,通过自动化、持续集成与部署等实践缩短系统开发生命周期,提升软件质量。其核心原则包括自动化、协作、度量与共享责任。实施 DevOps 需要建立跨功能团队、采用版本控制、持续集成与部署、自动化测试及监控反馈。常用工具有 Jenkins、GitLab CI/CD、Ansible、Prometheus 和 ELK Stack 等。DevOps 通过文化与技术变革,加速软件交付并提高客户满意度。
|
3月前
|
运维 监控 Devops
DevOps 文化建设:促进跨职能团队合作
【8月更文第30天】在当今快速变化的商业环境中,组织需要更快地交付高质量的产品和服务来满足客户需求。DevOps作为一种文化和实践,旨在通过改进开发(Dev)和运维(Ops)团队之间的协作来提高软件交付的速度和质量。本文将探讨如何构建一个积极的DevOps文化,并提供具体的策略和工具来加强团队间的沟通与协作。
290 2
|
3月前
|
运维 监控 Devops
|
3月前
|
运维 监控 Devops
DevOps文化下的运维自动化实践
【8月更文挑战第24天】本文将带你走进DevOps文化,探讨如何在运维工作中实现自动化,从而提升工作效率和减少人为错误。我们将从DevOps的核心理念出发,深入到运维自动化的实践策略,最后讨论自动化带来的效益与挑战。文章不仅分享理论知识,还提供实用的操作建议,帮助读者在DevOps旅程中迈出坚实的步伐。