اذهب إلى المحتوى

أبرز المفاهيم التي يجب عليك الإلمام بها عن الحاويات


زينب الزعيم

أصبحت الحاويات Containers جزءًا من جميع نواحي بيئة تكنولوجيا المعلومات، وغيرتها تغييرًا جذريًا. فما هي المفاهيم التي عليك أن تعرفها عن الحاويات؟

غير الاحتواء Containerization بيئة تكنولوجيا المعلومات تغييرًا جذريًا بسبب قيمته الكبيرة والفوائد الجمّة التي أكسبها لهذا القطاع. فتقريبًا لن تجد ابتكارًا حديثًا في مجال الأعمال لا يُعدّ الاحتواء عاملًا مساهمًا فيه، هذا إن لم يكن عنصرًا محوريًا فيه.

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

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

ماهي الحاويات؟

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

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

002container_architecture.png

معمارية الحاوية

باختصار، توفر الحاوية العزلة من خلال استغلال تقنيات النواة مثل مجموعات التحكم cgroups وفضاءات أسماء النواة kernel namespaces وSELinux. تتشارك الحاويات مع المضيف بالنواة مما يتيح لها استهلاك موارد أقل من الذي تستهلكه الآلة الافتراضية virtual machine.

مزايا الحاويات

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

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

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

تبسِّط الحاويات عملية تحقيق المرونة والتوافق والقدرة على نشر التطبيقات بسرعة مقارنةً بالبيئات الافتراضية، وهذا هو جوهر العمليات والتطوير.

عامل Docker

أصبح دوكر Docker مترادفًا مع الحاويات، إذ أنه أحدث ثورةً في عالم الحاويات وعمّمها، رغم أن تقنية الحاويات كانت موجودةً قبل ظهور دوكر. فقد كانت تستخدم مثلًا في تجزئات حجم العمل Workload partitions من AIX وحاويات سولاريس Solaris، وحاويات لينوكس LXC التي أنشئت لتشغيل عدة بيئات تعمل بنظام تشغيل لينوكس على مضيف واحد يعمل بنظام تشغيل لينوكس أيضًا.

تأثير نظام Kubernetes

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

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

003container-101-image.png

هل ستستبدل الحاويات الآلات الافتراضية؟

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

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

ماذا عن الحاويات بنظام تشغيل ويندوز؟

تبذل شركة مايكروسوفت والمجتمع مفتوح المصدر جهودًا كبيرةً لإنجاح الحاويات بنظام التشغيل ويندوز. سرَّعت مشغلات كوبيرنيتيس اعتماد الحاويات التي تعمل على ويندوز، وتتيح منتجات مثل أوبين شيفت openshift خدمة Windows worker nodes لتشغيل حاويات بنظام تشغيل ويندوز.

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

مستقبل الحاويات

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

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

ترجمة -وبتصرف- للمقال ‎6 container concepts you need to understand لصاحبه Mike Calizo.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...