DevOps for the Desperate
A Hands-on Survival Guide
Bradley Smith
DevOps for the Desperate. Copyright 2022 by Bradley Smith.
All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher.
ISBN-13: 978-1-7185-0248-2 (print)
ISBN-13: 978-1-7185-0249-9 (ebook)
Publisher: William Pollock
Managing Editor: Jill Franklin
Production Editor: Paula Williamson
Developmental Editor: Jill Franklin
Cover Illustration: Gina Redman
Interior Design: Octopod Studios
Technical Reviewer: Quentin Hartman
Copyeditor: Doug McNair
Compositor: Happenstance Type-O-Rama
Proofreader: Jamie Lauer
For information on distribution, bulk sales, corporate sales, or translations, please contact No Starch Press, Inc. directly at info@nostarch.com or:
No Starch Press, Inc.
245 8th Street, San Francisco, CA 94103
phone: 1-415-863-9900
www.nostarch.com
Library of Congress Cataloging-in-Publication Data
Names: Smith, Bradley (Software engineer), author.
Title: DevOps for the desperate : a hands-on survival guide / Bradley
Smith.
Description: San Francisco : No Starch Press, [2022] | Includes
index. |
Identifiers: LCCN 2021060922 (print) | LCCN 2021060923 (ebook) | ISBN
9781718502482 (paperback) | ISBN 9781718502499 (ebook)
Subjects: LCSH: Computer software--Development--Management. | Software
engineering--Management.
Classification: LCC QA76.76.D47 S567 2022 (print) | LCC QA76.76.D47
(ebook) | DDC 005.1068--dc23/eng/20220111
LC record available at https://lccn.loc.gov/2021060922
LC ebook record available at https://lccn.loc.gov/2021060923
No Starch Press and the No Starch Press logo are registered trademarks of No Starch Press, Inc. Other product and company names mentioned herein may be the trademarks of their respective owners. Rather than use a trademark symbol with every occurrence of a trademarked name, we are using the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark.
The information in this book is distributed on an As Is basis, without warranty. While every precaution has been taken in the preparation of this work, neither the author nor No Starch Press, Inc. shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in it.
This book is for all the engineers slogging through on call.
About the Author
Bradley Smith is a director of infrastructure and resides in Denver, Colorado. He has been an engineer for more than 20 years at many startups and businesses, large and small. He has built, trained, and been a member of numerous DevOps, SRE, and software engineering teams. A Boston native, Bradley graduated from the University of Massachusetts Lowell.
About the Technical Reviewer
Quentin Hartman has been living and breathing DevOps since before it had a name. He loves the tech, but more than that, he loves seeing how DevOps practices make software and the lives of people who build it better. Over the course of his nearly 25-year career in technology, Quentin has worked in public education, higher education, nonprofits, and private businesses with anywhere from 3 to 300,000 employees. He has managed telecom systems, datacenters, and public and private clouds. He has acted as a sysadmin, a DBA, a network engineer, an incident responder, and a leader. This broad experience has given him an especially strong foundation in DevOps, which has been his primary focus since 2012. Wherever Quentin is, he puts people before tech and is only really happy when hes working on a social-impact mission using open source tools. Quentin lives near Denver, Colorado, with his family. He can often be found building things, cooking, and wandering in the woods. He can be reached as qhartman on many platforms, including Mastodon.social, Twitter, and LinkedIn.
Acknowledgments
When writing acknowledgments, you quickly realize how many people make publishing a book possible. This would be a very long section if I thanked everyone who contributed in some way, and since this is not a Nobel Prize acceptance speech, I will try to keep it short and sweet. If I do not mention you below, please know I appreciate your help tremendously.
First, I want to thank everyone at No Starch Press. Without you, this book would not have been possible. The guidance from my editor, Jill Franklin, and technical editors, Kyle Terrien and Quentin Hartman, has been invaluable. Thank you so much for wrangling this idea into a book. I appreciate you all.
We all need help from our friends, and this book has my friends fingerprints all over it. Many of you provided feedback, and I thank you all so much. In particular, I want to thank Rishi Malik, Jaden Grossman, and Jeffrey Matthias. You provided support and (more importantly) lent me your precious time. I owe you!
Finally, I want to thank my family. Countless times, I asked you to read a sentence or a paragraph and tell me what you thought of iteven though you had no idea what I was talking about. To my wife, Leilani, you have always encouraged me and made me believe I could do this. Thank you for making time in our lives so I could work on this book. To my daughters, Aiden and Akira, you are my inspiration, and you make me want to be the best person I can be. I love the three of you, always.
Introduction
Every day of their working lives, DevOps engineers immerse themselves in cloud-based trends and technologies. Meanwhile, everyone else in engineering is expected to be familiar with DevOps and keep pace with how it is evolving. The reason is simple: DevOps is an integral part of software development. However, you probably dont have time to both do your day job and keep tabs on the ever-changing landscape of DevOpsand luckily, you dont have to. Just gain an understanding of the foundational concepts, terms, and tactics of DevOps, and youll go far.
On the other hand, when it comes time to deliver code, you cant just put your head in the sand and hope someone else will deal with it. Writing configuration files, enforcing observability, and setting up continuous integration/continuous delivery (CI/CD) pipelines have become the norm in software development. You therefore need to be well versed in code and infrastructure.
If youre a software engineer, developer, or systems administrator, this book will teach you the concepts, commands, and techniques that will give you a solid foundation in DevOps, reliability, and modern application stacks. But be aware that this is an introduction to DevOps, not a definitive guide. Ive chosen to keep the knowledge fire hose turned down low, and Ill focus on the following foundational concepts:
- Infrastructure as code
- Configuration management
- Security
- Containerization and orchestration
- Delivery
- Monitoring and alerting