کانتینر یا Container چیست ؟ – ابهامزدایی
کانتینر (Container)
کانتینر (container)، محفظهای است که یک شی را درون خود جای میدهد و بنابراین میتواند از جایی به جای دیگر منتقل یا ذخیره شود. در این مطلب کوتاه، چگونگی کاربرد اصطلاح کانتینر در مدیریت پایگاه داده، توسعه نرم افزار و مدیریت دستگاه های هوشمند قابل حمل، ذخیره سازی و مجازی سازی شرح داده میشود. شاید بیاندیشید ماشینهای مجازی هم همین عملکرد را دارند، در تصویر زیر میتوان تفاوت میان ماشین مجازی (VM) و کانتینر را مشاهده نمود.
اما پیش از آن نگاهی به کاربردهای متفاوت “Container” در دنیای فناوری اطلاعات بیاندازیم:
کانتینر (مرکز داده) – یک مرکز داده ماژولار پیش ساخته که درون یک کانتینر (حمل و نقل) استاندارد ۲۰ فوتی جاسازی شده است.
کانتینر (جاوا) – رابطی میان یک جزء و قابلیتی سطح پایین و خاص از پلت فرم.
کانتینر (مدیریت دستگاه تلفن همراه) – بخشی رمزنگاری شده در یک تلفن همراه که اطلاعات شخصی را از غیر شخصی تفکیک می کند.
کانتینر (ذخیره ساز) – یک مکان تعریف شده و مشخص در ذخیره ساز با ظرفیت بالا
کانتینر (مجازی سازی) – رویکردی ماژولار و انباشتپذیر برای توسعه نرم افزارهایی که در فضای ابری اجرا میشوند. که این کاربرد، موضوع نوشته حاضر است.
پیشینه تاریخی جالب : ایده تقسیم یک کامیون به دو بخش ( تراکتور و تریلر و تریلر به دوبخش کفی که روی چرخ ها قرار دارد و باکسی بزرگ و مستقل که روی کفی قرار می گیرد) و ساختن کانتینرهای باری مستقل، در سال ۱۹۵۰ توسط Malcom P. McLean مطرح شد. مک لین که خود کارش را با رانندگی کامیون شروع کرد و بتدریج کسب و کارش را به ناوگانی از کامیون های حمل و نقل ارتقاء داد همواره توقف و معطلی طولانی برای بار زدن و خالی کردن کامیونها برایش آزار دهنده بود. لذا وی روشی ماژولار برای حمل و نقل کالا ابداع نمود و همزمان توجهش از حمل و نقل جاده ای به حمل و نقل دریایی معطوف شد و بر اساس آن آیندهای را تصور نمود که در آن برداشتن یک کانتینر یخچال دار حاوی مواد غذایی فسادپذیر، از پشت یک کامیون و قرار دادن آن بر روی یک کشتی، بدون نیاز به تخلیه و بارگیری محتویات و یا نگرانی در مورد افزایش دمای داخل کانتینر و فاسد شدن محتویات آن، ممکن شود. کار مک لین برای استانداردسازی کانتینرهای انباشته، به طور کامل صنعت حمل و نقل را متحول کرد البته با چالش های بزرگی هم روبرو شد از جمله اعتراض سندیکاهای کارگری و همچنین آماده نبودن زیرساخت های لازم در اسکله ها برای چیدمان و جابجایی کانتینرها بین اسکله و کشتی. ولی بهرحال صنعت حمل و نقل به تدریج به ارزش و منفعت این شیوه جدید پی برد و راه برای توسعه آن هموار گشت. لازم به ذکر است که ایده قرار دادن باکسهای بزرگ بر روی وسیله نقلیه پیش از آن در صنعت حمل و نقل ریلی نیز استفاده شده بود.
در اوایل قرن حاضر، اصطلاح ‘کانتینرسازی’ توسط مهندسان نرمافزار برای توصیف یک روش ماژولار برنامهنویسی به کار گرفته شد که در آن بستههای نرمافزاری در عین سبک بودن شامل همه چیزهایی هستند که برای اجرا به آن نیاز دارند، بر روی یک سیستم عامل انباشته میشوند. درست همانگونه که در قرن پیش ایده مکلین برای ماژولار و انباشتهسازی کانتینرها بر روی حمل و نقل و تجارت جهانی اثر گذاشت، در سده کنونی نیز کانتینرسازی بر روی توسعه نرمافزار تاثیرگذار است.
منابع: