Chapter1 Agile,Continuous Delivery,and the Three Ways
这一章是纯理论,具体的实际应用会在其他章节呈现。
Value Stream
1.技术价值流的定义
我的理解就是:将想法变成可交付的服务的过程。
即,输入业务(功能点)的目标、想法,开发人员用代码实现,触发各项测试,最后安全的部署到生产环境的这一个过程。
所谓技术价值流,只有在生产环境上运行,才会为客户带来价值。
In DevOps, we typically define our technology value stream
as the process required to convert a business hypothesis into a technologyenabled
service that delivers value to the customer.
2.我们的目标是:开发、测试、运维(我理解为部署),同时发生。
our goal is to have testing and operations happening
simultaneously with design/development, enabling fast flow and high quality.
3.衡量value stream的performance,有三个指标:交货时间(lead time)、处理时间(process time)、percent complete and accurate (%C/A)
最重要的指标是交货时间,为啥?因为客户只关注这个时间啊。
关于前两个指标,书里这张图一目了然,无需解释。
很明显如果leadTime过长,会导致挤压的ticket非常非常large,最后开始测试的时候,会发现出现了很多的错误……总之就是很糟糕。
%C/A:这个度量衡反映价值流中每一步输出的质量。
4.Goal
开发人员可以快速、持续地收到关于他们工作的反馈,(这使他们能够快速、独立地实现和验证他们的代码),并将代码部署到生产环境中(可以自己部署代码,也可以由其他人部署)
如何实现这个goal?
持续的将每一个小变更上传到代码库,并进行测试,发布。这会使我们更有信心。因为小规模的改动和及时的测试和反馈,即使有问题也能被迅速发现并定位,不会破坏全局。
We achieve this by continually checking small code changes into our version
control repository, performing automated and exploratory testing against it, and
deploying it into production. This enables us to have a high degree of confidence
that our changes will operate as designed in production and that any problems
can be quickly detected and corrected.
THE THREE WAYS: THE PRINCIPLES UNDERPINNING DEVOPS
书里这句小标题就表明这三个方法的江湖地位啦!这三种方法作为一组基本原则,几乎所有的DevOps行为和模式都是从这些原则中派生出来的。
- first way,从左到右的工作流,即技术价值流
- second way,从右到左的反馈
- third way,提出了要在团队中建立高度信任的文化,用有纪律的、科学的方法来进行工作,并且把second way中的反馈循环缩短,扩大,成为更频繁更迅速的反馈流