ebook img

The Art of Site Reliability Engineering (SRE) with Azure: Building and Deploying Applications That Endure PDF

262 Pages·2022·10.19 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview The Art of Site Reliability Engineering (SRE) with Azure: Building and Deploying Applications That Endure

The Art of Site Reliability Engineering (SRE) with Azure Building and Deploying Applications That Endure Unai Huete Beloki Foreword by Peter De Tender The Art of Site Reliability Engineering (SRE) with Azure: Building and Deploying Applications That Endure Unai Huete Beloki San Sebastian, Spain ISBN-13 (pbk): 978-1-4842-8703-3 ISBN-13 (electronic): 978-1-4842-8704-0 https://doi.org/10.1007/978-1-4842-8704-0 Copyright © 2022 by Unai Huete Beloki This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Managing Director, Apress Media LLC: Welmoed Spahr Acquisitions Editor: Smriti Srivastava Development Editor: Laura Berendson Coordinating Editor: Shrikant Vishwakarma Cover designed by eStudioCalamar Cover image by Freepik (www.freepik.com) Distributed to the book trade worldwide by Apress Media, LLC, 1 New York Plaza, New York, NY 10004, U.S.A. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected], or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation. For information on translations, please e-mail [email protected]; for reprint, paperback, or audio rights, please e-mail [email protected]. Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Print and eBook Bulk Sales web page at http://www.apress.com/bulk-sales. Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub (https://github.com/Apress). For more detailed information, please visit http://www. apress.com/source- code. Printed on acid-free paper Table of Contents About the Author ����������������������������������������������������������������������������������������������������vii About the Technical Reviewer ���������������������������������������������������������������������������������ix Acknowledgments ���������������������������������������������������������������������������������������������������xi Foreword ���������������������������������������������������������������������������������������������������������������xiii Introduction �������������������������������������������������������������������������������������������������������������xv Chapter 1: The Foundation of Site Reliability Engineering ���������������������������������������1 The History of Site Reliability Engineering ������������������������������������������������������������������������������������1 Why SRE Is Not DevOps 2�0 ����������������������������������������������������������������������������������������������������������3 Identify Best Practices Around SRE�����������������������������������������������������������������������������������������������6 Automate Everything ���������������������������������������������������������������������������������������������������������������7 Identify Acceptable Service Levels ������������������������������������������������������������������������������������������7 Be Focused on Engineering �����������������������������������������������������������������������������������������������������8 Understand the Challenges of SRE �����������������������������������������������������������������������������������������������9 Clarify Prerequisites to the Role of SRE ��������������������������������������������������������������������������������������12 Summary�������������������������������������������������������������������������������������������������������������������������������������15 Chapter 2: Service-Level Management Definitions and Acronyms �������������������������17 Why It’s Not a Glossary ���������������������������������������������������������������������������������������������������������������18 Risk Assessment �������������������������������������������������������������������������������������������������������������������18 Understand Reliability �����������������������������������������������������������������������������������������������������������23 Service-Level Metrics ������������������������������������������������������������������������������������������������������������24 Unavailability Metrics ������������������������������������������������������������������������������������������������������������30 Postmortems �������������������������������������������������������������������������������������������������������������������������39 iii Table of ConTenTs Toil �����������������������������������������������������������������������������������������������������������������������������������������40 Hierarchy of Reliability ����������������������������������������������������������������������������������������������������������41 Summary�������������������������������������������������������������������������������������������������������������������������������������43 Chapter 3: Azure Well-Architected Framework (WAF) ��������������������������������������������45 Understanding Well-Architected Framework (WAF) Concepts ����������������������������������������������������46 WAF – Reliability Building Block ��������������������������������������������������������������������������������������������49 Reliability Checklists �������������������������������������������������������������������������������������������������������������������58 Testing Applications for Resiliency ���������������������������������������������������������������������������������������������59 Well-Architected Framework Assessment ����������������������������������������������������������������������������������62 Summary�������������������������������������������������������������������������������������������������������������������������������������68 Chapter 4: Architecting Resilient Solutions in Azure����������������������������������������������69 What Is Resiliency? ���������������������������������������������������������������������������������������������������������������������69 Azure Platform Resiliency ������������������������������������������������������������������������������������������������������71 Resiliency Based in Numbers ������������������������������������������������������������������������������������������������74 Resiliency on Application Design �������������������������������������������������������������������������������������������76 Mainly Used Components/Platform Features for Resilient Solutions ������������������������������������78 Resilient Architecture Examples ��������������������������������������������������������������������������������������������82 PaaS Resilient Architecture ���������������������������������������������������������������������������������������������������84 Microservices Architecture ����������������������������������������������������������������������������������������������������86 Testing Resiliency on Azure ���������������������������������������������������������������������������������������������������89 Summary�������������������������������������������������������������������������������������������������������������������������������������89 Chapter 5: Automation to Enable SRE with GitHub Actions/Azure DevOps/Azure Automation ��������������������������������������������������������������������������������������91 Automation for SRE ���������������������������������������������������������������������������������������������������������������������92 CI/CD Automation with DevOps ���������������������������������������������������������������������������������������������������93 What Is DevOps ���������������������������������������������������������������������������������������������������������������������93 Modern Deployment Strategies �������������������������������������������������������������������������������������������122 Summary�����������������������������������������������������������������������������������������������������������������������������������142 iv Table of ConTenTs Chapter 6: Monitoring As the Key to Knowledge ��������������������������������������������������143 Operational Awareness �������������������������������������������������������������������������������������������������������������144 SLI/SLO/SLA�������������������������������������������������������������������������������������������������������������������������145 Error Budget/Burn Rate �������������������������������������������������������������������������������������������������������147 Observability vs� Monitoring �����������������������������������������������������������������������������������������������������148 Azure Service Health �����������������������������������������������������������������������������������������������������������������148 Azure Monitor ����������������������������������������������������������������������������������������������������������������������������150 Data Sources �����������������������������������������������������������������������������������������������������������������������151 Visualize ������������������������������������������������������������������������������������������������������������������������������153 Analyze ��������������������������������������������������������������������������������������������������������������������������������160 Application Insights �������������������������������������������������������������������������������������������������������������167 Azure Monitor Alerts ������������������������������������������������������������������������������������������������������������178 [DEMO] Tracking SLI/SLO/SLA Using Application Insights and Log Analytics ����������������������182 Azure DevOps ����������������������������������������������������������������������������������������������������������������������������187 GitHub ���������������������������������������������������������������������������������������������������������������������������������������189 Summary�����������������������������������������������������������������������������������������������������������������������������������192 Chapter 7: Efficiently Handle Incident Response and Blameless Postmortems ��������������������������������������������������������������������������������������������������������193 Incident Response (IR) ��������������������������������������������������������������������������������������������������������������193 Incident Response Pillars ����������������������������������������������������������������������������������������������������196 Incident Tracking/Detection �������������������������������������������������������������������������������������������������199 Communication and ChatOps ����������������������������������������������������������������������������������������������202 Eradication/Remediation �����������������������������������������������������������������������������������������������������204 Measuring Performance ������������������������������������������������������������������������������������������������������211 [DEMO] Incident Response ��������������������������������������������������������������������������������������������������214 Blameless Postmortems �����������������������������������������������������������������������������������������������������������218 Best Practices/Tips ��������������������������������������������������������������������������������������������������������������221 Summary�����������������������������������������������������������������������������������������������������������������������������������222 v Table of ConTenTs Chapter 8: Azure Chaos Studio (Preview) and Azure Load Testing (Preview) ������223 Intro to Chaos Engineering ��������������������������������������������������������������������������������������������������������224 Chaos Monkey ���������������������������������������������������������������������������������������������������������������������225 Principles of Chaos (Engineering) ����������������������������������������������������������������������������������������226 Azure Chaos Studio �������������������������������������������������������������������������������������������������������������228 Load/Performance Testing ��������������������������������������������������������������������������������������������������������261 Azure Load Testing ��������������������������������������������������������������������������������������������������������������262 Summary�����������������������������������������������������������������������������������������������������������������������������������271 Index ���������������������������������������������������������������������������������������������������������������������273 vi About the Author Unai Huete Beloki is a Microsoft Technical Trainer (MTT) working at Microsoft, based in San Sebastian (Spain). From February 2017 to July 2020, he worked as a PFE (Premier Field Engineer), offering support and education as a DevOps expert to Microsoft customers all around EMEA, mainly focused on the following technologies: GitHub, Azure DevOps, Azure Cloud Architecture and Monitoring, and Azure AI/Cognitive Services. Since July 2020, he has worked as a Microsoft Technical Trainer (MTT) on the technologies mentioned above and served as the MTT lead for the AZ-400 DevOps Solutions exam, helping shape the content of the exam/course. In his free time, he loves traveling, water sports like surfing and spearfishing, and mountain-related activities such as MTB and snowboarding. vii About the Technical Reviewer Peter De Tender has more than 20 years’ experience in architecting and deploying Microsoft data center technologies, having started his career on Windows NT4 Server in 1996. Since early 2012, he started shifting to cloud technologies (Microsoft 365, Intune) and quickly moved to the Azure platform, working as a cloud solution architect and trainer, out of his own company. Since September 2019, Peter has worked at Microsoft as part of the prestigious Microsoft Technical Trainer team, providing Azure readiness workshops to larger customers and partners across the globe. Peter recently relocated to Redmond, WA, to continue this role in the West US team. Prior to joining Microsoft, he was an Azure MVP for 5 years and a Microsoft Certified Trainer for more than 12 years. He is still actively involved in the community as a speaker, technical writer, and author. Follow Peter on Twitter at @pdtit and check his technical blog, www.007ffflearning.com. ix Acknowledgments Writing this book has been an amazing journey. I have been talking and giving support to customers around the mentioned topics for more than five years already, but I had never imagined writing my first book about it would be so rewarding (and time consuming of course , but worth it!). I want to start with thanking my colleague and friend Peter De Tender. As mentioned in the Foreword, Peter was the one who came up with the idea to write a book about SRE on Azure. I was aware of it, as we have been providing DevOps/SRE education to customers (many times together) during the last two years. Due to Visa regulations, he was not allowed to continue and asked me to join this interesting project. He has provided amazing help based on his extensive book-writing and Azure experience. Finally, I also want to thank my girlfriend and family for the support and encouragement during the last busy months. xi

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.