وبلاگ بلیان

NET DevOps برای Azure: راهنمای توسعه‌دهنده برای معماری DevOps به روش صحیح

.NET DevOps for Azure : A Developer's Guide to DevOps Architecture the Right Way

جلد کتاب NET DevOps برای Azure: راهنمای توسعه‌دهنده برای معماری DevOps به روش صحیح

معرفی کتاب «NET DevOps برای Azure: راهنمای توسعه‌دهنده برای معماری DevOps به روش صحیح» (با عنوان لاتین .NET DevOps for Azure : A Developer's Guide to DevOps Architecture the Right Way) نوشتهٔ Jeffrey Palermo، منتشرشده توسط نشر Apress : Imprint: Apress در سال 2019. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

در دنیای پرشتاب توسعهٔ نرم‌افزار، پیاده‌سازی صحیح فرایندهای «دووُپس» (DevOps) می‌تواند تفاوتی حیاتی میان موفقیت یا شکست یک تیم ایجاد کند. کتاب «NET DevOps برای Azure: راهنمای توسعه‌دهنده برای معماری DevOps به روش صحیح» نوشتهٔ جفری پالرمو (Jeffrey Palermo)، منبعی جامع و عملی است که به توسعه‌دهندگان دات‌نت نشان می‌دهد چگونه با بهره‌گیری از قابلیت‌های مایکروسافت آزور (Microsoft Azure)، محیطی در سطح جهانی برای تحویل نرم‌افزار با کیفیت و سرعت بالا پیاده‌سازی کنند.

دربارهٔ کتاب NET DevOps برای Azure: راهنمای توسعه‌دهنده برای معماری DevOps به روش صحیح

این کتاب که در سال ۲۰۱۹ توسط انتشارات آپرس (Apress) منتشر شده است، فراتر از یک راهنمای ساده، به عنوان یک نقشهٔ راه کامل برای معماران و توسعه‌دهندگانی عمل می‌کند که به دنبال استقرار یک محیط «دووُپس» حرفه‌ای در بستر ابری آزور هستند. جفری پالرمو، با تکیه بر تجربهٔ عملی گسترده‌ی خود، کتاب را با بررسی رایج‌ترین چالش‌های پیش روی تیم‌های توسعه آغاز کرده و سپس راه‌حل‌هایی اثبات‌شده برای پیاده‌سازی گام‌به‌گام «دووُپس» ارائه می‌دهد. هستهٔ مرکزی کتاب بر ارائهٔ یک مدل معماری مشخص متمرکز است که اگرچه برای هر سازمانی قابل سفارشی‌سازی است، اما چارچوبی منسجم برای افزایش سرعت و کیفیت کار تمام تیم‌ها و برنامه‌ها فراهم می‌آورد. نویسنده با لحنی دقیق و ساختاریافته، مخاطب را از مفاهیم پایه تا مباحث پیشرفته همراهی می‌کند. از جمله مباحث کلیدی کتاب می‌توان به نحوهٔ انتقال برنامه‌های دات‌نت به محیط «دووُپس» در آزور، تحلیل و رفع گلوگاه‌های فرایند، مدیریت کد با استفاده از «آزور رپوس» (Azure Repos)، بخش‌بندی مناسب برنامه‌ها در مخازن گیت (Git)، آشنایی با انواع مختلف بیلد (Build) و کاربرد هر یک، و نیز نحوهٔ تأمین و پیکربندی محیط‌های گوناگون برای استقرار اشاره کرد. همچنین، مباحث حیاتی نظیر نظارت و پشتیبانی از نرم‌افزار پس از استقرار در محیط تولید، بخش جدایی‌ناپذیر این کتاب را تشکیل می‌دهند.

دربارهٔ نویسنده

جفری پالرمو (Jeffrey Palermo) یک معمار نرم‌افزار، رهبر کسب‌وکار و بنیانگذار و مدیرعامل شرکت کلیر میژر (Clear Measure, Inc.)، یک شرکت مهندسی نرم‌افزار متمرکز بر «دووُپس» است. او که بیش از بیست بار موفق به دریافت جایزهٔ «متخصص ارزشمند مایکروسافت» (Microsoft MVP) شده است، یکی از چهره‌های شاخص و تأثیرگذار در جامعهٔ توسعه‌دهندگان دات‌نت به شمار می‌رود. پالرمو بنیانگذار پادکست و گروه کاربری «آزور دووُپس» (Azure DevOps) نیز هست و به عنوان سخنران در کنفرانس‌های معتبری همچون مایکروسافت ایگنیت (Microsoft Ignite)، تک‌اد (TechEd) و بیلد (Build) حضور داشته است. او نویسندهٔ کتاب‌ها و مقالات متعددی در زمینهٔ معماری و توسعهٔ نرم‌افزار است و مدرک کارشناسی خود را از دانشگاه تگزاس ای اند ام (Texas A&M) و مدرک مدیریت ارشد کسب‌وکار (MBA) را از مؤسسهٔ مدیریت جک ولش (Jack Welch Management Institute) اخذ کرده است.

چرا باید NET DevOps برای Azure: راهنمای توسعه‌دهنده برای معماری DevOps به روش صحیح را بخوانید؟

  • دستیابی به یک مدل معماری اثبات‌شده: این کتاب صرفاً به بیان مفاهیم نمی‌پردازد، بلکه یک مدل عملی و قابل‌پیاده‌سازی برای محیط کاری تیم شما ارائه می‌دهد که می‌تواند به عنوان سنگ بنای استراتژی «دووُپس» شما عمل کند.
  • آشنایی با بهترین شیوه‌های پیاده‌سازی در آزور: با مطالعهٔ این کتاب، با نحوهٔ استفادهٔ صحیح از ابزارهایی نظیر «آزور پایپ‌لاینز» (Azure Pipelines)، «آزور رپوس» و دیگر سرویس‌های کلیدی آزور برای ایجاد یک چرخهٔ تحویل پیوسته (Continuous Delivery) آشنا می‌شوید.
  • حل چالش‌های رایج و شناسایی گلوگاه‌ها: نویسنده با بررسی عمیق مشکلات متداول در فرایندهای «دووُپس»، به شما می‌آموزد که چگونه بخش‌های کند و مشکل‌دار فرایند خود را تحلیل و رفع کنید.
  • یادگیری اصول تفکیک کد و مدیریت مخازن: کتاب قوانین و اصولی را برای بخش‌بندی صحیح برنامه‌ها در مخازن گیت ارائه می‌دهد که برای حفظ ساختار و انسجام کد در تیم‌های بزرگ ضروری است.
  • توانایی نظارت و پشتیبانی مؤثر از نرم‌افزار: مباحث مربوط به پیکربندی محیط‌ها، استقرار نسخه‌های کاندیدا و نظارت بر برنامه‌های مستقرشده در محیط تولید، از دیگر دستاوردهای ارزشمند این کتاب است.

این کتاب برای چه کسانی مناسب است؟

این کتاب به طور مشخص برای توسعه‌دهندگان دات‌نت (NET.) طراحی شده است که به دنبال استفاده از «دووُپس» در بستر آزور هستند، اما نمی‌دانند از کجا باید شروع کنند. چه یک توسعه‌دهندهٔ تازه‌کار باشید که می‌خواهد با اصول «دووُپس» آشنا شود و چه یک معمار باتجربه که به دنبال بهینه‌سازی فرایندهای تیم خود است، مطالب این کتاب برای شما مفید خواهد بود. همچنین، مدیران فنی و سرپرستان تیم‌های نرم‌افزاری که قصد دارند سازمان خود را به سمت پیاده‌سازی یک محیط حرفه‌ای و کارآمد «دووُپس» سوق دهند، مخاطبان اصلی این اثر به شمار می‌روند.

سوالات متداول

آیا برای درک این کتاب نیاز به دانش قبلی دربارهٔ معماری «دووُپس» دارم؟

خیر، این کتاب با مفاهیم پایه و چالش‌های رایج شروع می‌شود و به تدریج به مباحث پیشرفته‌تر می‌پردازد. با این حال، داشتن آشنایی مقدماتی با پلتفرم دات‌نت و مفاهیم کلی ابری می‌تواند به درک بهتر مطالب کمک کند.

آیا کتاب صرفاً بر روی ابزارهای خاصی متمرکز است یا اصول کلی را نیز آموزش می‌دهد؟

این کتاب هر دو جنبه را پوشش می‌دهد. اگرچه ابزارهای اصلی مایکروسافت مانند «آزور دووُپس» و «آزور رپوس» محور بحث هستند، اما نویسنده همواره بر اصول و الگوهای معماری تأکید دارد که می‌توان آن‌ها را با سایر ابزارها نیز تطبیق داد.

چقدر از محتوای کتاب به مباحث عملی و پیاده‌سازی کد اختصاص دارد؟

این کتاب رویکردی کاملاً عملی و مبتنی بر سناریوهای واقعی دارد. نویسنده با ارائهٔ مثال‌های ملموس و گام‌های عملی، مخاطب را در فرایند پیاده‌سازی یک محیط «دووُپس» کامل همراهی می‌کند.

Use this book as your one-stop shop for architecting a world-class DevOps environment with Microsoft technologies. **__.NET DevOps for Azure__** is a synthesis of practices, tools, and process that, together, can equip a software organization to move fast and deliver the highest quality software. The book begins by discussing the most common challenges faced by developers in DevOps today and offers options and proven solutions on how to implement DevOps for your team. Daily, millions of developers use .NET to build and operate mission-critical software systems for organizations around the world. While the marketplace has scores of information about the technology, it is completely up to you to put together all the blocks in the right way for your environment. This book provides you with a model to build on. The relevant principles are covered first along with how to implement that part of the environment. And while variances in tools, language, or requirements will change the needed implementation, the DevOps model is the architecture for the working environment for your team. You can modify parts of the model to customize it to your enterprise, but the architecture will enable all of your teams and applications to accelerate in performance.**What You Will Learn** * Get your .NET applications into a DevOps environment in Azure * Analyze and address the part of your DevOps process that causes delays or bottlenecks * Track code using Azure Repos and conduct acceptance tests * Apply the rules for segmenting applications into Git repositories * Understand the different types of builds and when to use each * Know how to think about code validation in your DevOps environment * Provision and configure environments; deploy release candidates across the environments in Azure * Monitor and support software that has been deployed to a production environment **Who This Book Is For** .NET Developers who are using or want to use DevOps in Azure but don’t know where to begin Table of Contents 5 About the Author 10 Acknowledgments 11 Introduction 14 Chapter 1: Introduction 15 The Problem 15 The Challenge of Explosive Growth 16 No End-to-end Reference Implementation 18 The Solution 18 DevOps Architecture 19 Logical View 19 Process view 23 Physical View 25 Development View 27 Scenarios 27 DevOps Methodology 29 The First Way: Systems Thinking 29 The Second Way: Amplify Feedback Loops 30 The Third Way: Culture of Continual Experimentation and Learning 31 How to Get Started 31 Application Runtime Architectures 32 The Necessary Tools 33 The Sample Application 33 About the Book 36 Wrap Up 37 Bibliography 38 Chapter 2: Zero to Azure in 60 Minutes 39 Deploy an App to App Service 39 Download and Test the App 40 Create the Azure App Service Web App 42 Deployment with Visual Studio 44 Deployment Slots 47 Summary 52 Additional Reading 52 Continuous Integration and Deployment 52 Publish the App’s Code to GitHub 53 Disconnect Local Git Deployment 54 Create an Azure DevOps Organization 55 Configure the Azure Pipelines Pipeline 56 Grant Azure DevOps Access to the GitHub Repository 56 Create the Build Definition 58 Create the Release Pipeline 60 Commit Changes to GitHub and Automatically Deploy to Azure 65 Examine the Azure Pipelines pipeline 67 Build definition 67 Release Pipeline 70 Additional Reading 74 Monitor and Debug 74 Basic Monitoring and Troubleshooting 74 Advanced Monitoring 77 Profile with Application Insights 77 Logging 81 Log Streaming 82 Alerts 82 Live Debugging 83 Conclusion 83 Additional Reading 84 Wrap Up 84 Chapter 3: The Professional-Grade DevOps Environment 85 The State of DevOps 86 Removing the Ambiguity from DevOps 87 A Professional-Grade DevOps Vision 89 DevOps Architecture 90 Version Control 91 Private Build 92 Continuous Integration Build 92 Package Management 94 Test-Driven Development Environment (TDD Environment) 94 Manual Test Environment 95 Production Environment 96 Production Monitoring and Diagnostics 96 Tools of the Professional DevOps Environment 97 Azure DevOps Services 98 Azure Subscription 99 Visual Studio 2019 100 A DevOps-Centered Application 100 Using Onion Architecture to Enable DevOps 101 What is Onion Architecture? 101 Implementing Onion Architecture in .NET Core 104 Integrating DevOps Assets 106 Wrap Up 108 Bibliography 108 Chapter 4: Tracking Work 109 Change your Process Template 110 Types of Work Items 114 Customizing your Process 116 Working with the Process 120 Linking Commits 120 Branching from Azure Boards 122 Merging Using Pull Requests 125 Wrap Up 127 Bibliography 129 Chapter 5: Tracking Code 130 How Many Repositories? 130 What Should be in Your Git Repository 133 The Structure of the Git Repository 135 Choosing a Branching Pattern 139 Useful Tips in Azure Repos Configuration 140 How does GitHub Fit in? 141 Wrap Up 141 Bibliography 141 Chapter 6: Building Code 143 Structure of a Build 143 Flow of a Build on a Feature Branch 144 Flow of a Build on the Master Branch 145 Steps of a Build 146 Using Builds with .NET Core and Azure Pipelines 149 Enabling Continuous Delivery’s Commit Stage 150 Wrap Up 158 Bibliography 164 Chapter 7: Validating the Code 165 Strategy for Defect Detection 165 Strategy and Execution of Defect Detection 168 Static Analysis 168 Testing 169 Inspections 169 Code Validation in the DevOps Pipeline 170 Static Analysis 172 Testing 173 Unit Tests (L0) 173 Integration Tests (L1) 174 Full-System Tests (L2) 175 Inspections 176 Implementing Defect Detection 178 Static Analysis 178 Testing 181 Unit Tests 181 Integration Tests 185 Full-System Tests 190 Inspections 191 Wrap Up 192 Bibliography 192 Chapter 8: Release Candidate Creation 194 Designing Your Release Candidate Architecture 194 Creating and Using Release Candidate Packages 196 Defining the Bounds of a Package 197 Azure Artifacts Workflow for Release Candidates 199 Specifying How Packages are Created 201 Use Release Candidate Packages in Deployment Configurations 205 Wrap Up 208 Bibliography 208 Chapter 9: Deploying the Release 210 Designing Your Deployment Pipeline 210 Determining Environments 211 Production 213 UAT 213 TDD 213 Assigning Validation Steps to Environments 214 Deploying Data Changes Across Environments 216 Choosing Your Runtime Architecture 219 Implementing the Deployment in Azure Pipelines 223 Deploying an Application Component 230 Running Test Suites Using a Release Configuration 240 Differences in the UAT and Production Environments 251 Wrap Up 256 Bibliography 256 Chapter 10: Operating and Monitoring the Release 257 Principles 258 Architecture for Observability 260 Jumpstarting Observability 263 Wrap Up 274 Bibliography 274 Afterword 275 Index 278 Use this book as your one-stop shop for architecting a world-class DevOps environment with Microsoft technologies. .NET DevOps for Azure is a synthesis of practices, tools, and process that, together, can equip a software organization to move fast and deliver the highest quality software. The book begins by discussing the most common challenges faced by developers in DevOps today and offers options and proven solutions on how to implement DevOps for your team. Daily, millions of developers use .NET to build and operate mission-critical software systems for organizations around the world. While the marketplace has scores of information about the technology, it is completely up to you to put together all the blocks in the right way for your environment. This book provides you with a model to build on. The relevant principles are covered first along with how to implement that part of the environment. And while variances in tools, language, or requirements will change the needed implementation, the DevOps model is the architecture for the working environment for your team. You can modify parts of the model to customize it to your enterprise, but the architecture will enable all of your teams and applications to accelerate in performance. What You Will Learn: Get your .NET applications into a DevOps environment in Azure Analyze and address the part of your DevOps process that causes delays or bottlenecks Track code using Azure Repos and conduct acceptance tests Apply the rules for segmenting applications into Git repositories Understand the different types of builds and when to use each Know how to think about code validation in your DevOps environment Provision and configure environments; deploy release candidates across the environments in Azure Monitor and support software that has been deployed to a production environment This book is for .NET Developers who are using or want to use DevOps in Azure but don't know where to begin. Jeffrey Palermo is Chief Architect and CEO of Clear Measure, Inc., a DevOps-centered software engineering company. He is also the founder of the Azure DevOps Podcast and the Azure DevOps User Group. Previously, he was a founding board member of AgileAustin, the founder of AzureAustin, and a leader in the Austin .NET User Group. Jeffrey is a well-known author and international public speaker. He has received 13 Most Valuable Professional awards from Microsoft and has spoken at industry conferences such as Microsoft TechEd, Microsoft Ignite, Microsoft Build, DevTeach, VSLive, and various other regional conferences. Use this book as your one-stop shop for architecting a world-class DevOps environment with Microsoft technologies. .NET DevOps for Azure is a synthesis of practices, tools, and process that, together, can equip a software organization to move fast and deliver the highest quality software. The book begins by discussing the most common challenges faced by developers in DevOps today and offers options and proven solutions on how to implement DevOps for your team. Daily, millions of developers use .NET to build and operate mission-critical software systems for organizations around the world. While the marketplace has scores of information about the technology, it is completely up to you to put together all the blocks in the right way for your environment. This book provides you with a model to build on. The relevant principles are covered first along with how to implement that part of the environment. And while variances in tools, language, or requirements will change the needed implementation, the DevOps model is the architecture for the working environment for your team. You can modify parts of the model to customize it to your enterprise, but the architecture will enable all of your teams and applications to accelerate in performance. What You Will Learn: Get your .NET applications into a DevOps environment in Azure Analyze and address the part of your DevOps process that causes delays or bottlenecks Track code using Azure Repos and conduct acceptance tests Apply the rules for segmenting applications into Git repositories Understand the different types of builds and when to use each Know how to think about code validation in your DevOps environment Provision and configure environments; deploy release candidates across the environments in Azure Monitor and support software that has been deployed to a production environment This book is for .NET Developers who are using or want to use DevOps in Azure but dont know where to begin. Jeffrey Palermo is Chief Architect a nd CEO of Clear Measure, Inc., a DevOps-centered software engineering company. He is also the founder of the Azure DevOps Podcast and the Azure DevOps User Group. Previously, he was a founding board member of AgileAustin, the founder of AzureAustin, and a leader in the Austin .NET User Group. Jeffrey is a well-known author and international public speaker. He has received 13 Most Valuable Professional awards from Microsoft and has spoken at industry conferences such as Microsoft TechEd, Microsoft Ignite, Microsoft Build, DevTeach, VSLive, and various other regional conferences Use this book as your one-stop shop for architecting a world-class DevOps environment with Microsoft technologies. .NET DevOps for Azure is a synthesis of practices, tools, and process that, together, can equip a software organization to move fast and deliver the highest quality software. The book begins by discussing the most common challenges faced by developers in DevOps today and offers options and proven solutions on how to implement DevOps for your team. Daily, millions of developers use .NET to build and operate mission-critical software systems for organizations around the world. While the marketplace has scores of information about the technology, it is completely up to you to put together all the blocks in the right way for your environment. This book provides you with a model to build on. The relevant principles are covered first along with how to implement that part of the environment. And while variances in tools, language, or requirements will change the needed implementation, the DevOps model is the architecture for the working environment for your team. You can modify parts of the model to customize it to your enterprise, but the architecture will enable all of your teams and applications to accelerate in performance. What You Will Learn Get your .NET applications into a DevOps environment in Azure Analyze and address the part of your DevOps process that causes delays or bottlenecks Track code using Azure Repos and conduct acceptance tests Apply the rules for segmenting applications into Git repositories Understand the different types of builds and when to use each Know how to think about code validation in your DevOps environment Provision and configure environments; deploy release candidates across the environments in Azure Monitor and support software that has been deployed to a production environment Who This Book Is For .NET Developers who are using or want to use DevOps in Azure but don’t know where to begin Front Matter ....Pages i-xvii Introduction (Jeffrey Palermo)....Pages 1-24 Zero to Azure in 60 Minutes (Jeffrey Palermo)....Pages 25-70 The Professional-Grade DevOps Environment (Jeffrey Palermo)....Pages 71-94 Tracking Work (Jeffrey Palermo)....Pages 95-115 Tracking Code (Jeffrey Palermo)....Pages 117-129 Building Code (Jeffrey Palermo)....Pages 131-152 Validating the Code (Jeffrey Palermo)....Pages 153-181 Release Candidate Creation (Jeffrey Palermo)....Pages 183-198 Deploying the Release (Jeffrey Palermo)....Pages 199-245 Operating and Monitoring the Release (Jeffrey Palermo)....Pages 247-264 Back Matter ....Pages 265-272
دانلود کتاب NET DevOps برای Azure: راهنمای توسعه‌دهنده برای معماری DevOps به روش صحیح