麻利开发与 DevOps 的区别
麻利与 DevOps 之间的次要区别在于:麻利是对于如何开发和交付软件的哲学,而 DevOps 则形容了如何通过应用古代工具和自动化流程来继续部署代码。
麻利宣言
如果软件开发人员是麻利的,他们的行为形式与麻利宣言中定义的价值观和准则相一致。
麻利宣言于 2001 年由软件开发领导者撰写并签订,它定义了麻利从业者必须遵循的十二项准则和四项根本价值观,包含:
- 个体和互动高于流程和工具
- 工作的软件高于全面的文档
- 客户单干高于合同会谈
- 响应变动高于遵循打算
尽管麻利宣言对软件开发社区的重要性显而易见,但它的篇幅却十分短。总共不到 500 字。
除了保持将软件继续将会给客户是麻利的最高优先级之外,宣言并没有提供任何扼要的领导,也没有举荐任何能够遵循的具体流程。这纯正是一种哲学练习。
如何定义 DevOps?
与麻利相比,DevOps 有定义文档。DevOps 没有广泛承受的定义。
咱们甚至不分明 DevOps 是什么时候进入公共词典的,只管许多人指出 John Allspaw 和 Paul Hammond 在 2009 年 Velocity 大会上的演讲《每天 10+ 个部署:Flickr 上的开发和运维单干》是它的开始。许多人也认为 Gene Kim 的《凤凰打算》一书也是 DevOps 遍及的一个推动因素。
比拟 | 麻利开发 | DevOps |
---|---|---|
启始工夫 | 2001 | 2007 |
创始人 | J 约翰·克恩、马丁·福勒等人 | Flickr 的 John Allspaw 和 Paul Hammond 以及 Gene Kim 的凤凰打算 |
最高优先级 | 软件继续交付 | 软件继续部署 |
开创神器 | 麻利宣言 | 《每天 10+ 个部署:Flickr 上的开发与运维单干》 |
施行框架 | Scrum、看板、ScrumBan、精益、XP | CAMS, CALMS, DORA |
备选计划 | 瀑布开发模型 | 竖井模式的开发与部署 |
团队规模 | 由 10 人以下的小团队应用 | 作为公司范畴内的策略施行 |
范畴 | 专一于单个应用程序的开发 | 公司范畴内的软件部署办法 |
在 2009 年的 Velocity 演示中,Allspaw 和 Hammond 形容了他们对的软件测试例程的信念怎么使得在开发和经营之间建设了诸多信赖,该公司甚至曾经施行了一个流程,能够每天将代码主动部署到生产环境中 10 次以上。自动化这样的事件在过后被认为是石破惊天的。
自 2009 年以来,软件开发行业产生了许多变动,但 DevOps 的基石依然是:
- 开发和运维团队之间的信赖和合作
- 重大依赖全面的软件测试例程
- 集成古代工具以简化开发和经营工作
- 无需任何人工干预或检查点即可主动部署到生产中
麻利和 DevOps 文化
只管许多人争执 DevOps 到底是什么,但大多数定义都蕴含“文化”一词。这就引出了一个问题:什么是文化?
一般来说,文化能够定义为任何一群气味相投的人,他们应用一套通用的工具并遵循一套可反复的流程。
从实质上讲,文化能够归结为以下三点:
- 人
- 流程
- 及他们所用的工具
DevOps 工具和流程
在 DevOps 的世界中,从业者应用的风行工具包含:
- Git 和 GitHub
- Docker 和容器
- Jenkins 其余 CI 工具
- 用于编排的 Kubernetes
- Chef 和 Puppet
- 动态代码剖析
- Terraform
- 私有云
应用这些产生的过程是代码的继续集成和部署(CI/CD)。
麻利和 DevOps 有何相似之处?
从事 DevOps 的人有什么独特之处?
数字化转型胜利的先决条件是什么?
这正是麻利和 DevOps 的交汇点。
为了使 DevOps 发挥作用,所有 DevOps 从业者都必须承受麻利思维。
所有 DevOps 从业者都置信:
- 手动工作的自动化和未实现工作的重要性
- 与踊跃的集体组成的自组织团队单干的重要性
- 将软件继续交付给客户作为最高优先级
这些要点中的每一个都间接映射到麻利宣言中列出的十二条准则之一。
如何将麻利和 DevOps 联合起来?
DevOps 人员必须是麻利的。
要正确执行 DevOps,DevOps 从业者必须承受麻利思维。
麻利和 DevOps 从业者不仅有独特的思维模式,而且他们的指标也很统一。
DevOps 过渡的最终目标是将工作代码齐全自动化部署到生产中。这代表了 DevOps 的残缺启发。
麻利宣言毫不含糊地指出,其最高优先级是继续向客户交付软件。
麻利和 DevOps 都置信构建软件、确保透明度和促成可继续倒退的最佳形式是将可工作的软件交到客户手中。
麻利和 DevOps 有着完全相同的指标,就是让开发和经营团队应用古代工具并遵循流程,将软件尽快交到客户手中。
麻利与 DevOps 的异同
总结一下,上面是 DevOps 和麻利之间最常见的区别和相似之处:
- 麻利由麻利宣言定义,而 DevOps 没有广泛承受的定义
- DevOps 定义了一种工作文化,而麻利是一种软件开发理念
- 麻利的最高优先级是继续交付,而 DevOps 则是继续部署
- DevOps 保持所有手动工作的自动化,而麻利则器重“未实现的工作量”
- DevOps 从业者拥戴麻利思维,而麻利则要求参与者自组织和激励
麻利和 DevOps 相结合
麻利和 DevOps 并不是互相抵触的概念。事实上,状况恰恰相反。
领有麻利思维并承受 DevOps 文化的人都有一个独特的指标,那就是向客户继续交付和部署有价值的软件。
要正确执行 DevOps,所有参与者都必须承受麻利思维。只有这样,基于 DevOps 的数字化转型才会胜利。
【注】本文译自:Agile vs DevOps: What’s the difference?