Skip to main content

devops

简单来说,DevOps(Development 和 Operations 的缩写)不仅是一项技术,更是一种文化、实践和工具的结合体

它的核心目标是打破开发人员(Dev)和运维人员(Ops)之间的壁垒,让软件的构建、测试、发布到运行变得更加快速、可靠。


1. 核心定义:从“对立”到“融合”

在传统的模式中,开发和运维通常是孤立的:

  • 开发(Dev): 负责写代码,追求“快”,不断增加新功能。
  • 运维(Ops): 负责系统稳定,追求“稳”,往往对频繁的变更感到压力。

DevOps 的出现将两者整合,形成一个闭环,让团队对产品的整个生命周期(从构思到上线运行)共同负责。


2. DevOps 的五大支柱 (CALMS 模型)

业界常用 CALMS 来衡量一个团队的 DevOps 成熟度:

维度说明
Culture (文化)强调团队协作、分担责任,不再互相“甩锅”。
Automation (自动化)尽可能减少人工干预,通过自动化脚本完成测试和部署。
Lean (精益)消除流程中的浪费,进行小步快跑、高频迭代。
Measurement (测量)监控所有数据(如部署频率、失败率),用数据驱动决策。
Sharing (共享)共享工具、知识和成功的经验,透明化沟通。

3. 核心实践:CI/CD

这是 DevOps 落地最关键的技术环节:

  • 持续集成 (CI - Continuous Integration): 开发人员频繁地将代码合并到主分支,每次合并都会触发自动化的构建和测试,确保新代码不会破坏原有功能。
  • 持续交付/部署 (CD - Continuous Delivery/Deployment): 通过自动化的流水线,将测试通过的代码自动发布到生产环境或预发布环境。

4. 常见的 DevOps 工具链

DevOps 并不是指某一个软件,而是一系列工具的组合:

  • 项目管理: Jira, Trello
  • 代码仓库: Git (GitHub, GitLab)
  • CI/CD 流水线: Jenkins, GitLab CI, GitHub Actions
  • 容器化: Docker, Kubernetes (K8s)
  • 配置管理: Ansible, Terraform (基础设施即代码)
  • 监控告警: Prometheus, Grafana, ELK Stack

5. 为什么企业需要 DevOps?

  • 响应更快: 缩短从需求到上线的时间(Time to Market)。
  • 质量更高: 自动化测试减少了人为失误。
  • 更稳定: 频繁的小规模更新比一次性大规模发布风险更低,且更易回滚。

一句话总结: DevOps 是让软件开发不再像“工厂流水线”那样死板,而是像“有机整体”一样快速进化。


核心对比

项目类型主要作用常见用途
containerd容器运行时真正负责“运行容器”被 Docker / K8s 调用
Docker容器平台构建 + 运行容器本地开发最常用
Podman容器引擎类似 Docker,但无 daemonLinux 服务器
Kubernetes编排系统管理大量容器和机器生产集群