Containers vs VMs

توضیح در خصوص VM

  • در ماشین مجازی یا VM تمام مراحل نصب و راه‌اندازی و استفاده از سیستم (حتی بایوس) مجازی سازی می‌شود.
  • لذا در ماشین مجازی می‌توان هر نوع سیستم‌عاملی را (فارغ از این که سیستم‌عامل میزبان یا Host چی هست) نصب کرد.
  • پس در نتیجه VM ها محیط‌هایی کاملا ایزوله هستند که کرنل ، منابع و تمام ویژگی‌های یک سیستم واقعی را دارند. (حتی بایوس ، گراب و … )

توضیح در خصوص Container

  • اما در Container این طور نیست !
  • درسته که Container هم نوعی محیط ایزوله است اما کرنل یک Container با کرنل Host یا میزبان ، مشترک است.
  • لذا در این شرایط نمی‌توان در یک میزبان یا Host لینوکسی ، یک Container با سیستم‌عامل ویندوز داشت.
  • اما می‌توان کلی Container با سیستم‌عامل اوبونتو ، Centos و … داشت. چرا ؟ چون کرنل بین میزبان و Container مشترک است لذا با یک کرنل می‌توان مجموعه‌ای از ابزارها رو داشت که تشکیل Ubuntu رو میدن یا مجموعه‌ای از ابزارها رو داشت که تشکیل Centos رو میدن.
  • همچنین در یک Container دیگر مواردی مثل بایوس و … وجود ندارد.
  • در واقع Container و پروسه‌های درون آن به مستقیم با کرنل Host یا میزبان مرتبط هستند.

کدام بهتر است ؟

  • مقایسه‌ی این دو برای مطرح کردن سوال اینکه کدام بهتر است ، کاملا اشتباه است.
  • این دو مفهوم ، دو دست‌آورد کاملا جدا از هم هستند که هر کدام دارای ویژگی‌های منحصر به فردی هستند.
  • لذا متناسب با مسئله یا مشکلی که در پیش رو داریم. باید از یکی به عنوان راه حل استفاده کنیم.
  • در واقع باید ببینیم که کدام یک نیاز ما را برآوردن می‌کند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *