ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

90DaysOfDevOps 第四天:Agile 与 DevOps 的本质差异与融合之道

90DaysOfDevOps 第四天:Agile 与 DevOps 的本质差异与融合之道 文档/教程【免费下载链接】90DaysOfDevOpsThis repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.项目地址https://gitcode.com/gh_mirrors/90/90DaysOfDevOps点击查看免费下载导读本文是 90DaysOfDevOps 学习路线图「了解 DevOps 是什么、为什么要用 DevOps」系列的第 4 天内容对应 2022/Days/day04.md。Agile 与 DevOps 最初是两个独立的概念如今却经常被混为一谈。本篇将逐维度拆解两者的关注点、参与者、框架、反馈来源、风险与工具差异说明为什么它们可以而且应当融合并给出同时落地 Agile 与 DevOps 的 7 个步骤帮助你在理解方法论的同时为后续 Git、CI/CD 等实操章节打下认知基础。先看定义Agile 与 DevOps 各是什么Agile Development敏捷开发Agile 是一种以更快交付小结果为核心取向的开发方法与其一次性发布一个大版本不如把软件拆成迭代来开发。团队通常以周或月为单位持续发布带增量更新的新版本最终目标是把最优体验交付给终端用户。它的关键词是迭代iterations与增量incremental updates。DevOps前几天的内容见 DevOps Lifecycle - Application Focused已经从多个角度描述过 DevOps 的终极目标。DevOps 通常指建立在软件开发者与运维专家协作基础上的软件开发与交付实践其核心收益是简化开发流程与最大限度减少沟通误解。核心差异两者关注点不同却在互相成就Agile 与 DevOps 的差异主要体现在**关注点preoccupations**上而它们恰好是互补的Agile 追求短周期迭代而短周期迭代只有靠 DevOps 带来的自动化才可能实现Agile 希望客户尽快试用某个特定版本并快速反馈而这只有在 DevOps 能轻松创建新环境的前提下才做得到。换句话说Agile 定义了多快交付的目标DevOps 提供了如何持续交付的引擎。下面从七个维度逐一对比。参与者Different participantsAgile聚焦于优化终端用户与开发者之间的沟通对外导向outward-oriented面向客户DevOps面向开发者与运维团队成员是一组内部实践internal practices。团队TeamAgile通常适用于软件开发者与项目经理DevOps 工程师的能力位于开发、QA质量保证与运维三者的交叉地带他们参与产品生命周期的所有阶段并且本身就是 Agile 团队的一部分。应用框架Applied FrameworksAgile拥有大量管理框架来实现灵活性与透明性常见演进路径为Scrum Kanban Lean Extreme Crystal Dynamic Feature-DrivenDevOps关注协作式的开发方法但不提供具体方法论。它推广的是实践practices而非框架例如基础设施即代码Infrastructure as Code、架构即代码Architecture as Code、监控Monitoring、自愈Self Healing、端到端测试自动化end to end test automation等。反馈来源FeedbackAgile的主要反馈来源是终端用户end-userDevOps中利益相关者stakeholders与团队自身的反馈优先级更高。目标领域Target areasAgile更关注软件开发本身对部署与维护的关注较少DevOps同样关注软件开发但其价值观与工具还覆盖部署及发布后阶段包括监控、高可用、安全与数据保护。文档DocumentationAgile优先保障灵活性与手头任务文档与监控的优先级相对靠后DevOps则把项目文档视为项目的重要组成部分之一。风险RisksAgile 的风险源于方法论本身的灵活性优先级与需求持续变化导致项目难以预测和评估DevOps 的风险源于对术语的误解与缺乏合适的工具有些人把 DevOps 仅仅看成一套用于部署和持续集成的软件集合而没有改变底层开发流程的结构。工具The Tools UsedAgile 工具聚焦管理、沟通、协作、度量与反馈处理常见有JIRA、Trello、Slack、Zoom、SurveyMonkey等DevOps 工具服务于团队沟通、软件开发、部署与集成常见有Jenkins、GitHub Actions、BitBucket等。尽管 Agile 与 DevOps 在关注点与范围上略有不同但核心价值几乎一致因此完全可以组合使用。这一点在 90DaysOfDevOps 的路线图上也有印证第一周先是介绍 Agile 方法论与 DevOps 的搭配day01.md随后用 Plan Code Build Testing Release Deploy Operate Monitor 把整个持续循环拆成可执行的阶段并在后半程用整整一周Day 7076实战 CI/CD 流水线。工具差异在仓库中的落地印证从方法论到流水线如果你觉得上面的工具对比仍偏概念不妨直接看 90DaysOfDevOps 仓库里的落地样例在 2022/Days/CICD/Jenkins/Pipeline/Jenkinsfile 中可以看到一条把自动化一切落到实处的声明式流水线通过podTemplate定义构建 Pod内含maven构建测试与kaniko容器镜像构建两个容器stage(Clone Repository)拉取代码stage(Build Image)与stage(Test Image)完成构建、测试与镜像推送/kaniko/executor --context \pwd --destination michaelcade1/helloworld:1.0。这条流水线正是 day04 所讲 DevOps 实践的典型形态不提供 Scrum 之类的管理框架而是用端到端自动化clone → build → test → image支撑 Agile 的短迭代、快速部署、快速反馈。这也呼应了 day05 中 CI/CD 的划分——Continuous Delivery 覆盖 Plan Code Build TestContinuous Integration 在此基础上加上 Release而 CI 成功后再进入 Continuous Deployment 的 Deploy Operate Monitor 阶段。合二为一值得吗把 Agile 与 DevOps 结合起来你会获得以下收益灵活的管理 强大的技术Agile 实践帮助 DevOps 团队更高效地沟通优先级你为 DevOps 实践付出的自动化成本会因 Agile 的快速且频繁部署需求而物有所值采用 Agile 实践的团队会改善协作、提升团队动机、降低员工流失率最终结果是更好的产品质量。此外Agile 允许回到产品开发的前序阶段修复错误从而防止技术债务technical debt不断累积。同时落地 Agile 与 DevOps 的 7 个步骤若想同时采纳两者按以下 7 步推进联合开发与运维团队Unite the development and operation teams组建 build 与 run 团队所有开发与运维问题都由整个 DevOps 团队共同讨论改变对 sprint 的处理方式为 DevOps 任务分配与开发任务同等价值的优先级评级并鼓励开发与运维团队就对方的工作流和潜在问题交换意见让 QA 参与到所有开发阶段选择正确的工具尽可能自动化一切Automate everything you can用有形的数字交付物进行度量与控制Measure and control by using tangible numeric deliverables。其中第 57 步在后半程课程中有大量可对照的实践Day 7076 的 Jenkins、GitHub Actions、ArgoCD 章节入口见 2022/Days/day70.md以及 Monitoring 章节 中的监控、日志管理与可视化都是选工具、做自动化、用量化指标控制的直接落地。小结与下一步一句话总结本日核心Agile 回答该以多快的节奏交付什么DevOps 回答如何把这种快节奏稳定地交付到生产环境。两者关注点不同但互相成就——Agile 的短迭代依赖 DevOps 的自动化与环境供给能力DevOps 的自动化投入又因 Agile 的频繁部署需求而变得划算。它们不是二选一的竞争关系而是可以也应该组合使用的互补方法论。如果你能坚持读到这里就已经掌握了 DevOps 与 Agile 关系的整体图景。接下来进入第 5 天把视角从方法论切换到应用的全生命周期Plan Code Build Testing Release Deploy Operate Monitor继续阅读 day05.md。赞分享文档/教程【免费下载链接】90DaysOfDevOpsThis repository started out as a learning in public project for myself and has now become a structured learning map for many in the community. We have 3 years under our belt covering all things DevOps, including Principles, Processes, Tooling and Use Cases surrounding this vast topic.项目地址https://gitcode.com/gh_mirrors/90/90DaysOfDevOps点击查看免费下载相关推荐Anarlog 的 macOS 原生通知系统Collapsed/Expanded 双形态交互与自动关闭计时器实现解析Anarlog 的 macOS 原生通知系统Collapsed/Expanded 双形态交互与自动关闭计时器实现解析 Anarlog 是一个开源 Granol文档/教程90DaysOfDevOps 第 2 天DevOps 工程师的职责全景——连接开发与运维的桥梁90DaysOfDevOps 第 2 天DevOps 工程师的职责全景——连接开发与运维的桥梁 本篇是 90DaysOfDevOps https://link文档/教程【亲测免费】 探索DevOps的90天旅程90DaysOfDevOps探索DevOps的90天旅程90DaysOfDevOps 在软件开发的领域中DevOps已经成为不可或缺的一部分它融合了开发和运维的最佳实践以实现高效、文档/教程上一篇终极Windows和Office智能激活解决方案KMS_VL_ALL_AIO完全指南下一篇GPT-Image-2 角色设计提示词实战指南从官方设定资料卡到多角色一致性基于 awesome-gpt-image-2-API-and-Prompts创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表