
آموزش توسعه میکروسرویس ها در سی شارپ و Azure
آموزش توسعه میکروسرویس ها در سی شارپ و Azure یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی توسعه مایکروسرویس ها در سی شارپ و Azure است که با نام اصلی C# Microservices Development on Azure از شرکت Packtpub منتشر شده است.
معماری سرویس گرا (Service Oriented Architecture) چیست؟
سبک معماری سرویس گرا (Service Oriented): این سبک معماری به برنامههایی اطلاق می شود که عملیات (Functionality) خود را از طریق سرویس هایی در اختیار مصرف کنندگان (Consumer) قرار میدهند. مصرف کنندگان از طریق پیام ها (Message) و قرارداد هایی (Contract) از آن سرویس ها استفاده می کنند.
معماری مایکروسرویس ها چیست؟
معماری مایکروسرویس ها یک متد و یا روش خاص توسعه ی سیستم های نرم افزاری است که سعی می کند توسط Single-function Module هایی که دارای تعدادی Well-defined Interface و همچنین Operation هایی هستند ایجاد کند. این معماری در سال های اخیر که شرکت ها به سمت Agile با سرعت بیشتری پیش می روند و مسائلی از قبیل DevOps و Continuous Testing مطرح شده اند محبوب تر گشته است.

با استفاده از این معماری می توان نرم افزارهایی را تحویل داد که قابلیت مقیاس پذیری و تست پذیری بیشتری دارند. به عبارت دیگر با استفاده از این سبک معماری می توان نرم افزازرهای پیچیده را به صورت Continuous Delivery و Continuous Deployment عرض کرد.
توسعه Microservice با C# و Azure
Microservice رویکردی برای طراحی نرمافزار است که در آن سیستم به سرویسهای کوچکتر با مسئولیتهای مشخص تقسیم میشود. هر سرویس میتواند بخش معینی از قابلیتهای برنامه را ارائه دهد و از طریق روشهای ارتباطی تعریفشده با سایر بخشها تعامل کند. این ساختار به تیمها امکان میدهد اجزای مختلف سیستم را جداگانه توسعه دهند و استقرار یا تغییرات هر سرویس را با توجه به نیازهای آن مدیریت کنند؛ البته طراحی درست مرز سرویسها و ارتباط میان آنها اهمیت زیادی دارد.
در این دوره پیشرفته، توسعه Microservice با C# و استفاده از Azure بررسی میشود. مباحث دوره از آشنایی با این سبک معماری شروع میشوند و به کار با سرویسهای ابری و ابزارهای مرتبط با مدیریت سرویسها میرسند. این آموزش برای توسعهدهندگانی مناسب است که میخواهند درک عملیتری از ساختار سیستمهای مبتنی بر Microservice داشته باشند و با چالشهای مرتبط با ارتباط، مدیریت وضعیت و استقرار سرویسها آشنا شوند.
Azure Service Fabric چیست و چه کاربردی دارد؟
Azure Service Fabric بستری برای ساخت و مدیریت برنامهها و سرویسهای توزیعشده است. این فناوری قابلیتهایی برای اجرای سرویسها و مدیریت چرخه عمر آنها فراهم میکند و میتواند برای پیادهسازی سیستمهایی با چندین سرویس به کار رود. در معماری Microservice، مدیریت نحوه اجرای سرویسها و هماهنگی میان اجزای مختلف اهمیت دارد؛ به همین دلیل آشنایی با ابزارهای زیرساختی مرتبط با استقرار و اجرای سرویسها بخشی از دانش موردنیاز توسعهدهندگان این حوزه محسوب میشود.
در این آموزش، کار با Azure Service Fabric در کنار مباحث توسعه Microservice بررسی میشود. این موضوع به برنامهنویسان کمک میکند نقش یک بستر اجرایی را در ساختار سیستمهای توزیعشده بهتر درک کنند. آشنایی با Service Fabric همچنین زمینهای برای شناخت مباحثی مانند مدیریت State، ارتباط میان سرویسها و استقرار فراهم میکند. این مفاهیم در کنار یکدیگر به درک بهتر نیازهای عملیاتی برنامههای مبتنی بر Microservice کمک میکنند.
مدیریت State و ارتباط میان Microserviceها
در یک سیستم مبتنی بر Microservice، سرویسها برای ارائه قابلیتهای کامل برنامه باید بتوانند با یکدیگر ارتباط برقرار کنند. این ارتباط میتواند شامل ارسال درخواست، تبادل پیام یا دریافت اطلاعات موردنیاز برای اجرای یک عملیات باشد. طراحی این تعاملها اهمیت زیادی دارد، زیرا هر سرویس مسئولیت مشخصی دارد و نباید بدون برنامهریزی به جزئیات داخلی سرویسهای دیگر وابسته شود. قراردادهای روشن و روشهای ارتباطی مناسب به حفظ استقلال سرویسها کمک میکنند.
مدیریت State نیز به نحوه نگهداری و دسترسی به وضعیت موردنیاز سرویسها مربوط میشود. تصمیمگیری درباره محل نگهداری وضعیت و شیوه استفاده از آن میتواند بر طراحی و رفتار سیستم توزیعشده اثر بگذارد. در این دوره، مدیریت State و ارتباط Microserviceها در کنار کار با Azure Service Fabric مطرح میشوند. این مباحث برای توسعهدهندگانی مفید هستند که میخواهند چالشهای طراحی سرویسهای مستقل و هماهنگی میان آنها را بهتر بشناسند.
Deployment و Monitoring در معماری Microservice
پس از توسعه سرویسها، استقرار آنها در محیط اجرایی و بررسی وضعیت عملکردشان از مراحل مهم چرخه عمر نرمافزار است. در معماری Microservice، هر سرویس ممکن است بهصورت مستقل توسعه یا بهروزرسانی شود؛ بنابراین لازم است فرایند Deployment با ساختار سیستم هماهنگ باشد. همچنین Monitoring به بررسی وضعیت سرویسها و شناسایی مشکلات احتمالی کمک میکند و میتواند اطلاعات مفیدی درباره رفتار سیستم در محیط اجرا در اختیار تیم توسعه و عملیات قرار دهد.
این دوره مباحث Deployment و Monitoring را در کنار توسعه Microservice با C# و Azure پوشش میدهد. آشنایی با این موضوعات به برنامهنویسان کمک میکند تصویر کاملتری از مسیر یک سرویس، از مرحله توسعه تا اجرای عملیاتی، داشته باشند. برای کار با سیستمهای توزیعشده، تنها نوشتن منطق سرویس کافی نیست؛ شناخت شیوه استقرار، بررسی وضعیت اجرا و مدیریت اجزای سیستم نیز در نگهداری و توسعه آن نقش مهمی دارد.
سرفصل مطالب آموزش ویدئویی توسعه مایکروسرویس ها در سی شارپ و Azure
فصل اول: شروع به کار با Microservice ها- مقدمه
- بررسی معماری Monolithic و Microservice ها
- معماری Microservice ها
- شکستن برنامه ی Monolithic به Microservice های مستقل
- بررسی Microservice های Statless و Stateful
- بررسی عملی برنامه ی Monolithic
- ساختن Account بر روی Azure
- بررسی داشبورد Azure
- بررسی و ساخت Resource Group
- ساخت دیتابیس ها
- پیاده سازی امنیت در دیتابیس ها
- متصل شدن به دیتابیس ها
- مقدمه ای بر Azure Service Fabric
- نصب SDK
- ساخت یک پروژه ی جدید
- بررسی Programming Model های Azure Service Fabric
- شروع به کار با Reliable Services
- توسعه ی API ها با Azure Service Fabric
- بررسی State در دیتابیس های SQL
- بررسی Local DB در Service Fabric
- ساخت یک Azure Service Fabric Resource جدید
- پیکربندی Manifest ها
- بررسی Mail Service و Communication بین آنها
- آماده سازی برای Deployment
- Deploy کردن به Azure
- بررسی و پیاده سازی API Gateway
- جمع بندی







