مزایای استفاده کردن از NET Core. و داکر در کنار یکدیگر


چه زمانی از Net Core. در کنار Docker Container ها استفاده کنیم

خاصیت Modularity و Lightweight بودن Net Core. باعث می شود که یک گزینه بسیار مناسب برای استفاده شدن در کنار Container ها به حساب بیاید. زمانی که شما اقدام به Deploy کردن و Start زدن یک Container می‌کنید در واقع Image مربوط به آن Container در زمان استفاده کردن از Net Core. نسبت به Net Framework. بسیار کوچک تر خواهد بود. در مقایسه اگر از Net Framework. برای یک Container استفاده کنید می بایست Image مورد استفاده را بر اساس Windows Server Core image تنظیم کنید که این موضوع باعث می‌شود حجم Container ایجاد شده بسیار بیشتر بگردد. دلیل این موضوع نیز این است که Windows server core image، سنگین‌تر از Image های Windows Nano Server یا Linux است که در Net Core. استفاده می شود. در استفاده کردن از Net Core. از Windows Nano Server Image و یا Linux Image استفاده می شود.

علاوه بر این موضوع از آنجایی که Net Core. به صورت Cross-platform عمل می کند شما می توانید به سادگی اپلیکیشن های خود را با Container Image های مربوط به ویندوز و یا لینوکس Deploy کنید. البته اگر از Net Framework. استفاده می کنید، فقط می توانید Image ها را بر اساس Windows Server Core مورد Deploy کردن قرار بدهید. در ادامه در رابطه با سناریوهایی صحبت می‌کنیم که در آنها استفاده کردن از Net Core. به مراتب مناسب‌تر خواهد بود.

توسعه و Deploy به صورت Cross-platform

واضح است که اگر هدف شما این است که یک اپلیکیشن و یا سرویس، بر روی چندین platform مختلف از قبیل لینوکس و ویندوز با استفاده از داکر مورد استفاده قرار بگیرد، انتخاب صحیح، Net Core. خواهد بود چرا که Net Framework. فقط از ویندوز پشتیبانی می کند.

علاوه بر این موضوع Net Core. از macOS نیز به عنوان یک platform توسعه نرم‌افزار پشتیبانی می نماید. اما زمانی که Container ها را بر روی یک Docker Host اصطلاحاً Deploy می‌کنید آن Host می بایست بر اساس لینوکس و یا ویندوز ایجاد شده باشند. برای مثال در environment development شما می توانید از یک ماشین مجازی لینوکس که در حال اجرا شدن بر روی سیستم عامل Mac می باشد استفاده نمایید.

علاوه بر این موضوع، Visual Studio for Mac یک محیط توسعه نرم‌افزار و تکاملی از نرم‌افزار Xamarin Studio می باشد که بر روی سیستم عامل MacOS اجرا می‌شود و از توسعه اپلیکیشن های مبتنی بر داکر پشتیبانی می کند. این گزینه برای برنامه نویسانی که در سیستم های Mac به توسعه نرم‌افزار مشغول هستند مناسب تر است. چرا که می‌توانند از یک محیط توسعه نرم افزار قدرتمند به نام Visual Studio for Mac استفاده کند.

به علاوه شما می توانید از نرم افزار Visual Studio Code بر روی macOS و لینوکس و ویندوز نیز استفاده کنید. نرم افزار Visual Studio Code به طور کامل از Net Core. پشتیبانی می کند و قابلیت هایی از قبیل IntelliSense و مکانیزم اشکال زدایی و یا همان Debugging را در اختیار ما قرار می‌دهد. در رابطه با Debug کردن برنامه می توانید از آموزش دیباگ کردن Debugging در سی شارپ استفاده کنید. از آنجایی که Visual Studio Code یک نرم افزار بسیار سبک وزن است می توانید از آن برای توسعه اپلیکیشن‌های Containerized شده برروی سیستم عامل Mac و در کنار Docker CLI استفاده کنید.

علاوه بر این می توان از Net Core. و دیگر ویرایشگرها از قبیل Sublime و Emacs استفاده کرد. اما با این وجود گزینه مناسب تر استفاده کردن از Visual Studio Code می باشد.

استفاده کردن از Container ها برای پروژه های جدید و یا اصطلاحا green-field

یکی از موضوعات بسیار مهم، استفاده کردن از Container ها در توسعه نرم افزارهای جدید و یا green-field با استفاده از معماری مایکروسرویس ها می باشند. البته از Container ها می توان برای Containerized اپلیکیشن های وب و یا سرویس ها نیز استفاده کرد. این نوع از اپلیکیشن ها و سرویس ها می توانند از معماری‌های مختلف نیز استفاده کنند. اما استفاده کردن از داکر و Container ها در معماری مایکروسرویس ها بسیار مرسوم تر است. در این راستا شما می توانید از Net Framework. بر روی Windows Container ها استفاده کنید. اما خاصیت Modular بودن و سبک وزن بودن Net Core. آن را به عنوان یک انتخاب بسیار مناسب در زمان پیاده سازی معماری مایکروسرویس ها تبدیل کرده است.


منبع: وبسایت آموزش برنامه نویسی و توسعه نرم افزار پرووید