You are previewing Continuous Delivery and DevOps – A Quickstart Guide - Second Edition.
O'Reilly logo
Continuous Delivery and DevOps – A Quickstart Guide - Second Edition

Book Description

Deliver quality software regularly and painlessly by adopting CD and DevOps

In Detail

Continuous Delivery (CD) and DevOps are fast becoming the next big thing(s) in relation to the delivery and support of software.

This updated edition provides you with a clear and concise insight in to what CD and DevOps are all about, how to go about preparing for and implementing them, and what quantifiable business value they bring.

You will be guided through the various stages of CD and DevOps adoption, the impact they will have on you and your business, how you can overcome common problems, and what to do once CD and DevOps have become embedded in your ways of working.

Included within are some real-world examples, tricks, tips, and observations that should help ease the adoption and allow you to fully utilize CD and DevOps to deliver quality software.

What You Will Learn

  • Explore Continuous Delivery and DevOps in depth
  • Understand the root causes of the problems and pain points within your product delivery process by choosing the right techniques and tools
  • Understand the human elements of CD and DevOps and how intrinsic they are to your success
  • Avoid the traps, pitfalls and hurdles you'll experience as you implement CD and DevOps
  • Monitor and communicate the relative success of DevOps and Continuous Delivery adoption
  • Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at If you purchased this book elsewhere, you can visit and register to have the files e-mailed directly to you.

    Table of Contents

    1. Continuous Delivery and DevOps – A Quickstart Guide Second Edition
      1. Table of Contents
      2. Continuous Delivery and DevOps – A Quickstart Guide Second Edition
      3. Credits
      4. About the Author
      5. Acknowledgments
      6. About the Reviewers
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
      8. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the color images of this book
          2. Errata
          3. Piracy
          4. Questions
      9. 1. Evolution of a Software House
        1. A brief history of ACME systems
        2. ACME systems version 1.0
          1. Software delivery process flow version 1.0
        3. ACME systems version 2.0
          1. Software delivery process flow version 2.0
          2. A few brave men and women
        4. ACME systems version 3.0
          1. Software delivery process flow version 3.0
        5. ACME systems version 4.0
        6. The evolution in a nutshell
        7. Summary
      10. 2. No Pain, No Gain
        1. Elephant in the room
        2. Defining the rules
        3. Including (almost) everyone
          1. Identifying the key people
          2. Too many cooks
        4. Openness, transparency, and honesty
          1. Location, location, location
          2. It's all happy-clappy management waffle – isn't it?
        5. The great elephant disclosure
          1. Value stream mapping
        6. Summary
      11. 3. Plan of Attack
        1. Setting and communicating the goal and vision
        2. Standardizing vocabulary and language
        3. A business change project in its own right
        4. The merits of a dedicated team
          1. Who to include
        5. The importance of evangelism
        6. Courage and determination
        7. Understanding the cost
        8. Seeking advice from others
        9. Summary
      12. 4. Culture and Behaviors
        1. All roads lead to culture
        2. An open, honest, and safe environment
          1. Openness and honesty
          2. Courageous dialogue
          3. The physical environment
        3. Encouraging and embracing collaboration
        4. Fostering innovation and accountability at grass roots
        5. The blame culture
          1. Blame slow, learn quickly
        6. Building trust-based relationships across organizational boundaries
        7. Rewarding good behaviors and success
          1. The odd few
        8. Recognizing dev and ops teams are incentivized can have an impact
        9. Embracing change and reducing risk
          1. Changing people's perceptions with pudding
        10. Being transparent
        11. Summary
      13. 5. Approaches, Tools, and Techniques
        1. Engineering best practice
          1. Source control
          2. Small, frequent, and simple changes
          3. Never break your consumer
          4. Open and honest peer-working practices
          5. Fail fast and often
          6. Automated builds and tests
          7. Continuous Integration
          8. Using the same binary across all environments
        2. How many environments are enough?
        3. Developing against a production-like environment
        4. CD tooling
          1. Automated provisioning
          2. No-downtime deployments
        5. The cloud
        6. Monitoring
        7. When a simple manual process is also an effective tool
        8. Summary
      14. 6. Hurdles Along the Way
        1. What are the potential issues you need to look out for?
          1. Dissenters in the ranks
            1. No news is no news
            2. The anti-agile brigade
          2. The transition curve
          3. The outsiders
          4. Corporate guidelines, red tape, and standards
          5. Geographically diverse teams
          6. Failure during evolution
          7. Processes that are not repeatable
          8. Recruitment
        2. Summary
      15. 7. Vital Measurements
        1. Measuring effective engineering best practice
          1. Simple quality metrics
          2. Code complexity
          3. Unit test coverage
          4. Commit rates
          5. Adherence to coding rules and standards
          6. Where to start and why bother?
        2. Measuring the real world
          1. Measuring the stability of the environments
            1. Incorporating automated tests
            2. Combining automated tests and system monitoring
            3. Real-time monitoring of the software itself
            4. Monitoring utopia
          2. Effectiveness of CD and DevOps
          3. Impact of CD and DevOps
          4. Measuring your culture
        3. Summary
      16. 8. Are We There Yet?
        1. Reflect on where you are now
        2. Streaming
        3. A victim of your own success
        4. [P]lan, [D]o, [C]heck, [A]djust
        5. Exit stage left
        6. Rest on your laurels (not)
        7. Summary
      17. 9. The Future is Bright
        1. Expanding your horizon
          1. Reactive performance and load testing
          2. Reducing feature flag complexity
          3. Easing A/B testing
          4. Security patching and saving your bacon
          5. Order out of chaos monkey
          6. End user self-service
          7. CD and DevOps and the mobile world
        2. Expanding beyond software delivery
        3. What about me?
        4. What have you learned?
        5. Summary
      18. A. Some Useful Information
        1. Tools
        2. People
        3. Recommended reading
      19. B. Where Am I on the Evolutionary Scale?
      20. C. Retrospective Games
        1. The timeline game
        2. StoStaKee
      21. D. Vital Measurements Expanded
        1. Code complexity – some science
        2. Code versus comments
        3. Embedding monitoring into your software
      22. Index