ما هو النقل بالحاويات؟

تاريخ النشر 20 مايو 2024
مساحة عمل ثلاثية الأبعاد تضم شاشتين تعرضان لوحات معلومات تحليلية، ولوحة مفاتيح، وخوادم مكدسة، وتروسًا باللونين الأزرق المخضر والأبيض.
By Stephanie Susnjara and Ian Smalley

تعريف النقل بالحاويات

النقل بالحاويات هي عبارة عن حزمة من أكواد البرمجيات مع مكتبات نظام التشغيل (OS) والتبعيات المطلوبة لتشغيل الكود لإنشاء رمز تنفيذي واحد خفيف الوزن—يسمى حاوية—والذي يعمل باستمرار على أي بنية تحتية.

يز الحاويات بسهولة نقلها وكفاءتها في استهلاك الموارد مقارنةً بالأجهزة الافتراضية (VMs)، وأصبحت وحدات الحوسبة الفعلية للتطبيقات السحابية الأصليةالحديثة.

يسمح النقل بالحاويات للمطورين بإنشاء التطبيقات ونشرها بشكل أسرع وأكثر أمانًا. باستخدام الطرق التقليدية، يكتب المطورون التعليمات البرمجية في بيئة حوسبة محددة، والتي عند نقلها إلى موقع جديد، غالبًا ما ينتج عنها أخطاء. على سبيل المثال، يمكن أن يحدث هذا عندما ينقل المطور التعليمات البرمجية من جهاز كمبيوتر سطح مكتب إلى جهاز افتراضي (VM) أو من نظام تشغيل Linux® إلى نظام تشغيل Windows. يعمل النقل بالحاويات على التخلص من هذه المشكلة من خلال تجميع التعليمات البرمجية للتطبيق مع ملفات التكوين والمكتبات والتبعيات ذات الصلة المطلوبة لتشغيله. هذه الحزمة البرمجية المفردة أو "الحاوية" معزولة عن نظام التشغيل المضيف. وبالتالي، فهي مستقلة وتصبح قابلة للنقل—قادرة على التشغيل عبر أي منصة أو سحابة، دون أي مشكلات.

يعود مفهوم النقل بالحاويات وعزل العمليات إلى عقود من الزمن. ومع ذلك، أدى ظهور Docker مفتوح المصدر في عام 2013—وهو معيار صناعي للحاوية بأدوات مطور بسيطة ونهج تعبئة عالمي، إلى تسريع اعتماد هذه التقنية. اليوم، تستخدم المؤسسات بشكل متزايد النقل بالحاويات لإنشاء تطبيقات جديدة وتحديث التطبيقات الحالية للسحابة.

وفقًا لتقرير صادر عن Forrester1، أفاد 74% من صناع قرارات البنية التحتية في الولايات المتحدة بأن مؤسساتهم تعتمد الحاويات ضمن بيئة المنصة كخدمة (PaaS) في بيئة سحابية عامة أو محلية.

الحاويات "خفيفة الوزن"، مما يعني أنها تشارك في نواة نظام تشغيل الجهاز ولا تتطلب عبء ربط نظام تشغيل داخل كل تطبيق. الحاويات أصغر بطبيعتها في السعة من الأجهزة الافتراضية وتتطلب وقت بدء تشغيل أقل. تسمح هذه القدرة بتشغيل المزيد من الحاويات بنفس سعة الحوسبة التي يوفرها جهاز افتراضي واحد. تؤدي هذه القدرة إلى زيادة كفاءة الخادم، وبالتالي تقليل تكاليف الخادم والتراخيص.

والأهم من ذلك، يتيح استخدام الحاويات إمكانية "كتابة التطبيقات مرة واحدة وتشغيلها في أي مكان" عبر مركز البيانات المحلي والبيئات السحابية الهجينة والسحابية المتعددة.

تعمل قابلية النقل هذه على تسريع عملية التطوير، وتمنع الاحتكار لمنتج معين وتوفر فوائد أخرى ملحوظة مثل عزل الأخطاء وسهولة الإدارة والأمان المبسّط وغير ذلك.

يقدم الفيديو التالي مزيدًا من الشرح عن النقل بالحاويات:

بنية النقل بالحاويات

تتكون بنية النقل بالحاويات من أربع طبقات أساسية من العناصر.

البنية التحتية الأساسية لتكنولوجيا المعلومات

البنية التحتية الأساسية لتكنولوجيا المعلومات هي طبقة أساسية تتضمن الموارد المادية (على سبيل المثال، الكمبيوتر المكتبي، خادم يعمل بدون نظام تشغيل).

نظام التشغيل المضيف

يتم تشغيل هذه الطبقة على الجهاز المادي أو الجهاز الافتراضي. يدير نظام التشغيل موارد النظام ويوفر وقت تشغيل لمحركات الحاويات. 

صورة حاوية

يُشار إليها أيضًا باسم محرك وقت التشغيل، ويوفر محرك الحاوية بيئة تنفيذ لصور الحاوية (قوالب للقراءة فقط تحتوي على تعليمات لإنشاء حاوية). تعمل محركات الحاويات أعلى نظام التشغيل المضيف وتقوم بمحاكاة الموارد للتطبيقات المعبأة في حاويات.

التطبيقات المعبأة في حاويات

تتكون هذه الطبقة الأخيرة من التطبيقات البرمجية التي يتم تشغيلها في حاويات.

كيف يعمل النقل بالحاويات؟

تقوم الحاويات بتغليف التطبيق كحزمة واحدة قابلة للتنفيذ من البرامج التي تجمع التعليمات البرمجية للتطبيق مع جميع ملفات التكوين والمكتبات والتبعيات ذات الصلة المطلوبة لتشغيله.

تكون التطبيقات المعبأة في حاويات "معزولة"، مما يعني أنها لا يتم تجميعها في نسخة من نظام التشغيل. بدلاً من ذلك، يتم تثبيت وقت تشغيل حاوية المصدر المفتوح أو محرك الحاوية (مثل محرك وقت تشغيل Docker) على نظام تشغيل المضيف ويصبح قناة للحاويات لمشاركة نظام تشغيل مع حاويات أخرى على نفس نظام الحوسبة.

يمكن مشاركة طبقات الحاوية الأخرى، مثل الثنائيات المشتركة (الحاويات) والمكتبات، بين حاويات متعددة. تعمل هذه الميزة على التخلص من النفقات الزائدة لتشغيل نظام تشغيل داخل كل تطبيق وتجعل الحاويات أصغر في السعة وأسرع في بدء التشغيل من الأجهزة الافتراضية، مما يؤدي إلى زيادة كفاءة الخادم. كما أن عزل التطبيقات كحاويات يقلل أيضًا من فرصة تأثير التعليمات البرمجية الضارة في إحدى الحاويات على الحاويات الأخرى أو غزو النظام المضيف.

كما أن التجريد من نظام التشغيل المضيف يجعل التطبيقات المعبأة في حاويات قابلة للنقل وقادرة على العمل بشكل موحد ومتسق عبر أي منصة أو سحابة. يمكن نقل الحاويات بسهولة من كمبيوتر مكتبي إلى جهاز افتراضي أو من نظام تشغيل Linux إلى نظام تشغيل Windows. ستعمل الحاويات أيضًا بشكل متسق على البنى التحتية الافتراضية أو خوادم تعمل بدون نظام تشغيل، سواء في أماكن العمل أو في مركز بيانات السحابة.

يتيح النقل بالحاويات لمطوري البرامج إنشاء التطبيقات ونشرها بشكل أسرع وأكثر أمانًا، سواء كان التطبيق تقليدي متجانس (تطبيق برمجي أحادي الطبقة) أو تطبيق معياري مبني على بنية الخدمات المصغرة . يمكن للمطورين بناء تطبيقات سحابية جديدة من الصفر كخدمات مصغرة معبأه في حاويات، حيث يتم تقسيم تطبيق معقد إلى سلسلة من الخدمات الأصغر والأكثر تخصصًا وقابلية للإدارة. ويمكنهم أيضًا إعادة تجميع التطبيقات الحالية في حاويات (أو خدمات مصغرة معبأه في حاويات) تستخدم موارد الحوسبة بكفاءة أكبر.

IBM DevOps

ما المقصود بعمليات التطوير؟

تشرح Andrea Crawford مفهوم عمليات التطوير، وقيمتها، وكيفية مساهمة الممارسات والأدوات الخاصة بها في المساعدة على نقل التطبيقات عبر مسار تسليم البرمجيات بأكمله؛ بدءًا من الفكرة ووصولًا إلى الإنتاج. يتولى أبرز قادة الفكر في IBM هذا المنهج، ويهدف إلى مساعدة قادة الأعمال على اكتساب المعرفة اللازمة لتحديد أولويات الاستثمارات في الذكاء الاصطناعي التي يمكنها تعزيز النمو.

المحاكاة الافتراضية مقابل النقل بالحاويات

غالباً ما تتم مقارنة الحاويات بالأجهزة الافتراضية لأن كلتا التقنيتين تتيح كفاءات حوسبة كبيرة من خلال السماح بتشغيل أنواع متعددة من البرامج (المستندة إلى Linux أو Windows) في بيئة واحدة. 

تستخدم المحاكاة الافتراضية أداة مراقب الأجهزة الافتراضية، وهي طبقة برامج موضوعة على كمبيوتر أو خادم فعلي تسمح للكمبيوتر الفعلي بفصل نظام التشغيل والتطبيقات عن أجهزته.تتيح تقنية المحاكاة الافتراضية تشغيل أنظمة تشغيل وتطبيقات برمجية متعددة في وقت واحد ومشاركة موارد جهاز كمبيوتر فعلي واحد أو جهاز مضيف (على سبيل المثال، وحدة المعالجة المركزية، والتخزين، والذاكرة). على سبيل المثال، يمكن لمجموعة تكنولوجيا المعلومات تشغيل كل من Windows و Linux أو إصدارات متعددة من نظام التشغيل، إلى جانب تطبيقات مختلفة على نفس الخادم.

يتم تجميع كل تطبيق ونظام الملفات والمكتبات والتبعيات الأخرى المرتبطة به—بما في ذلك نسخة من نظام التشغيل (OS)—معًا كجهاز افتراضي. من خلال تشغيل العديد من الأجهزة الافتراضية على جهاز مادي واحد، يمكن تحقيق وفورات كبيرة في تكاليف رأس المال والتشغيل والطاقة.

من ناحية أخرى، يستخدم النقل بالحاويات موارد الحوسبة بشكل أكثر كفاءة. تنشئ حاوية حزمة واحدة قابلة للتنفيذ من البرامج التي تجمع التعليمات البرمجية للتطبيق مع جميع تبعياته المطلوبة لتشغيله. على عكس الأجهزة الافتراضية، فإن الحاويات لا يتم تجميعها في نسخة من نظام التشغيل. وبدلاً من ذلك، يتم تثبيت محرك وقت تشغيل الحاوية على نظام تشغيل النظام المضيف، أو "host OS"، ليصبح القناة التي تتشارك من خلالها جميع الحاويات على نظام الحوسبة نفس نظام التشغيل.

الحاويات غالبًا ما تسمى "خفيفة الوزن"—فهي تشترك في نواة نظام التشغيل للجهاز ولا تتطلب تكلفة إضافية لربط نظام تشغيل داخل كل تطبيق (كما هو الحال في الجهاز الافتراضي). يمكن أيضًا مشاركة طبقات الحاويات الأخرى (الحاويات المشتركة والمكتبات) بين حاويات متعددة، مما يجعل الحاويات بطبيعتها أصغر في السعة من الأجهزة الافتراضية وأسرع في بدء التشغيل. يمكن تشغيل حاويات متعددة على نفس سعة الحوسبة مثل جهاز افتراضي واحد، مما يؤدي إلى زيادة كفاءة الخادم وتقليل تكاليف الخادم والتراخيص.

يقدم الفيديو التالي نظرة أعمق على الحاويات مقابل الأجهزة الافتراضية:

فوائد النقل بالحاويات

يوفر النقل بالحاويات فوائد كبيرة للمطورين وفرق التطوير، خاصةً في المجالات التالية.

قابلية النقل

الحاوية تنشئ حزمة برمجية قابلة للتنفيذ معزولة عن نظام التشغيل المضيف (غير مرتبطة به أو معتمدة عليه). وبالتالي، فهي محمولة وقادرة على العمل بشكل موحد ومتسق عبر أي منصة أو سحابة.

رشاقة الأداء

يؤدي تطوير الحاويات ونشرها إلى زيادة المرونة والسماح للتطبيقات بالعمل في البيئات السحابية التي تلبي احتياجات العمل على أفضل وجه.

السرعة

تتميز الحاوية بأنها "خفيفة الوزن"، أي أنها تشترك في نواة نظام التشغيل (OS). لا تعمل هذه الميزة على زيادة كفاءة الخادم فحسب، بل تقلل أيضًا من تكاليف الخادم والتراخيص مع تسريع أوقات البدء، حيث لا يوجد نظام تشغيل للتشغيل.

عزل الأعطال

يتم عزل كل تطبيق في حاويات ويعمل بشكل مستقل عن الآخرين. لا يؤثر فشل إحدى الحاويات على استمرار تشغيل أي حاويات أخرى. يمكن لفرق التطوير تحديد أي مشكلات فنية وتصحيحها داخل حاوية واحدة دون التسبب في أي فترة تعطل في الحاويات الأخرى. كما يمكن لمحرّك الحاوية الاستفادة من أي تقنيات عزل أمان لنظام التشغيل—مثل التحكم في الوصول إلى SELinux—لعزل الأعطال داخل الحاويات.

الفاعلية

تشترك البرامج التي تعمل في بيئات الحاويات في نواة نظام تشغيل الجهاز، ويمكن مشاركة طبقات التطبيقات داخل الحاوية عبر الحاويات. وبالتالي، فإن الحاويات بطبيعتها أصغر في السعة من الأجهزة الافتراضية وتتطلب وقتًا أقل لبدء التشغيل، مما يسمح بتشغيل المزيد من الحاويات على نفس سعة الحوسبة التي يوفرها جهاز افتراضي واحد. تزيد هذه القدرة من تحسين الموارد وتزيد من كفاءة الخادم، مما يقلل من تكاليف الخادم والتراخيص.

سهولة الإدارة

يعمل النقل بالحاويات، خاصةً عند إقرانه بمنصة تنسيق الحاويات مثل Kubernetes، على أتمتة وتبسيط عملية توفير التطبيقات المعبأة في حاويات ونشرها وإدارتها.

الأمان

إن عزل التطبيقات كحاويات يمنع بطبيعته غزو التعليمات البرمجية الضارة من التأثير على الحاويات الأخرى أو النظام المضيف. بالإضافة إلى ذلك، يمكن تحديد أذونات الأمان لمنع العناصر غير المرغوب فيها تلقائيًا من دخول الحاويات أو الحد من الاتصالات بالموارد غير الضرورية.

منصات وأدوات النقل بالحاويات

مع تزايد نمو الحلول القائمة على الحاويات، ظهرت الحاجة إلى معايير حول تقنية الحاويات ونهج تعبئة التعليمات البرمجية. برزت مبادرة الحاويات المفتوحة (OCI)2، وهي مشروع Linux الذي أنشأته Docker وقادة آخرون في هذا المجال في يونيو 2015 كوسيلة لتعزيز معايير ومواصفات مشتركة ومُبسّطة ومفتوحة حول تقنية الحاويات. ومنذ ذلك الحين، ساعدت مبادرة الحاويات المفتوحة في توسيع خيارات محركات المصدر المفتوح حتى يتمكن المستخدمون من تجنب احتكار البائعين. كما يمكن للمطورين الاستفادة من التقنيات المعتمدة من مبادرة الحاويات المفتوحة والتي تتيح لهم إنشاء تطبيقات معبأة في حاويات باستخدام مجموعة متنوعة من عمليات التطوير وتشغيلها بشكل متسق على البنية التحتية التي يختارونها.

ولإزالة أي لبس، تشير Docker أيضًا إلى Docker, Inc.3، وهي الشركة التي تطور أدوات الإنتاجية المبنية حول تقنية حاويات Docker. كما تشير أيضًا إلى مشروع Docker مفتوح المصدر4 الذي تساهم فيه شركة Docker, Inc. والعديد من المنظمات والأفراد الآخرين.

في حين أن Docker هي أكثر تقنيات محركات الحاويات شهرةً واستخدامًا، إلا أن النظام البنائي الأوسع نطاقًا قد اعتمد على الحاويات والبدائل الأخرى مثل CoreOS rkt و Mesos Containerizer و LXC Linux Container و OpenVZ و crio-d.

تنسيق الحاويات و Kubernetes

قد تمتلك المؤسسة اليوم مئات أو آلاف الحاويات، وهو عدد يكاد يستحيل على الفرق إدارته يدويًا. وهنا يأتي دور تنسيق الحاويات.

تُجدول منصة تنسيق الحاويات عمليات الإدارة وتؤتمتها، مثل نشر الحاويات، والشبكات، وموازنة التحميل، وقابلية التوسع والتوافر.

تُعد Kubernetes أكثر أدوات تنسيق الحاويات شيوعًا، وهي تقنية مفتوحة المصدر (طرحتها Google كمشروع مفتوح المصدر استنادًا إلى مشروعها الداخلي Borg) تُؤتمت وظائف حاويات Linux. يدعم Kubernetes العديد من محركات الحاويات، مثل Docker Engine. كما يدعم أي نظام حاويات يلتزم بمعايير Open Container Initiative (OCI) الخاصة بتنسيقات صور الحاويات وبيئات التشغيل.

في حين أن Kubernetes هي المعيار الصناعي، فإن منصات تنسيق الحاويات الشهيرة الأخرى تشمل Apache Mesos و Nomad و Docker Swarm.

للتعرف على المزيد حول تنسيق الحاوية، راجع هذا الفيديو الذي يشرح كيفية عمل Kubernetes:

النقل بالحاويات والحوسبة السحابية

الخدمات المصغرة والنقل بالحاويات

يعتبر النقل بالحاويات جزءًا لا يتجزأ من تحديث التطبيقات. تشير هذه العملية إلى تحويل التطبيقات القديمة إلى تطبيقات سحابية أصلية مبنية على بنية الخدمات المصغرة المصممة للاندماج في أي بيئة سحابية.

تمثل الخدمات المصغرة (Microservices) نهجًا أكثر كفاءة لتطوير التطبيقات وإدارتها مقارنةً بالنموذج الأحادي السابق (Monolithic Model) الذي يجمع تطبيق البرمجيات وواجهة المستخدم المرتبطة به وقاعدة البيانات الأساسية في وحدة واحدة على منصة خادم واحد. باستخدام الخدمات المصغرة، يتم تقسيم التطبيق المعقد إلى سلسلة من الخدمات المصغرة والأكثر تخصصًا، لكل منها قاعدة بيانات خاصة بها ومنطق عمل خاص بها. تتواصل الخدمات المصغرة عبر واجهات مشتركة (مثل واجهات برمجة التطبيقات) وواجهات REST (مثل HTTP). ومن خلال استخدام الخدمات المصغرة، يمكن لفرق التطوير التركيز على تحديث مجالات محددة من التطبيق دون التأثير عليه ككل، وهو ما يؤدي إلى تسريع عملية التطوير والاختبار والنشر.

تتشابه المفاهيم الكامنة وراء الخدمات المصغرة والنقل بالحاويات. كلاهما عبارة عن ممارسات تطوير برمجيات تعمل بشكل أساسي على تحويل التطبيقات إلى مجموعات من الخدمات أو العناصر الأصغر حجماً والتي تكون قابلة للنقل وقابلة للتوسع وفعالة وسهلة الإدارة.

علاوة على ذلك، تعمل الخدمات المصغرة والنقل بالحاويات بشكل جيد عند استخدامهما معًا. توفر الحاويات تغليفًا خفيف الوزن لأي تطبيق، سواء كان تقليديًا متجانسًا أو خدمة مصغرة معيارية. ومن ثم تكتسب الخدمة المصغرة، التي تم تطويرها داخل حاوية، جميع المزايا المتأصلة في النقل بالحاويات، مثل قابلية النقل.

بشكل عام، اندمجت الحاويات والخدمات المصغرة والحوسبة السحابية ، مما أدى إلى رفع مستوى تطوير التطبيقات وتسليمها إلى مستوى جديد. تعمل هذه التقنيات على تبسيط سير عمل عمليات التطوير ودعم مسارات التكامل المستمر والتسليم المستمر (CI/CD) لتسريع تطوير البرامج. وقد ساهمت هذه الأساليب من الجيل التالي في إضفاء المرونة والكفاءة والموثوقية على دورة حياة تطوير البرمجيات، مما أدى إلى تسليم أسرع للتطبيقات المعبأة في حاويات وتحسينات للمستخدمين والسوق.

الترحيل السحابي والنقل بالحاويات

تواصل المؤسسات عملية الانتقال إلى التقنية السحابية، حيث يمكن للمستخدمين تطوير التطبيقات بسرعة وكفاءة. أصبح النقل بالحاويات حالة استخدام تجارية حاسمة للترحيل السحابي، وهي عملية نقل البيانات والتطبيقات وأعباء العمل من مركز بيانات محلي إلى بنية تحتية سحابية أو من بيئة سحابية إلى أخرى.

يعد الترحيل السحابي جزء أساسي من البيئة السحابية الهجينة للمؤسسة، والتي تجمع بين خدمات السحابة الخاصة والعامة والمحلية لإنشاء بنية تحتية واحدة مرنة وفعالة من حيث التكلفة لتكنولوجيا المعلومات تدعم وتؤتمت إدارة أحمال التشغيل عبر بيئات السحابة.

السحابة الهجينة والنقل بالحاويات

واليوم، يمكن الوصول إلى التطبيقات والبيانات المستندة إلى السحابة من أي جهاز متصل بالإنترنت، مما يسمح لأعضاء الفريق بالعمل عن بُعد وأثناء التنقل. يدير مزودو الخدمات السحابية (CSPs) على سبيل المثال، خدمات Amazon Web Services (AWS) أو Google Cloud Services أو IBM Cloud أو Microsoft Azure) البنية التحتية الأساسية، مما يوفر على المؤسسات تكلفة الخوادم والمعدات الأخرى ويوفر أيضًا النسخ الاحتياطي الآلي للشبكة لمزيد من الموثوقية. تتوسع البنى التحتية السحابية حسب الطلب وتعدل ديناميكيًا موارد الحوسبة والقدرة والبنية التحتية مع تغير متطلبات التحميل. بالإضافة إلى ذلك، يعمل مزودو الخدمات السحابية على تحديث عروضهم بانتظام، مما يتيح للمستخدمين استمرار الوصول إلى أحدث التقنيات، مثل الذكاء الاصطناعي التوليدي.

الحاويات كخدمة (CaaS)

يقدم العديد من مزودي الخدمات السحابية الرائدين الحاويات كخدمة (CaaS). بشكل أساسي، تعد CaaS مجموعة فرعية من البنية التحتية كخدمة (IaaS)، وتقع CaaS بين البنية التحتية كخدمة (IaaS) و المنصة كخدمة (PaaS) في مجموعة خدمات الحوسبة السحابية، مما يوفر توازنًا بين التحكم الذي توفره IaaS وبساطة PaaS.

توفر الحاويات كخدمة (CaaS) منصة قائمة على السحابة حيث يمكن للمستخدمين تبسيط عمليات المحاكاة الافتراضية القائمة على الحاويات وإدارة الحاويات. توفر الحاويات كخدمة (CaaS) أيضًا أوقات تشغيل الحاويات وطبقات التنسيق وإدارة التخزين المستمر. في عام 2022، بلغت قيمة سوق الحاويات كخدمة (CaaS) العالمية ما يقرب من 2 مليار دولار أمريكي.5

النقل بالحاويات مقابل الحوسبة من دون خادم

الحوسبة من دون خادم هي نموذج تطوير وتنفيذ للتطبيقات يمكّن المطورين من إنشاء التعليمات البرمجية وتشغيلها للتطبيقات من دون توفير خوادم أو بنية تحتية خلفية أو إدارتها.

في الحوسبة بدون خادم، يقوم مزود الخدمة السحابية بتخصيص موارد الجهاز عند الطلب، مع الحفاظ على الخوادم نيابةً عن عملائه. وعلى وجه التحديد، يتعامل المطور ومزود الخدمة السحابية مع توفير البنية التحتية السحابية المطلوبة لتشغيل التعليمات البرمجية وتوسيع البنية التحتية وتصغيرها عند الطلب حسب الحاجة. يلتزم المزود بنموذج تسعير الدفع حسب الاستخدام.

يمكن للحوسبة بدون خادم تحسين إنتاجية المطور من خلال تمكين الفرق من التركيز على كتابة التعليمات البرمجية، وليس إدارة البنية التحتية. في المقابل، توفر الحاويات المزيد من التحكم والمرونة، مما يساعد في إدارة التطبيقات الحالية وترحيلها إلى السحابة.

النقل بالحاويات والأمن

تتطلب الممارسات الأمنية للبيئات المعبأة بالحاويات إستراتيجية تشمل دورة حياة الحاوية بأكملها، بما في ذلك التطوير والاختبار والنشر.

يجب أن تعالج هذه الممارسات جميع طبقات المجموعة، بما في ذلك منصة النقل بالحاويات وصور الحاوية ومنصة التنسيق والحاويات الفردية والتطبيقات.

أولاً وقبل كل شيء، يجب أن تدور سياسات أمن الحاويات حول إطار الثقة الصفرية. يتحقق هذا النموذج من كل اتصال مستخدم ويصرح به، ويضمن استيفاء التفاعل للمتطلبات الشرطية المنصوص عليها في السياسات الأمنية للمؤسسة. كما تصادق استراتيجية الأمان القائمة على Zero Trust على كل جهاز، وتدفق شبكة، واتصال، وتصرح بها استنادًا إلى سياسات ديناميكية، باستخدام السياق المستمد من أكبر عدد ممكن من مصادر البيانات.

أصبح أمن الحاوية مصدر قلق كبير مع تزايد عدد المؤسسات المعتمدة على تقنية النقل بالحاويات، بما في ذلك منصات التنسيق، لنشر تطبيقاتها وتوسيع نطاقها. وفقًا لتقرير صادر عن Red Hat تعد الثغرات الأمنية والتكوينات الخاطئة من أهم المخاوف الأمنية في بيئات الحاوية و Kubernetes.

كما ذكرنا سابقا ، تتمتع التطبيقات المعبأة في حاويات بطبيعتها بمستوى من الأمان حيث يمكن تشغيلها كعمليات معزولة وتعمل بشكل مستقل عن الحاويات الأخرى. معزولة حقًا، وهذا قد يمنع أي تعليمات برمجية ضارة من التأثير على الحاويات الأخرى أو غزو النظام المضيف. ومع ذلك، غالبًا ما تتم مشاركة طبقات التطبيق داخل الحاوية عبر الحاويات. فيما يتعلق بكفاءة الموارد، هذه ميزة إضافية، ولكنها أيضًا تفتح الباب أمام التداخل والاختراقات الأمنية عبر الحاويات. يمكن قول الشيء نفسه عن نظام التشغيل المشترك حيث يمكن ربط العديد من الحاويات بنظام تشغيل المضيف نفسه. يمكن أن تؤثر التهديدات الأمنية التي يتعرض لها نظام التشغيل المشترك على جميع الحاويات المرتبطة به؛ وعلى العكس من ذلك، يمكن أن يؤدي اختراق الحاوية إلى غزو نظام التشغيل المضيف.

ولكن ماذا عن المخاطر والثغرات الأمنية المرتبطة بالحاوية نفسها؟ تتضمن استراتيجية النقل بالحاويات القوية نهج "الأمان الافتراضي"، مما يعني أن الأمان يجب أن يكون متأصلاً في المنصة وليس حلاً يتم تكوينه بشكل منفصل. وتحقيقًا لهذه الغاية، يدعم محرك الحاوية جميع خصائص العزل الافتراضية المتأصلة في نظام التشغيل الأساسي. يمكن تحديد أذونات الأمان لمنع العناصر غير المرغوب فيها تلقائيًا من دخول الحاويات أو الحد من الاتصالات بالموارد غير الضرورية.

على سبيل المثال، تساعد Linux Namespaces على توفير عرض معزول للنظام لكل حاوية؛ وهذا يشمل الشبكات ونقاط التثبيت ومعرفات العمليات ومعرفات المستخدمين والاتصالات بين العمليات وإعدادات اسم المضيف. يمكن أن تحد Namespaces من الوصول إلى أي من هذه الموارد من خلال العمليات داخل كل حاوية. عادةً، ما لا يمكن الوصول إلى الأنظمة الفرعية التي لا تحتوي على دعم Namespace من داخل الحاوية. يمكن للمسؤولين إنشاء وإدارة "قيود العزل" هذه بسهولة على كل تطبيق معبأ في حاوية من خلال واجهة مستخدم بسيطة.

بالإضافة إلى ذلك، تتوفر مجموعة واسعة من حلول أمن الحاوية لأتمتة كشف التهديدات والاستجابة لها عبر المؤسسة. تساعد هذه الأدوات في مراقبة سياسات الأمان وإنفاذها وتلبية معايير الصناعة لضمان التدفق الآمن للبيانات. على سبيل المثال، يمكن أن تساعد أدوات برامج إدارة الأمان في أتمتة مسارات التكامل المستمر والتسليم المستمر (CI/CD)، وحظر الثغرات الأمنية قبل الإنتاج والتحقيق في النشاط المشبوه من خلال الرؤية في الوقت الفعلي. يقع هذا النهج ضمن DevSecOps، وهي عملية التطبيق والتطوير التي تعمل على أتمتة تكامل ممارسات الأمان في كل مستوى من مستويات دورة حياة تطوير البرامج.

المؤلفين

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

حلول ذات صلة
IBM® Instana® Observability

استفِد من إمكانات الذكاء الاصطناعي والأتمتة لحل المشكلات بشكل استباقي عبر مجموعة التطبيقات.

استكشف IBM Instana Observability
حلول عمليات التطوير

استخدم أدوات وبرمجيات عمليات التطوير لإنشاء تطبيقات السحابة الأصلية ونشرها وإدارتها عبر أجهزة وبيئات متعددة.

استكشف حلول عمليات التطوير
الخدمات الاستشارية ذات الصلة بالتقنيات السحابية

عزّز مرونة أعمالك ونموها من خلال التحديث المستمر لتطبيقاتك على أي منصة، وذلك باستخدام خدمات الاستشارات السحابية التي نقدمها. 

استكشِف الخدمات الاستشارية ذات الصلة بتقنيات السحابة
اتخِذ الخطوة التالية

من اكتشاف المشكلات بشكل استباقي مع IBM Instana إلى الحصول على رؤى في الوقت الفعلي عبر مجموعتك بأكملها، يمكنك الحفاظ على تشغيل التطبيقات السحابية الأصلية بشكل موثوق به.

  1. اكتشِف IBM Instana
  2. استكشف حلول عمليات التطوير