کتاب Pragmatic Microservices with C# and Azure: Build, deploy, and scale microservices efficiently to meet modern software demands (میکروسرویسهای کاربردی با سی شارپ و Azure: ساخت، استقرار و مقیاسبندی میکروسرویسها بهطور کارآمد برای برآوردن نیازهای نرمافزاری مدرن) .NET Aspire و ویژگیهای آن برای توسعه میکروسرویسها را معرفی میکند.
در تعریف یک مدل برنامه برای سرویسهای یک برنامه، با استفاده از کشف سرویس، و ادغام مؤلفهها به صورت محلی و از طریق سرویسهای ابری بومی با Azure میپردازد. این بینش عملی و تجربه عملی را ارائه میدهد و مفاهیم میکروسرویس ها را در ASP.NET Core کاوش میکند.
در ادامه مقدمهای از کتاب Pragmatic Microservices with C# and Azure را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Pragmatic Microservices with C# and Azure:
.NET Aspire: چارچوبی برای توسعه میکروسرویسهای قدرتمند
.NET Aspire یک چارچوب جدید و خاص با مجموعهای از ابزارها و کتابخانهها برای ساخت میکروسرویسها با استفاده از .NET است، بدون اینکه نگران اجرا در محل، روی Microsoft Azure یا هر محیط ابری دیگری باشید. در این کتاب یاد خواهید گرفت که چگونه در هنگام ساخت راهحلهای خود، بهترین بهره را از .NET Aspire ببرید.
ایجاد API های مینیمال ASP.NET Core (یک گزینه آسان و سریع برای ایجاد سرویسهای REST) تنها بخش کوچکی از ساخت برنامههای کاربردی با استفاده از معماری مبتنی بر میکروسرویس است. کتاب Pragmatic Microservices with C# and Azure تمام جنبههای مختلف مورد نیاز برای ساخت یک راهحل موفق را پوشش میدهد.
دسترسی به پایگاههای داده، هم رابطهای و هم NoSQL؛ استفاده از Docker و استقرار تصاویر Docker؛ استقرار خودکار با اکشنهای گیتهاب؛ نظارت بر راهحل با لاگگیری، دادههای اندازهگیری و ردیابی توزیعشده؛ ایجاد تستهای واحدی، تستهای ادغام و تستهای بار؛ انتشار خودکار راهحل در محیطهای مختلف؛ و استفاده از ارتباط باینری، بلادرنگ و غیرهمزمان – همه این موارد در این کتاب گنجانده شده است.
با استفاده از کدی که در این کتاب ارائه شده است، روی یک راهحل بکاند برای اجرای یک بازی جالب کار خواهید کرد. از فصل ۲ کتاب Pragmatic Microservices with C# and Azure، شما از قبل دارای قابلیتهای قابل استفاده و قابل تست خواهید بود و این قابلیتها فصل به فصل برای پوشش تمام جنبههای مهم مربوط به میکروسرویسها، بهبود مییابند. اگر نمیخواهید هر فصل را به ترتیب دنبال کنید، برای هر فصل کدهایی را ارائه کردهایم که میتوانید با آنها شروع کنید.
این برنامه میتواند در مایکروسافت Azure با استفاده از چندین سرویس Azure مانند Azure Container Apps، Container Registry، Cosmos DB، App Configuration، Key Vault، Redis و SignalR Service اجرا شود. همچنین میتواند در یک محیط درونسازمانی روی یک خوشه Kubernetes با استفاده از Kafka، Redis و سایر منابع اجرا شود.
در پایان کتاب Pragmatic Microservices with C# and Azure، شما در اجرای یک راهحل پایدار، با عملکرد بالا و مقیاسپذیر و استفاده از سرویسهای مختلف Azure که برای میزبانی چنین راهحل مبتنی بر سرویس عالی هستند، اطمینان حاصل خواهید کرد. در حالی که راهحل کتاب یک بازی است، اما دانش به دست آمده به شما در ایجاد هر معماری سرویس مرتبط با کسب و کار کمک خواهد کرد.
کتاب Pragmatic Microservices with C# and Azure برای چه کسانی است؟
این کتاب برای توسعهدهندگان و معماران نرمافزاری است که با C# و .NET آشنایی دارند، دانش اولیهای از Microsoft Azure دارند و میخواهند از تمام جنبههای مورد نیاز برای ایجاد میکروسرویسهای مدرن با .NET و Microsoft Azure مطلع شوند.
فصول کتاب Pragmatic Microservices with C# and Azure
فصل ۱، مقدمهای بر .NET Aspire و میکروسرویسها: این فصل کتاب Pragmatic Microservices with C# and Azure، شما را با .NET Aspire و همچنین ابزارها و کتابخانههایی که میتوانند در ساخت میکروسرویسها بسیار مفید باشند، آشنا میکند. شما یک پروژه اولیه .NET Aspire را شروع خواهید کرد و اجزای تشکیل دهنده آن و بخشهایی از .NET Aspire را که میتوانید از آنها استفاده کنید، بررسی خواهید کرد. شما سرویسهایی را که برنامه Codebreaker (این راهحلی است که قرار است در تمام فصول کتاب بسازیم) از آنها تشکیل شده است، مشاهده میکنید و در مورد سرویسهایی که با Microsoft Azure استفاده میشوند، یاد خواهید گرفت.
فصل ۲، API های مینیمال – ایجاد سرویسهای REST: به عنوان نقطه شروع برای ایجاد برنامه Codebreaker عمل میکند. شما یاد خواهید گرفت که چگونه از فناوری ASP.NET Core minimal API برای ایجاد کارآمد سرویسهای REST، استفاده از OpenAPI برای توصیف سرویسها و تست سرویسها با فایلهای HTTP استفاده کنید.
فصل ۳، نوشتن داده به پایگاههای داده رابطهای و غیر رابطهای: فقط از حافظه داخلی در فصل ۲ کتاب Pragmatic Microservices with C# and Azure استفاده میکند و با استفاده از Azure SQL و Azure Cosmos DB، ذخیرهسازی پایگاه داده را اضافه میکند، پایگاههای داده رابطهای و غیر رابطهای را مقایسه میکند و از EF Core با هر دو نوع استفاده میکند.
فصل ۴، ایجاد کتابخانه برای برنامههای کاربردی مشتری: با یک نوع با استفاده از یک فکتوری (factory) کلاینت HTTP و دیگری با استفاده از Kiota برای ایجاد خودکار کد برای کلاینت، کتابخانههای کلاینت را برای دسترسی به سرویسها اضافه میکند.
فصل ۵، کانتینرسازی میکروسرویسها: به تمام مفاهیم مهم Docker و نحوه ایجاد تصاویر Docker از سرویسهای ایجاد شده تا به حال میپردازد. شما قبل از استفاده از .NET CLI برای ایجاد تصاویر Docker، مفاهیم Docker را یاد خواهید گرفت.
یک نسخه AOT (ahead-of-time compilation) بومی .NET از یک سرویس ایجاد میشود که به شما امکان میدهد بدون نیاز به یک زمان اجرای .NET، فقط با کد بومی، تصاویر Docker ایجاد کنید.
فصل ۶، Microsoft Azure برای میزبانی برنامههای کاربردی: با توجه به اینکه تصاویر Docker در فصل قبل کتاب Pragmatic Microservices with C# and Azure ایجاد شدهاند، اکنون نحوه انتشار برنامه در یک محیط Azure Container Apps را پوشش میدهد. قبل از آن، مفاهیم مهم Azure پوشش داده میشود. سپس، منابع Azure با کمک Azure Developer CLI و .NET Aspire ایجاد میشوند.
فصل ۷، پیکربندیهای انعطافپذیر: به پیکربندی .NET میپردازد. شما ارائهدهندگان پیکربندی با .NET را درک خواهید کرد، نحوه اعمال پیکربندی به مدل برنامه .NET Aspire را یاد خواهید گرفت، پیکربندیها و اسرار را با Azure Container Apps اضافه کنید و Azure App Configuration و Azure Key Vault را ادغام کنید. برای دسترسی آسانتر بدون نیاز به ذخیره اسرار، شناسههای مدیریتشده Azure نیز در اینجا پوشش داده میشوند.
فصل ۸، CI/CD – انتشار با اکشنهای گیتهاب: بر این واقعیت بنا شده است که ادغام و تحویل مداوم (CI/CD) جنبههای مهمی از یک راهحل میکروسرویس هستند. این فصل نحوه ساخت و تست خودکار برنامههای کاربردی با اکشنهای گیتهاب و چگونگی بهروزرسانی خودکار راهحلهای در حال اجرا در Microsoft Azure را پوشش میدهد. برای پشتیبانی از الگوهای استقرار مدرن، پرچمهای ویژگی (Feature Flags) در دسترس با Azure App Configuration در این فصل کتاب Pragmatic Microservices with C# and Azure، ادغام شدهاند.
فصل ۹، احراز هویت و مجوز با سرویس و کلاینتها: دو نسخه برای احراز هویت و مجوز برنامههای کاربردی و کاربران را پوشش میدهد: ادغام Azure Active Directory B2C برای نسخه ابری راهحل Codebreaker و شناسههای ASP.NET Core برای راهحل درونسازمانی. برای جلوگیری از برخورد با احراز هویت در هر سرویس، یک دروازه با استفاده از YARP ایجاد میشود.
فصل ۱۰، همه چیز در مورد تست راهحل: بیان میکند که هیچ تغییری نباید موجب خرابی برنامه شود و خطاها باید در اسرع وقت شناسایی شوند. در این فصل کتاب Pragmatic Microservices with C# and Azure، شما در مورد ایجاد تستهای واحد، تستهای ادغام با .NET Aspire (که تست را بسیار سادهتر میکند) و استفاده از Playwright برای تستهای سر تا سر (End-to-End) یاد خواهید گرفت.
فصل ۱۱، لاگگیری و مانیتورینگ: به بررسی آنچه در برنامه Codebreaker میگذرد، میپردازد. نشت حافظه باید در مراحل اولیه تشخیص داده شود. در طول توسعه، باید به جزئیات نحوه ارتباط برنامه نگاه کنیم.
این فصل از کتاب Pragmatic Microservices with C# and Azure، لاگگیری کارآمد با عملکرد بالا، نوشتن دادههای اندازهگیری سفارشی و ردیابی توزیعشده – شامل پوشش OpenTelemetry و نحوه ادغام آن با .NET Aspire را پوشش میدهد. در این فصل از کتاب Pragmatic Microservices with C# and Azure، ما از Prometheus و Grafana برای راهحل درونسازمانی و Azure Application Insights و Azure Log Analytics با راهحل ابری استفاده میکنیم.
فصل ۱۲، مقیاسبندی سرویسها: به مقیاسبندی سرویسها میپردازد که یکی از دلایل مهم استفاده از معماری میکروسرویسها است. با استفاده از تست بارگذاری Azure، بار عظیمی را بر روی سرویس اصلی برنامه ایجاد میکنیم و گلوگاههای آن را پیدا میکنیم، بین مقیاسبندی عمودی (Scaling Up) و مقیاسبندی افقی (Scaling Out) تصمیم میگیریم و برای افزایش عملکرد با استفاده از Redis، کش (Caching) اضافه میکنیم.
فصل ۱۳، پیامرسانی بلادرنگ با SignalR: به اطلاعرسانی به مشتریان در زمان واقعی با استفاده از SignalR میپردازد. با استفاده از یک API REST، یک هاب SignalR فراخوانی میشود و اطلاعات زمان واقعی در مورد بازیهای کامل را منتقل میکند و هاب SignalR این اطلاعات را به گروهی از مشتریان منتقل میکند. سرویس Azure SignalR برای کاهش بار از سرویسها استفاده میشود.
فصل ۱۴، gRPC برای ارتباط باینری: با تغییر ارتباط به gRPC با ارتباط سرویس به سرویس، عملکرد را افزایش میدهد. شما یاد خواهید گرفت که چگونه یک تعریف پروتکل بافر ایجاد کنید، سرویسها و کلاینتها را با استفاده از این ارتباط مستقل از پلتفرم باینری پیادهسازی کنید و چگونه کشف سرویس .NET و .NET Aspire را میتوان با gRPC استفاده کرد.
بیشتر بخوانید: کتاب Modern API Design with gRPC
فصل ۱۵، ارتباط ناهمزمان با پیامها و رویدادها: با این واقعیت برخورد میکند که اغلب پاسخها بلافاصله پس از ارسال درخواست مورد نیاز نیستند – صفهای پیام و رویدادها وارد عمل میشوند. در اینجا، صفهای پیام Azure، Azure Event Hubs و Kafka برای یک محیط درونسازمانی برای استفاده وارد عمل میشوند.
فصل ۱۶، اجرای برنامههای کاربردی در محل و در ابر: در مورد آنچه در یک محیط تولید هنگام اجرا در Azure مورد نیاز است، تفاوتهای بین محیطهای تولید و توسعه و نحوه برآورده کردن الزامات مربوط به مقیاسپذیری، قابلیت اطمینان و امنیت توسط برنامه Codebreaker بحث میکند.
تا این فصل، برنامه روی سیستم توسعه محلی یا در محیط Azure Container Apps اجرا میشد. در این فصل کتاب Pragmatic Microservices with C# and Azure، برنامه در Azure Kubernetes Service مستقر میشود و میتواند به روشی مشابه در یک خوشه Kubernetes درونسازمانی با استفاده از ابزار Aspir8 مستقر شود.
سرفصلهای کتاب Pragmatic Microservices with C# and Azure:
- Cover
- Title Page
- Copyright and Credits
- Dedication
- Contributors
- Table of Contents
- Preface
- Part 1: Creating Microservices with .NET
- Chapter 1: Introduction to .NET Aspire and Microservices
- Chapter 2: Minimal APIs – Creating REST Services
- Chapter 3: Writing Data to Relational and NoSQL Databases
- Chapter 4: Creating Libraries for Client Applications
- Part 2: Hosting and Deploying
- Chapter 5: Containerization of Microservices
- Chapter 6: Microsoft Azure for Hosting Applications
- Chapter 7: Flexible Configurations
- Chapter 8: CI/CD – Publishing with GitHub Actions
- Chapter 9: Authentication and Authorization with Services and Clients
- Part 3: Troubleshooting and Scaling
- Chapter 10: All About Testing the Solution
- Chapter 11: Logging and Monitoring
- Chapter 12: Scaling Services
- Part 4: More communication options
- Chapter 13: Real-Time Messaging with SignalR
- Chapter 14: gRPC for Binary Communication
- Chapter 15: Asynchronous Communication with Messages and Events
- Chapter 16: Running Applications On-Premises and in the Cloud
- Index
- About Packt
- Other Books You May Enjoy
جهت دانلود کتاب Pragmatic Microservices with C# and Azure میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.