By: Marc Hornbeek
Do you want to know “How to do DevOps”? Are you “doing DevOps” but not satisfied with the results you are getting? DevOps is complex. It does not come with a prescription, installation guide, user’s manual, or maintenance manual. It doesn’t even have a standard definition! How can anyone expect to get good results with DevOps without clear and definitive guidance?
There are plenty of books that describe different aspects of DevOps and customer user stories, but up until now, there has not been a book that frames DevOps as an engineering problem with a step-by-step engineering solution and a clear list of recommended engineering practices to guide implementers.
My book is unique in that it provides a step-by-step engineering prescription that can be followed by leaders and practitioners to understand, assess, define, implement, operationalize, and evolve DevOps for their organization. It provides a unique collection of engineering practices and solutions for DevOps. By confining the scope of the content of the book to the level of engineering practices, the content is applicable to the widest possible range of implementations.
This book was born out of my desire to help others do DevOps, combined with a burning personal frustration. The frustration comes from hearing leaders and practitioners say, “We think we are doing DevOps, but we are not getting the business results we had expected.” There are many documented references, courses, and other sources of information that explain a multitude of different aspects of DevOps, but there is not a comprehensive step-by-step prescriptive guide that details how to engineer a DevOps solution for any organization given any starting point.
Engineering DevOps takes a strategic approach, applies engineering implementation discipline, and focuses operational expertise to define and accomplish specific goals for each leg of your DevOps journey. This book guides the reader through a journey from defining an engineering strategy for DevOps to implementing The Three Ways of DevOps maturity using engineering practices: The First Way (called “Continuous Flow”) to The Second Way (called “Continuous Feedback”) and finally The Third Way (called “Continuous Improvement”). This book does not provide detailed hands-on tool- or software code-specific information. There are many other sources that cover details of tools and software code. The level of detail needed for tools or software code is NOT within the scope or the objective of this book. Specific tools or software code are not included because the capabilities of the specific tools or software code are limited to specific ecosystems, and they more likely will become obsolete because the tools and software code systems evolve rapidly. This book is deliberately intended to be a guide that will continue to be relevant over time as your specific DevOps and DevOps more generally evolves.
Structure of this book
This book is organized as an engineering reference guide presented in five parts as follows:
Part I: What Is Engineering DevOps and Why Is It Important? is organized into three chapters.
Chapter 1, “What is Engineering DevOps?,” explains engineering concepts and terms used in this book that have proven to work with many clients I have encountered during my consulting experiences. My depiction of a DevOps Engineering Blueprint is presented as a useful, practical “big-picture” reference for discussing engineering the major parts of DevOps.
Chapter 2, “Nine Pillars of DevOps,” describes a classification of DevOps practices that I have found to be useful characterization of DevOps engineering practices that can be readily applied when engineering DevOps implementations.
Chapter 3, “Why Is Engineering DevOps Important?,” explains the benefits of taking an engineering approach to engineering DevOps.
Part II: Engineering People, Processes and Technologies for DevOps provides a comprehensive explanation of recommended engineering practices for the higher levels of the DevOps Engineering Blueprint. DevOps transformations are not normally understood or applied using strict engineering principles. Engineering practices are presented in nine chapters as follows: “How Should DevOps Be Engineered?” includes a discussion of DevOps Engineering Maturity Levels for each of the Three Dimensions (People, Process, and Technology), Twenty-Seven DevOps Engineering Critical Success Factors, and Lean DevOps Value-Stream Pipeline Engineering. I describe recommended engineering practices for the top layers of the DevOps Engineering Blueprint in the next chapters, which include “Value-Stream Management (VSM),” “Application Release Automation (ARA),” “Version Management,” “Continuous Security (a.k.a. DevSecOps),” “Service Catalog,” “Governance,” “Site Reliability Engineering (SRE),” “Disaster Mitigation,” and “Recovery.”
Part III: Engineering Applications, Pipelines, and Infrastructures Engineered for DevOps provides a comprehensive explanation of recommended engineering practices for the lower levels of the DevOps Engineering Blueprint, presented in six chapters as follows: “DevOps Applications Engineering,” “CI/CD Pipelines Engineering,” “Elastic Infrastructure Engineering,” “Continuous Test Engineering,” “Continuous Monitoring Engineering,” and “Continuous Delivery and Deployment Engineering.”
Part IV: DevOps Seven-Step Transformation Engineering Blueprint provides a description and tools for my approach to realize and evolve DevOps. The seven steps are Visioning, Alignment, Assessment, Solution Engineering, Realization, Operationalize, and Expansion. By using these tools, DevOps leaders and practitioners can create, implement, operate, and expand their DevOps across the organization. The chapter goes further to explain how to evolve DevOps from a successful First Way DevOps (Continuous Flow) towards realizing more advanced Second Way (Continuous Feedback) and Third Way (ContinuousImprovement) DevOps implementations. This part includes a discussion of “Beyond Continuous Improvement”—a look at emerging technologies that are shaping DevOps in the future and how you can prepare your DevOps and yourself for the future. This part includes a discussion of how to set up an effective DevOps engineering training program that supports continuous learning of DevOps engineering skills needed to maintain and enhance DevOps.
Part V: Appendices, Continuous Learning, and References includes materials and sources that I have found most useful for engineering DevOps.
To obtain a copy of my book – “Engineering DevOps: From Chaos to Continuous Improvement … and Beyond” by Marc Hornbeek. Start reading it for free: Click here