前言
本文主要介绍 DevOps 相关的知识。 看完你将可以用自己的语言向别人解释:啥是 DevOps
正文
初印象
DevOps(Development:开发 和 Operations:运维 的组合词)是一种文化理念、实践和工具 的集合,旨在缩短软件开发生命周期,并持续交付高质量的软件。
简单来说,DevOps 打破了传统开发团队(Dev)和运维团队(Ops)之间的壁垒,让它们不再是孤立的两个部门,而是作为一个紧密结合的团队共同协作。
它常用于现代软件工程、云原生应用、自动化部署等场景。
核心理念
DevOps 的核心工作流可以概括为一个无限的循环:
这个循环包含了从计划、编码、构建、测试到发布、部署、运营、监控的完整流程,并基于监控反馈持续进行新的计划与优化。
比如我的同事就是使用 k8s 去进行项目的自动化部署和监控,监控到项目存在内存异常之类的情况,就会返回头来重新调整、编码方式等等内容。
text
【DevOps 无限循环】
Plan(计划)
↓
Code(编码)
↓
Build(构建)
↓
Test(测试)
↓
Release(发布)
↓
Deploy(部署)
↓
Operate(运营)
↓
Monitor(监控)
↑ 循环往复⬆️
└─────────────┘
关于 DevOps 是什么
疑问 🤔❓️:所以 DevOps 总结来说是一种职位?一个部门?还是一套流程?还是其他的什么?
回答 ✍️:可以这样来理解:
DevOps 本质上是一种"文化和工作方式"【注意,这句话的核心是"方式"】,其落地依赖于"自动化工具链"的支持,最终目标是实现"高效协同"。
疑问 🤔❓️:DevOps 和运维的区别是啥呢?
回答 ✍️:DevOps 不是取代运维,而是重塑了运维的角色。
传统运维是独立的、以手动操作为主的后期保障部门;而 DevOps 是一种开发与运维深度融合的文化和实践,强调通过自动化工具链实现全流程协作,让运维能力前置到开发阶段,共同对软件的快速、稳定交付负责。
时间线
本人了解一项技术的时候,总是会对他们的发展时间线很感兴趣。个人认为大致地了解他们的发展脉络,可以让知识更加鲜活一些
⏳ DevOps 发展简史
-
2001 年:敏捷宣言
- 奠定 快速迭代、拥抱变化 的思想基础。
-
2003-2006 年:技术萌芽
- Google 的 SRE 实践了"用开发手段做运维"。
- AWS EC2 的推出,让云计算和基础设施即代码成为可能。
-
2008 年:理念诞生
- 在首届 DevOpsDays 会议上,"DevOps"术语被正式提出。
-
2009 年及以后:实践与普及
- Flickr 工程师分享 "每日部署 10 次" 的实践,证明其可行性。
- 《凤凰项目》等书籍让理念广泛传播。
- Docker, Kubernetes, CI/CD 等工具的成熟,推动 DevOps 成为主流。
最后
回到开头的问题:啥是 DevOps?
DevOps 是一种强调开发(Dev)和运维(Ops)团队在整个软件开发生命周期中协同合作的文化、实践和工具集合。
它通过自动化流程(如 CI/CD)来缩短开发周期,提高部署频率,从而更可靠、更快地向用户交付软件价值。