by Michael Hüttermann

ISBN13: 978-1-4302-4569-8
196 Pages
User Level: Beginner
Publication Date: September 18, 2012
Available eBook Formats: EPUB, MOBI, PDF

Book page at Apress
Book page at
Book page at
TOC and free Chapter 9

Seminars, Training
Project support
Relevant papers, talks, interviews

Follow the author
Author's web site
Author's blog

Java Champion Michael Hüttermann is a freelance delivery engineer and expert for DevOps, Continuous Delivery and SCM/ALM.

sd asdf sad fasfsfsdadsfsd sdf fasfsdf adsf adsf fsadfsa afsdfxxxx sf sd fsda fsd asasdfsdf

During their daily work of delivering valuable software to customers, too often development and operations are in conflict with each other. Development wants to see their changes (e.g., new features) delivered to the customer quickly, whereas operations is interested in stability, which means not changing the production systems too often. The gap between development and operations occurs on different levels:
o The incentives gap is a result of different goals of development and operations.
o The process gap results from different approaches of development and operations how to manage changes, bring them to production, and maintain them there.
o The tools gap has its origin from the fact that, traditionally, development and operations often use their own tools to do their work.

Figure 1. DevOps strives to improve collaboration between development and operations.
As a consequence, development and operations often act like silos, being two distinct teams with suboptimal collaboration. DevOps is the solution! Some single aspects of DevOps may not be new, for example, you may have used tools like Chef or Puppet for years already, but with a new mindset ("my job is not just to code, it's to serve the customer in the best way possible") and a complete set of recipes, you'll be well on your way to success.

DevOps for Developers delivers a practical, thorough introduction to approaches, processes and tools to foster collaboration between software development and operations. Efforts of Agile software development often end at the transition phase from development to operations. This book covers the delivery of software, this means “the last mile”, with Agile and Lean practices for shipping the software to production and making it available to the end users, together with the integration of operations with earlier project phases (elaboration, construction, transition).

DevOps for Developers describes how to streamline the software delivery process, holistically, improve the cycle time (that is the time from inception to delivery) and to introduce feedback loops. The book provides real-world use cases (e.g., how to use Kanban and how to release software). It explains a way to be successful in the real development/operations world. DevOps for Developers will enable you to deliver software faster, in better quality and more aligned with individual requirements and basic conditions. And above all, work that is aligned with the “DevOps” approach makes even more fun!

o Part I Fundamentals: This part provides information about the fundamentals of DevOps. Here we discuss the definition of DevOps and elaborate the path from traditional software engineering to DevOps.
o Part II Metrics and Measurement View: This part digs deeper into approaches to share and align goals and incentives.
o Part III Process View: This part is dedicated to the DevOps aspects that are relevant to processes. We’ll discuss practices for achieving a holistic approach to bridging development and operations.
o Part IV Technical View: This final part will examine the technical components that comprise DevOps. You’ll learn basics and tools for automating the release process to gain fast feedback as well as infrastructure as code and specification by example.

The book DevOps for Developers helps to bridge the gap between development and operations by aligning incentives and sharing approaches for processes and tools. It introduces DevOps as a modern way of bringing development and operations together. It also means to broaden the usage of Agile practices to operations to foster collaboration and streamline the entire software delivery process in a holistic way. After reading the book, you'll be able to
o Classify DevOps and how it can result in better and faster delivered software
o Apply patterns to improve collaboration between development and operations
o Introduce unified processes and incentives to support shared goals
o Start with or extend a tool infrastructure that spans projects roles and phases
o Address pain points in your individual environment with appropriate recipes
o Break down existing walls that make up an unnecessarily sluggish delivery process
o Approach software development holistically, injecting feedback loops and room for experimenting

DevOps for Developers is for motivated software engineers, particularly programmers, testers, system admins, database admins, both beginners and experts, who want to improve their software delivery process. It’s the perfect choice for engineers who want to go the next step by integrating their approaches for development and delivery of software. This book is for engineers who want to shape their processes and decide on and integrate lightweight tools and seek for guidance how to integrate standard tools in advanced real world use cases.

Be aware that, in my definition and in the one-team approach, developers comprise more than testers and programmers; rather, the one-team approach (as introduced in this book) also includes experts from operations who develop, for instance, scripts or “infrastructure as code” to provide solutions to users. All these experts help to literally "develop" the solution.

Figure 2. Agile software development spans the process from inception to transition. DevOps spans the process from elaboration to operations.