Ch02 DevOps工具有一些工具能够帮助团队采用DevOps技术。本章介绍这些工具,在本书后面,将用实操示例更详细地介绍这些工具。2.1为成功而组织:看板如果运营团队总是专注于堆积如山的指派任务,
Ch02 DevOps工具
有一些工具能够帮助团队采用DevOps技术。本章介绍这些工具,在本书后面,将用实操示例更详细地介绍这些工具。
2.1为成功而组织:看板
- 如果运营团队总是专注于堆积如山的指派任务,他们何时才有时间改善系统,偿还技术债务呢?我们如何正确排定工作的优先级,考虑任务之间的依赖性?
- 看板(Kanban,字面翻译为“标记卡片”)系统有助于解决这些问题,以及其他的一些问题。这种方法是Taiichi Ohno在开发丰田制造系统时为了实现即时(JIT)生产目标而开发的,它通过检查制造过程不同步骤的流程,识别需要补救的瓶颈,使系统更加高效。具体的思路是,缓解瓶颈,就会将工作任务从在途状态带到完成状态。限制在途工作可以为工作者带来空闲时间,对制造过程进行改进(例如,在缓解旧瓶颈的同时识别和消除新瓶颈)。
- 在成功地改变工作方式之前,我们必须用一种条理性的方法来安排工作、识别系统中的问题。
- 看板系统最重要的特征是工作过程管理。
- 技术负债是在计划好的工作期间,由于错误或者效率低下造成的所有计划外工作。
- 看板的另一个重要特征是工作流自始至终的可视化。最流行的展示方式是看板图,它可以采用物理或数字形式。
- 看板图的思路是每个任务由一张索引卡或即时贴表示,在看板图左侧的“积压工作”(Backlog)分类下排队。“积压工作”和“完成”(Done)之间的栏目代表在途工作(WIP: Work In Progress)。
2.2服务器部署
- VMware发布了Auto Deploy,对vSphere服务器的部署有很大的帮助。
- Red Hat 开发了CloudForms,该系统包括多平台的服务器部署、配置管理(可与Chef和Puppet集成)、服务器生命期管理等。
- Michael DeHaan开发了Cobbler
- Nick Weaver推出了Razor
- Crowbar
- Foreman
2.3配置管理
- 配置管理(CM)技术可以显著地改善金映像构建和生产系统部署的速度和可靠性。当你把服务器配置当成软件看待,就可以利用Git等源代码管理系统跟踪环境变化。
- CM技术还可以用于配给与生产服务器的配置完全相符的一致开发环境。
- 本书介绍的CM技术—Puppet(Ch04-Ch06)、Chef(Ch07-Ch09)和PowerShell DSC(Ch12-Ch13)是描述性语言,你可以描述配给资源的预期状态,而不用担心工作是如何完成的。
- 配置管理的好处可以通过使用Ansible(Ch10-Ch11)、Fabric、MCollective等编排系统大规模实现,这些系统用命令式的风格描述环境状态。编排框架允许配置管理在多个系统上以受控方式并行执行。
2.4持续集成
Jenkins和类似的解决方案可能显著地节省开发和运营团队的时间。对于开发团队,如果编写了好的单元测试,它可以在代码移交给QA之前及早识别缺陷,对于运营团队,能够更加确保他们不会在预演阶段之前遇到未经验证的代码。
2.5日至分析
- 系统的成功必须是可计量的。验证系统稳定性的最佳手段是什么?观察日志!
- VMware vRealize Log Insight
- Splunk
- Logstash。它能与Elasticsearch(Ch17)、Graphite以及DevOps社区中流行的其他工具相结合。
2.6小结
现在我们已经简单地概述了DevOps从业者可用的工具,第3章将聚焦于如何构建一个测试环境,以便跟踪本书其余部分介绍的工作流。