Statistics
6
Views
1
Downloads
0
Donations
Support
Share
Uploader

高宏飞

Shared on 2026-02-20

AuthorBenjamin Abrams & Sean Riordan & Jay B. Abrams

No description

Tags
No tags
Publisher: BPB Publications
Publish Year: 2025
Language: 英文
File Format: PDF
File Size: 7.6 MB
Support Statistics
¥.00 · 0times
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

(This page has no text content)
(This page has no text content)
Strategic DevOps Strategically scaling organizations through effective and efficient DevOps culture Benjamin Abrams Sean Riordan Jay B. Abrams www.bpbonline.com
First Edition 2025 Copyright © BPB Publications, India eISBN: 978-93-65899-269 All Rights Reserved. No part of this publication may be reproduced, distributed or transmitted in any form or by any means or stored in a database or retrieval system, without the prior written permission of the publisher with the exception to the program listings which may be entered, stored and executed in a computer system, but they can not be reproduced by the means of publication, photocopy, recording, or by any electronic and mechanical means. LIMITS OF LIABILITY AND DISCLAIMER OF WARRANTY The information contained in this book is true and correct to the best of author’s and publisher’s knowledge. The author has made every effort to ensure the accuracy of these publications, but the publisher cannot be held responsible for any loss or damage arising from any information in this book. All trademarks referred to in the book are acknowledged as properties of their respective owners but BPB Publications cannot guarantee the accuracy of this information. www.bpbonline.com
Dedicated to To all the professionals out there who seek better outcomes for their organizations and projects - Benjamin Abrams To my wife, who meets every test by returning grace - Sean Riordan To my parents, who brought me into the world, showed me the way, and funded my education at the University of Chicago, my professors, who taught me how to think, and my children, who taught me how to love - Jay B. Abrams
About the Authors Benjamin Abrams was born in San Diego, California, and later became a wandering nomad, traveling throughout the United States, Canada, and Thailand. Although he attended college during his career, he left to take a good job without completing his degree. He is primarily self-taught. Open- source is part of his DNA; he has contributed to open-source projects throughout his entire career and has served as a maintainer for many of them. If he could speak to what early retirement would look like, he would spend all his work time donatinged to the community. With over a decade of experience, he has gained a unique perspective that motivates him to share his experiences. He began sharing his work publicly through conferences, webinars, and blog posts as early as 2016. He loves discussing automation, operations engineering, security, observability, culture, and scaling teams. He is incredibly grateful that he has had the opportunity to use these experiences to refine his craft before deciding that he wanted to tackle something a bit meatier. These experiences led him to start writing High Performance DevOps. This book has been in the works for a decade; he just needed to decide to write it. He decided to bring along two experts to help deliver the best outcome, which he will introduce shortly. He looks forward to taking you on a unique journey and providing a fresh perspective on the various cultural and technical aspects of the DevOps philosophy. Before diving into the nitty-gritty or how-to aspects, we will introduce the necessary vocabulary, concepts, and theory for each topic. In each chapter, you can expect us to use real war stories from our experiences to reinforce the topic. We will focus
on helping you produce the correct answers rather than providing them for you. We will bring value to various engineering-related personas by carefully weaving themes, concepts, stories, and hands- on exercises that are relevant to their specific needs. Sean Riordan was born in Anchorage, Alaska, and received a BS in computer engineering from Montana State University in Bozeman. Fond of ensuring things work as expected, Sean began his career out of college in the oil industry, where he specified safety system instrumentation and developed hardware test plans to ensure their functionality. After moving into software, Sean spent the next ten years writing tests and guiding teams across IoT and health tech on how to build a scalable and performant test suite. Jay B. Abrams was born in Los Angeles, CA, and received an MBA from the University of Chicago, where he also took graduate courses in the department of economics. He possesses numerous qualifications that make him the ideal person to address questions related to valuation. He is an Accredited Senior Appraiser (ASA) with the American Society of Appraisers (ASA) and a Certified Public Accountant (CPA) (inactive status). Has been valuing businesses for more than 40 years. Valuation is the science and art of determining the amount an investor should be willing to pay for business ownership or a set of assets. His very first assignment was valuing Columbia Pictures, which was acquired by Coca-Cola in 1982 and later sold to Sony. Thus, he has experience valuing very large and small firms. As a published author in valuation, he has a lot to bring to the table. He has written four books on valuation and more than 20 quantitative journal articles. He invented more than 160 mathematical formulas, valuation models, and algorithms. He can help us provide some missing and much-needed language to bridge the gap between engineering, management, and sales.
About the Reviewers ❖ Babafemi Bulugbe is a dedicated DevOps and cloud engineer with over five years of hands-on experience in optimizing and managing cloud environments across Microsoft Azure and Amazon Web Services (AWS) platforms. He is highly proficient in designing, deploying, and maintaining scalable, highly available, and secure cloud infrastructures tailored to business and operational needs. Babafemi is skilled in automating CI/CD pipelines, provisioning infrastructure as code (IaC), and applying industry best practices to ensure infrastructure reliability, performance, and security. His work consistently drives efficiency and resilience in modern cloud-based systems. He brings strong expertise in scripting with PowerShell, Bash, and Python, enabling him to automate workflows, streamline deployment processes, and manage complex environments with precision. Known for his attention to detail and a proactive approach, Babafemi collaborates effectively with cross-functional teams to deliver high- impact cloud solutions. His passion for continuous improvement, combined with a solid understanding of DevOps principles and cloud architecture, makes him a valuable asset in any technology-driven organization. ❖ Ron Veen is a seasoned software engineer with extensive experience ranging from Microservices to mainframes. His passion for software engineering and architecture has been his guiding force throughout his career. With over 20 years of expertise in the JVM and the Java ecosystem, Ron is an Oracle Certified Java Programmer (OCP) and a certified Sun Business Component Developer (SCBCD/OCPBCD).
A dedicated Java enthusiast, Ron also has a keen interest in alternative JVM languages, particularly Kotlin. At Team Rockstars IT, he serves as a special agent and lead developer, frequently speaking at international conferences. Ron is the author of books on Java cloud-native migrations with Jakarta EE and on virtual threads, structured concurrency, and scoped values. He has also co-written a book on Kotlin.
Acknowledgements The author would like to express his sincere gratitude to all those who contributed to the completion of this book. To the co-authors: It was a pleasure and an honor to have you join forces and give you space to speak to areas the author thought you would excel in. This is the first of many collaborations ahead of us. To the publisher: Thank you for giving the author this opportunity and supporting him through every step of this process. To the authors' friends who provided feedback during the writing process: Thank you to everyone who took the time to read portions or the complete work and provide feedback. You made it possible for the author to create the best outcome. Specifically, Michael Atencio and Aaron Granovitz for their outsized contributions. To the readers: The author knows time is valuable, and he appreciates your interest in the book. He knows that you will now be better armed to head out into trenches and improve organizational culture and outcomes.
Preface Have you ever tried to wrap your head around what DevOps is and been confused? It is understandable! DevOps is not a team, technology, role, or tooling. Its culture and philosophy bring developers and operators together to achieve better business outcomes. In short, it is a cultural philosophy that utilizes communication, collaboration, and feedback loops to enhance processes in software development and maintenance, ultimately aiming for improved business outcomes. Join us as we explore several key areas of technology driven by DevOps culture. We will emphasize automation, testing, security, continuous integration, and continuous delivery. Once we have deployed, we will examine the questions we must ask ourselves to ensure our systems are still operating as desired. Most importantly, this guide seeks to help you understand the why more than the how. There are many great resources on how to perform a specific engineering task, but they rarely take the time to explain why you should or should not do something. You should expect a 70/30 split of why vs. how. This will enable us to be agile when applying the DevOps philosophy and avoid limiting ourselves to what we can fit on a page. Chapter 0: Navigation- Welcome to your journey of exploring DevOps. Thank you for entrusting me as your guide. This will be a brief guide to some of the book's structure, including unique navigation techniques that will help you get the most out of it. Chapter 1: Introduction to DevOps- You may have heard or read about the term DevOps before, or perhaps this is your first introduction. Either way, you are looking to understand what it really means. It can be confusing. The definition changes depending on whom you ask.
Before we dive into the implementation details of how to, we need to take a step back and understand a bit of the why that drives the mindset, we will start by defining DevOps and exploring how the movement emphasizes building and sustaining a culture of empathy, continuous communication, collaboration, and delivering value. It recognizes that while it is essential to scale technology, it is really hard to do so without a culture that enables it. Having worked at both smaller and larger organizations, we will examine how things are structured differently and how to avoid the pitfalls of applying solutions that work well at companies like Google and Netflix to a 10-person organization. Chapter 2: Planning and Reacting to a Changing Organization's Needs- Planning is challenging, especially when meeting rapidly changing requirements from different parts of the organization with competing priorities. We will explore what Agile is and how it can help us frame our approach to planning and managing work streams. We will compare Scrum vs Kanban and why one or the other may better fit a team or organization. Most importantly, it lets you know that these are guides to help you and are not a religion. You should create your own agile framework to meet the needs of your team and customers, rather than adopting one because a certified agile person said so. Chapter 3: Automation- While culture and philosophy might be the heart of DevOps, you can think of automation as the arteries that allow the heart to pump the blood to where it needs to go. One could certainly say that this is the meat and potatoes of the day in the life of an infra, SRE, security, etc. Engineers who are operating with a DevOps mindset. Before we dive directly into the code, we will take a quick look at why it is so important not to rely on manual processes. We will explore the processes of gathering requirements and selecting tools and frameworks, delving into the common patterns used to minimize negative user impact during the development and deployment phases. Chapter 4: Importance of Automated Testing- In theory, we could deploy code, but is it safe to do so? As we established in the last chapter, automation is a crucial scale component. It does come with its dangers. When we make mistakes, the stakes are higher. Instead of slowly impacting a handful of systems, we may be taking down the entire system all at once, and it may be in a way that is not easy to recover. Let us define different
types of testing so that we can help build the confidence that the changes we are making are safe, whether it is Friday at 3 PM or Monday at 9 AM. Chapter 5: Security- What is cybersecurity, and why is it important? We will quickly explore cybersecurity and its crucial historical context. Then, we will examine its core principles and discuss how to manage risk effectively. Most importantly, we will cover the CIA triad and why it is so foundational. Chapter 6: Understanding Pipelines- We will explore pipelines and their potential value. This chapter will serve as a primer for the following chapters, focusing on CI and CD pipelines. Chapter 7: Continuous Integration- Testing is critical at scale. Developer time is expensive, and we want to optimize the time it takes for them to get feedback from the system, whether their code behaves as intended or not. Often, setting up useful testing is challenging. Let us explore how to introduce the concept of continuous integration and code testing. We need to apply it to workstations and remote systems to reduce the time and complexity for developers to test their changes before pushing to production. Chapter 8: Continuous Delivery- This chapter explores the realm of continuous deployment and continuous delivery (CD), highlighting its crucial role in consistently delivering value to production. We begin by exploring the fundamental concepts of CD and why its successful implementation depends on a solid foundation in CI. With this understanding, we discuss selecting the deployment tooling and frameworks that align with our specific needs and requirements to achieve continuous deployments with minimal impact on customers and stakeholders. Chapter 9: Pipeline Mastery- Now that we know how to create automated testing and deployments, we must consider how to integrate them efficiently and effectively. We will examine what makes good pipelines and what they can help us accomplish. Much of this work involves translating the necessary business and technical requirements, such as quality assurance and change management, and codifying them. Chapter 10: Trusting Our Metrics- It is essential to be data-driven; however, the analysis is only as good as the initial data and its accurate
representation. You may be familiar with the phrase lies, damned lies, and statistics popularized by Mark Twain, which I find hits home with a lot of of this chapter. We will examine what makes a good metric, why it is created, and how we can create meaningful metrics, identify useless ones, and game the system when necessary. Chapter 11: Valuation, Bridging Management and Engineering- Have you ever heard someone say this does not bring value, and been taken aback? You would be amazed how few people understand what value is. If our leaders, peers, and subordinates do not understand value, we must expect that they will make bad choices for the organization. In this chapter, I welcome Jay B. Abrams, who has a background in economics and over 40 years of experience focused on determining organizations' value, to have a discussion to help bridge our understanding of what value is so that it can be used as the common language across business, finance, and engineering. Chapter 12: Observability- We will begin by exploring the differences between monitoring and alerting, as well as some high-level concepts to help you improve the quality of what you monitor and ensure that you are alerting on the right kinds of signals. I will share my unique perspectives as a practitioner and open-source maintainer in the observability space. Once we have established effective monitoring and alerts, we will shift our focus to processes related to on-call responsibilities. Chapter 13: This Was Just the Beginning- The world around us changes, especially as we introduce new technological improvements. Let us take a few minutes to discuss how a transformative technology, artificial intelligence (AI), is starting to impact people and affect the DevOps philosophy and culture. We will briefly examine history, risks, rewards, and various impacts to make informed decisions when navigating change.
Code Bundle and Coloured Images Please follow the link to download the Code Bundle and the Coloured Images of the book: https://rebrand.ly/uh2sbyk The code bundle for the book is also hosted on GitHub at https://github.com/bpbpublications/Strategic-DevOps. In case there’s an update to the code, it will be updated on the existing GitHub repository. We have code bundles from our rich catalogue of books and videos available at https://github.com/bpbpublications. Check them out! Errata We take immense pride in our work at BPB Publications and follow best practices to ensure the accuracy of our content to provide with an indulging reading experience to our subscribers. Our readers are our mirrors, and we use their inputs to reflect and improve upon human errors, if any, that may have occurred during the publishing processes involved. To let us maintain the quality and help us reach out to any readers who might be having difficulties due to any unforeseen errors, please write to us at : errata@bpbonline.com Your support, suggestions and feedbacks are highly appreciated by the BPB Publications’ Family. Did you know that BPB offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.bpbonline.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at : business@bpbonline.com for more details. At www.bpbonline.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on BPB books and eBooks.
Piracy If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at business@bpbonline.com with a link to the material. If you are interested in becoming an author If there is a topic that you have expertise in, and you are interested in either writing or contributing to a book, please visit www.bpbonline.com. We have worked with thousands of developers and tech professionals, just like you, to help them share their insights with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea. Reviews Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions. We at BPB can understand what you think about our products, and our authors can see your feedback on their book. Thank you! For more information about BPB, please visit www.bpbonline.com. Join our Discord space Join our Discord workspace for latest updates, offers, tech happenings around the world, new releases, and sessions with the authors: https://discord.bpbonline.com
Table of Contents 0. Navigation Why chapter 0? Cheat codes for various personas Different ways to consume 1. Introduction to DevOps Introduction Objectives DevOps: Philosophy and culture What is DevOps? What it is not! History of DevOps Before the computer era Computer era Separation of responsibilities Lean software development Rise of virtualization Cloud computing 10+ deploys a day, Dev and Ops cooperation Coinage of DevOps Rise of containers Container orchestration and the age of Kubernetes Docker Swarm Where are we heading? Wrapping up history
Why is culture everything? Communication Considerations when adopting communication tools Shared expectations Psychological safety Collaboration Enabling business and technology Differences in larger vs. smaller organizations Organizational silos Community and knowledge sharing Conclusion 2. Planning and Reacting to a Changing Organization’s Needs Introduction Objectives What agile fits you best? Before Agile, there was Waterfall Phases Characteristics Waterfall and DevOps compatibility Introduction to Agile Lean software engineering Jumping into Agile Kanban Board Extreme Programming Conclusion 3. Automation Introduction Objectives
Automate all the things! Removing humans from the process Human vs. computer failures Storytime, copy, paste, delete, restore Resilient and self-healing infrastructure Communication Machine <-> Machine Human <-> Machine Developer <-> Machine Human <-> Human Familiar internet APIs Documentation Docs lie, in code we trust Contracts Disaster recovery Everything as code Various terms Exceptions Disaster recovery and business continuity planning Patch management Code for 3 AM How about an example? Ben’s ten commandments of clean coding Deployments Considerations for picking frameworks Conclusion 4. Importance of Automated Testing Introduction Objectives Why do we test?
Computers do what we tell them Amplification Internal morale and customer dissatisfaction Stories Types of tests and the value they bring Unit Integration Code coverage Gaming coverage Reduce maintenance cost End to end Test priorities first When do tests cause harm? Examples Test files vs. test examples X-driven development Test-driven development Behavior-driven development Pain-driven development Functional Smoke test Non-functional testing Load, performance, and scalability Security, vulnerabilities, compliance Usability Accessibility Fuzz testing Mutation testing Test frequency Test data management Generation Masking and redaction