حاوية (حوسبة)

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

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

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

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

الاستخدام

كل حاوية هي في الأساس بيئة حوسبة سحابية أو غير سحابية قابلة للنقل ووظيفية بالكامل تحيط بالتطبيق وتحافظ عليه مستقلاً عن البيئات الأخرى التي تعمل بالتوازي. [2] بشكل فردي، يقوم كل حاوية بمحاكاة تطبيق برمجي مختلف وتشغيل عمليات معزولة [3] عن طريق تجميع ملفات التكوين والمكتبات والتبعيات ذات الصلة. [4] ولكن بشكل جماعي، تشترك الحاويات المتعددة في نواة نظام التشغيل (OS) المشتركة. [5]

في الآونة الأخيرة، تم اعتماد تقنية الحاويات على نطاق واسع من قبل منصات الحوسبة السحابية مثل Amazon Web Services وMicrosoft Azure وGoogle Cloud Platform و IBM Cloud . [6] كما سعت وزارة الدفاع الأمريكية إلى استخدام الحاويات كوسيلة لتطوير وتسريع تحديثات البرامج، مع التطبيق الأول في مقاتلة التفوق الجوي F-22 . [7]

أنواع الحاويات

  • حاويات نظام التشغيل (OS containers)
  • حاويات التطبيق (Application containers)

القضايا الأمنية

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

إدارة الحاويات، التنسيق، التجميع

يتم استخدام تنسيق الحاويات أو إدارة الحاويات في الغالب في سياق حاويات التطبيق. [8] تتضمن التنفيذات التي توفر مثل هذا التنسيق Kubernetes وDocker swarm .

إدارة مجموعة الحاويات

تحتاج مجموعات الحاويات إلى إدارة. يتضمن ذلك وظيفة إنشاء مجموعة، أو ترقية البرنامج أو إصلاحه، أو موازنة الحمل بين الحالات الموجودة، أو التوسع عن طريق بدء أو إيقاف الحالات للتكيف مع عدد المستخدمين، أو تسجيل الأنشطة ومراقبة السجلات المنتجة أو التطبيق نفسه عن طريق استعلام أجهزة الاستشعار. تتضمن التطبيقات مفتوحة المصدر لمثل هذه البرامج OKD وRancher. يقدم عدد كبير من الشركات إدارة مجموعة الحاويات كخدمة مُدارة، مثل Alibaba وAmazon وGoogle وMicrosoft .

انظر أيضا

قراءة إضافية

المقالات الصحفية
  • Bentaleb، Ouafa؛ Belloum، Adam S. Z.؛ Sebaa، Abderrazak؛ El-Maouhab، Aouaouche (8 يونيو 2021). "Containerization technologies: taxonomies, applications and challenges". The Journal of Supercomputing. ج. 78: 1144–1181. DOI:10.1007/s11227-021-03914-1. S2CID:236220833.
  • Watada، Junzo؛ Roy، Arunava؛ Kadikar، Ruturaj؛ Pham، Hoang؛ Xu، Bing (2019). "Emerging Trends, Techniques and Open Issues of Containerization: A Review". IEEE Access. ج. 7: 152443–152472. Bibcode:2019IEEEA...7o2443W. DOI:10.1109/ACCESS.2019.2945930. S2CID:204970781.
  • van den Berg، Tom؛ Siegel، Barry؛ Cramp، Anthony (أبريل 2017). "Containerization of high level architecture-based simulations: A case study". The Journal of Defense Modeling and Simulation: Applications, Methodology, Technology. ج. 14 ع. 2: 115–138. DOI:10.1177/1548512916662365. S2CID:64405143.
  • Zhang، Xiao؛ Tang، Yu؛ Li، Hao؛ Liu، Shaotao؛ Lin، Di (2021). "Containerization Design for Autonomous and Controllable Cloud Distributed System". Communications, Signal Processing, and Systems. Lecture Notes in Electrical Engineering. ج. 654. ص. 30–38. DOI:10.1007/978-981-15-8411-4_4. ISBN:978-981-15-8410-7. S2CID:236762442.
  • Odun-Ayo، Isaac؛ Geteloma، Victor؛ Eweoya، Ibukun؛ Ahuja، Ravin (2019). "Virtualization, Containerization, Composition, and Orchestration of Cloud Computing Services". Computational Science and Its Applications – ICCSA 2019. Lecture Notes in Computer Science. ج. 11622. ص. 403–417. DOI:10.1007/978-3-030-24305-0_30. ISBN:978-3-030-24304-3. S2CID:195769647.
كتب
  • غابرييل ن. شينكر، هيديتو سايتو، هوي تشوان كلوي لي، كي جو كارول هسو، (2019) البدء في استخدام الحاويات: تقليل العبء التشغيلي على نظامك من خلال أتمتة وإدارة حاوياتك ، Packt Publishing ،(ردمك 978-1-83864-903-6)
  • جيفا س. تشيلادوراي، فينود سينغ، بيتورو راج (2014)، Learning Docker ، Packt Publishing ،(ردمك 978-0-9888202-0-3)

مراجع

  1. ^ Scheepers، Mathijs Jeroen (2014). "Virtualization and Containerization of Application Infrastructure: A Comparison" (PDF). Thijs Scheepers. S2CID:18129086.
  2. ^ "What is containerization?". www.redhat.com (بالإنجليزية). RedHat. Archived from the original on 2021-05-08. Retrieved 2021-07-10.
  3. ^ Hinck, Tim Maurer, Garrett; Hinck, Tim Maurer, Garrett. "Cloud Security: A Primer for Policymakers". Carnegie Endowment for International Peace (بالإنجليزية). Retrieved 2021-07-10.{{استشهاد ويب}}: صيانة الاستشهاد: أسماء متعددة: قائمة المؤلفين (link)
  4. ^ Rubens, Paul (27 Jun 2017). "What are containers and why do you need them?". CIO (بالإنجليزية). Retrieved 2021-07-10.
  5. ^ "Containerization". www.ibm.com (بIndian English). Retrieved 2021-07-10.
  6. ^ December 2019, Jonas P. DeMuro 18 (18 Dec 2019). "What is container technology?". TechRadar India (بالإنجليزية). Retrieved 2021-07-10.{{استشهاد ويب}}: صيانة الاستشهاد: أسماء عددية: قائمة المؤلفين (link)
  7. ^ "Flight Test Clears F-22 Fleet To Accept Third-Party Software". Aviation Week. 30 أغسطس 2022. مؤرشف من الأصل في 2023-08-23.
  8. ^ "What is Container Orchestration? Definition & Related FAQs". Avi Networks. اطلع عليه بتاريخ 2024-04-29.