DevOps = Development + Operations
是一套文化、流程、工具的组合,目的是让开发、测试、运维高效协作,把软件更快、更稳、更频繁地交付上线。
简单说:
以前开发写完代码扔给运维,运维不管开发;
现在大家一起干活,快速上线、少出故障、出问题快速恢复。
核心目标(3个)
- 加快交付速度:从几周上线 → 每天/每小时上线
- 提高稳定性:减少线上事故、降低回滚率
- 高效协作:开发、测试、运维不再互相甩锅
核心流程(CI/CD)
- CI 持续集成:代码提交自动编译、自动测试
- CD 持续交付/部署:自动打包、自动发布到测试/生产
一句话记:
提交 → 构建 → 测试 → 发布 → 监控 → 反馈
关键理念
- 自动化一切:编译、测试、部署、环境、监控
- 基础设施即代码 IaC:用代码管理服务器、配置
- 监控与可观测性:上线后持续看日志、指标、链路
- 快速迭代、快速修复:小步快跑,而不是憋大版本
常用工具栈(面试常问)
- 代码管理:Git、GitLab、GitHub
- 构建:Maven、Gradle、npm
- CI/CD:Jenkins、GitLab CI、GitHub Actions
- 容器:Docker
- 编排:K8s(Kubernetes)
- 配置管理:Ansible
- 云平台:阿里云、腾讯云、AWS、Azure
通俗比喻
开发是做蛋糕的,运维是端上桌的。
以前:做完一大盆扔过去,经常洒、经常坏。
DevOps:全程流水线、自动做、自动装、自动送、坏了立刻修。
面试口述版(背这个)
DevOps 是开发与运维的一体化实践,通过自动化、CI/CD、容器化、IaC、监控,实现软件高效交付、稳定运行与快速迭代,提升研发效率与业务响应速度。
需要我把它整理成一页极简笔记,方便你复习吗?