Foreword xvii
Introduction 1
Part 1: Demystifying DevOps 5
Chapter 1: Introducing DevOps 7
Chapter 2: Designing Your Organization 15
Chapter 3: Identifying Waste 31
Chapter 4: Persuading Colleagues to Try DevOps 43
Chapter 5: Measuring Your Organization 59
Part 2: Establishing a Pipeline 69
Chapter 6: Embracing the New Development Life Cycle 71
Chapter 7: Planning Ahead 79
Chapter 8: Designing Features from a DevOps Perspective 95
Chapter 9: Developing Code 111
Chapter 10: Automating Tests Prior to Release 129
Chapter 11: Deploying a Product 139
Part 3: Connecting the Circuit 159
Chapter 12: Implementing Rapid Iteration 161
Chapter 13: Creating Feedback Loops around the Customer 175
Chapter 14: DevOps Isn't a Team (Except When It Is) 189
Chapter 15: Empowering Engineers 205
Part 4: Practicing Kaizen, the Art of Continuous Improvement 217
Chapter 16: Embracing Failure Successfully 219
Chapter 17: Preparing for Incidents 229
Chapter 18: Conducting Post-Incident Reviews 251
Part 5: Tooling Your DevOps Practice 261
Chapter 19: Adopting New Tools 263
Chapter 20: Managing Distributed Systems 275
Chapter 21: Migrating to the Cloud 295
Part 6: The Part of Tens 307
Chapter 22: Top Ten (Plus) Reasons That DevOps Matters 309
Chapter 23: Top Ten DevOps Pitfalls 315
Index 323