You are previewing Continuous Delivery and DevOps: A Quickstart Guide.
O'Reilly logo
Continuous Delivery and DevOps: A Quickstart Guide

Book Description

Streamline and optimize your workflow with this fast and engaging guide to continuous delivery and DevOps. Delivering quality software every time will become a way of life.

  • Real world and realistic examples of how to go about implementing continuous delivery and DevOps

  • Learn how continuous delivery and DevOps work together with other agile tools

  • An honest and open guide to consistently shipping quality software quickly

  • In Detail

    For a while now, there has been a buzz around the IT industry regarding continuous delivery and DevOps. This book will provide you with some background information into these two new kids on the block and how they can help you to optimize, streamline and improve the way you work and ultimately how you ship quality software.

    "Continuous delivery and DevOps: A Quickstart guide" will provide you with a clear and concise insight into what continuous delivery and DevOps are all about, how to go about preparing for and implementing them and what quantifiable business value they bring. Included within are some tricks and trips based upon real world experiences which may help you reduce the time and effort needed if you were to go it alone.

    In this book, you will be taken through a journey of discovery starting with real world successes, how you should prepare, plan for and implement CD and DevOps and what the pitfalls are along the way

    We will start looking at the evolution of a typical software house from fledgling start-up through the growing pains that comes with global success to a best of both worlds. We’ll delve into the many aspects of what they did to complete this evolution covering topics such as how they realized there was a problem to solve, how they set about preparing for and implementing continuous delivery and DevOps and what tools, techniques and approaches they used along the way – some technical and some not so. If you work within an organization that delivers software, you will be able to plot where you are on the evolutionary scale, understand where you need to do to be more effective, cherry pick the tools, techniques and approaches that work for you and realize the best of both worlds.

    "Continuous delivery and DevOps: A Quickstart guide" will provide you with the background and information you need to realize the benefits within your own business

    Table of Contents

    1. Continuous Delivery and DevOps: A Quickstart Guide
      1. Continuous Delivery and DevOps: A Quickstart Guide
      2. Credits
      3. About the Author
      4. Acknowledgement
      5. About the Reviewers
            1. Support files, eBooks, discount offers and more
              1. Why Subscribe?
              2. Free Access for Packt account holders
      7. 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. Errata
          2. Piracy
          3. Questions
      8. 1. Evolution of a Software House
        1. ACME systems Version 1.0
          1. Software delivery process flow Version 1.0
        2. ACME systems Version 2.0
          1. Software delivery process flow Version 2.0
          2. A few brave men and women
        3. ACME systems Version 3.0
          1. Software delivery process flow Version 3.0
        4. Summary
      9. 2. No Pain, No Gain
        1. Elephant in the room
        2. Ground rules
        3. Openness and honesty is the key
        4. Include (almost) everyone
        5. Some tried and tested techniques
          1. Value stream mapping
          2. Using retrospectives
            1. The timeline game
            2. StoStaKee
        6. Summary
      10. 3. Plan of Attack
        1. Setting and communicating goals and vision
        2. Standardizing vocabulary and language
        3. A business change project in its own right
        4. The benefits of a dedicated team
        5. The importance of evangelism
        6. The courage and determination required throughout the organization
          1. Understanding the cost
          2. Seeking advice from others
        7. Summary
      11. 4. Tools and Technical Approaches
        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 build and testing
          7. Continuous integration
        2. Architectural approaches
          1. Component based architecture
          2. Layers of abstraction
        3. How many environments is enough?
        4. Using the same binary across all environments
        5. Develop against a like live environment
        6. CD tooling
          1. Automated provisioning
          2. No-downtime deployments
        7. Monitoring
        8. When a simple manual process is also an effective tool
        9. Summary
      12. 5. Culture and Behaviors
        1. Open, honest, and courageous dialogue
          1. Openness and honesty
          2. Courageous dialogue
          3. The physical environment
        2. Encouraging and embracing collaboration
        3. Fostering innovation and accountability at grass roots
        4. The blame culture
          1. Blame slow, learn quickly
        5. Building trust-based relationships across organizational boundaries
        6. Rewarding good behaviors and success
          1. The odd few
        7. Recognizing how different teams are incentivized can have an impact
        8. Embracing change and reducing risk
          1. Changing people's perceptions with pudding
        9. Being highly visible about what you are doing and how you are doing it
        10. Summary
      13. 6. Hurdles to Look Out For
        1. What are the potential issues you need to look out for?
          1. Dissenters in the ranks
          2. The change curve
          3. The outsiders
          4. Corporate guidelines, red tape, and standards
          5. Geographically diverse teams
          6. Failure during the evolution
          7. Processes that are not repeatable
          8. Recruitment
        2. Summary
      14. 7. Measuring Success and Remaining Successful
        1. Measuring effective engineering best practice
          1. Code versus comments
          2. Code complexity
          3. Code coverage
          4. Commit rates
          5. Unused/redundant code
          6. Duplicate code
          7. Adherence to coding rules and standards
          8. Where to start and why bother?
        2. Measuring the real world
          1. Measuring stability of the environments
            1. Incorporating automated tests
            2. Combining automated tests and system monitoring
          2. Real-time monitoring of the software itself
          3. Measuring effectiveness of CD
        3. Inspect, adapt, and drive forward
          1. Are we there yet?
            1. Streaming
          2. Exit stage left
          3. Rest on your laurels (not)
          4. Wider vision
          5. What's next?
        4. Summary