لقد قطعت إدارة الحاويات شوطًا طويلاً. لعقود من الزمن، ظلت إدارة البيئات المجهزة بالحاويات أمرًا بسيطًا نسبيًا. وقد ظهرت الفكرة الحديثة لحاوية الكمبيوتر في الأصل في سبعينيات القرن العشرين، مع استخدام المفهوم لأول مرة للمساعدة على تحديد رمز التطبيق على أنظمة Unix.
انتقلت تقنية النقل بالحاويات الحديثة بشكل مطرد من تلك البدايات المبكرة، وعندما تدير الشركات الحاويات الآن، فإنها تحصل على فائدة أكبر بكثير لاستثماراتها. ومن الشركات الناشئة الصغيرة إلى الشركات الكبيرة الراسخة، أثبتت أطر الحاويات قدرتها الفائقة على إنشاء سير عمل مستقر مع أوقات تشغيل محسّنة وتسليم مستمر.
والحاويات وحدات برمجية قابلة للتنفيذ حيث يتم تغليف رمز التطبيق مع مكتباتها واعتمادياتها. ويتم تغليفها بطرق موحدة بحيث يمكن تشغيل الكود في أي مكان، بما في ذلك سطح المكتب، أو منصة تقنية المعلومات التقليدية، أو السحابة.
يتم ذلك من خلال شكل من أشكال المحاكاة الافتراضية لنظام التشغيل (OS) حيث يمكن الاستفادة من ميزات نواة نظام التشغيل (مثل مساحات أسماء Linux ومجموعات c، وصوامع Windows وكائنات المهام) لعزل العمليات والتحكم في مقدار وحدة المعالجة المركزية والذاكرة والقرص التي يمكن لهذه العمليات الوصول إليها.
تغيرت تقنية الحاويات جذريًا في عام 2013 مع ظهور برنامج Docker وأخذت في الانتشار بلا هوادة خلال هذا العقد، حتى زادت شعبيتها ومدى تقبل المستخدمين لها بشكل مطرد. ومن الواضح أنه كان هناك حاجة ملحة في السوق لبرامج الحاويات هذه ولكنها لم تتحقق، حسبما يتضح من سرعة نجاح برنامج Docker وتفوقه الساحق الآن في السوق.
كشف استطلاع أجرته شركة IBM في عام 2021 أن 61% من المستجيبين أشاروا إلى أنهم استخدموا الحاويات في 50% على الأقل من التطبيقات الجديدة التي قاموا بإنشائها خلال العامين الماضيين. وذكرت مجموعة أكبر من المستجيبين (64%) أنهم يتوقعون استخدام الحاويات لما لا يقل عن 50% من التطبيقات التي سيبنونها على مدار العامين القادمين.
تتمحور الحاويات حول توزيع وحماية البيانات وتشغيل التطبيقات. لذلك، فمن المنطقي تمامًا أن تكون صناعات تكنولوجيا المعلومات هي المستخدم الرئيسي لبرمجيات الحاويات، مع احتلال الصناعات التالية المرتبة الثالثة بين المستفيدين الرئيسيين (يوجد الرابط خارج موقع ibm.com):
يهيمن كيانان في الوقت الحالي على سوق التطبيقات المعبأة في حاويات:
منصة النقل بالحاويات الأكثر استخدامًا هي Docker. تم بناء حاويات Docker في الأصل حول محرك Docker في عام 2013 وتم تشغيلها وفقًا لواجهة برمجة التطبيقات (API). Docker هي في الواقع منصة كخدمة (PaaS) وميزتها الرئيسية هي مرونتها. يمكن لـ Docker أخذ أي تطبيق والتبعيات المرتبطة به وتحويله إلى حاوية افتراضية، والتي يمكن تشغيلها بعد ذلك على أي كمبيوتر يعمل بنظام Windows أو macOS أو Linux. يستخدم النظام صور Docker، وهي قوالب للقراءة فقط تُستخدم لبناء الحاويات، وملفات Dockerfiles، وهي ملفات نصية تصاحب صور Docker وتفسرها. تتطلب صور Docker وصور الحاويات الأخرى مساحة لتشغيلها. ويُدار ذلك من خلال وقت تشغيل الحاوية — وهو حل برمجي يتفاعل مع نظام التشغيل لتوفير المساحة اللازمة لتشغيل صور الحاوية.
منصة تنسيق الحاويات الأكثر شهرةً هي منصة Kubernetes، التي أنشأتها شركة Google في عام 2014 ولا تزال تحظى بشعبية كبيرة بفضل الطريقة الفعالة التي تعمل بها على أتمتة عملية نشر البرامج وقابلية التوسع ودعم عملية إدارة الحاويات. علاوة على ذلك، فإن منصة Kubernetes هي نظام مفتوح المصدر يحث على المشاركة الشغوفة للمساهمين (الذين يشرفون على المشروع في الوقت الحالي)، حيث يضيف كل مزود برامجه الخاصة على منصة Kubernetes. على سبيل المثال، في بعض الخدمات، لا يتمكن المستخدمون من إنشاء مجموعات Kubernetes فحسب، بل يمكنهم أيضًا نشر تطبيقات الويب القابلة للتطوير وتحليل السجلات.
في الوقت الحاضر، يُعد نظاما Docker وKubernetes أكثر الأدوات استخدامًا في التعامل مع حاويات الكمبيوتر. ووفقًا لتوقعات النقل بالحاويات الأخيرة (محتوى الرابط موجود خارج موقع ibm.com) لعام 2024، فإن أنظمة Dockers أصبحت تسيطر الآن على حصة ضخمة تبلغ 82.8% من هذه السوق، بينما تستحوذ أنظمة Kubernetes على حصة سوقية تبلغ 11.52%.
لمعرفة المزيد حول مدى ارتباط كل من منصة Kubernetes ومنصة Docker، اطلع على "مقارنة بين Kubernetes وDocker: لمَ ليس الاثنان معًا؟"
لا يوجد نقص في حالات الاستخدام ذات الصلة التي تشمل الحاويات لأنها أصبحت بارزة بشكل متزايد، خاصة في بيئات الحوسبة السحابية أو النظم البنائية. حتى أن العديد من المؤسسات تفكر في استخدام الحاويات كبديل للأجهزة الافتراضية (VMs) كخيار لمنصة الحوسبة السحابية للأغراض العامة لتطبيقاتها وأحمال التشغيل لديها. ولكن ضمن هذا النطاق الواسع جدًا، هناك حالات استخدام رئيسية تكون فيها حاويات السحابة الأصلية ذات أهمية خاصة:
الحاويات أو النقل بالحاويات أو تنسيق الحاويات من العوامل المرتبطة بالحلول التالية ذات الصلة:
هناك نوعان أساسيان من الحاويات يخدم كل منهما مجموعة مختلفة من تقنيات الحاويات:
تتيح لك حاويات النظام، المعروفة أيضًا باسم "حاويات نظام التشغيل"، تنفيذ العديد من العمليات المختلفة في وقت واحد. تُعد حاويات النظام خيارًا مثاليًا لإدارة التطبيقات التقليدية والتعامل مع التطبيقات المتجانسة المصممة لأداء وظيفة واحدة، كما تم التعبير عنها في ملف منطقي قابل للتنفيذ. وقد جُهزت هذه الحاويات أيضًا لاستضافة البنية والتكوينات والأدوات اللازمة لتشغيل الأجهزة الافتراضية. وكإجراء افتراضي، تحظر حاويات النظام أنظمة الملفات متعددة الطبقات.
تقنيات الحاويات المخدومة: BSD Jails، وLinux VServer، وLXC، وOpenVZ، وSolaris Zones
حاويات التطبيق ليست متعددة المواهب مثل حاويات النظام التي يمكنها تنفيذ عمليات متعددة في وقت واحد. حتى أن حاويات التطبيق تحمل هذا الاسم لأنها تهدف إلى خدمة تطبيق واحد من خلال تنفيذ إجراء واحد فقط قابل للتنفيذ. والهدف من حاويات التطبيق هو تعبئة خدمة واحدة وتشغيلها، ولا تدعم أنظمة الملفات ذات الطبقات.
تقنيات الحاويات المخدومة: Docker، وRocket
يتطلب استخدام الحاويات بعض الجهد الإضافي والتجهيز، لكنه يؤتي ثماره. يمكن أن تسهل أدوات تنسيق الحاويات تجربة حاوية أسهل لبيئات الإنتاج الخاصة بك—بغض النظر عن موقع منتجاتك في دورات حياة كل منها.
بالاستعانة بخدمات الحاويات القائمة على تقنيات مفتوحة المصدر المقدمة من IBM مثل منصة Kubernetes، يمكنك تسهيل وتسريع رحلتك نحو البيئة السحابية بطريقة سريعة وآمنة ومنتجة.