يحتفظ التخزين الدائم في الحاويات بالبيانات إلى ما بعد دورة حياة الحاويات الفردية، ما يضمن بقاء المعلومات المهمة متاحة.
الحاويات هي وحدات برمجية خفيفة الوزن وقابلة للنقل تجمع بين التطبيق وملحقاته، ما يجعلها سهلة النشر عبر البنية التحتية الحديثة لتكنولوجيا المعلومات، وتُعد ضرورية لتطوير تطبيقات السحابة الأصلية.
الحاويات سريعة الزوال بطبيعتها. فالغرض منها أن تكون مؤقتة، بحيث يمكن إطلاقها وإغلاقها حسب الحاجة. وعلى الرغم من هذه المرونة وقابلية التوسع، إلا أن أي بيانات تُنتج في الحاوية تُفقد عندما تتوقف الحاوية عن العمل. يحل التخزين الدائم هذه المشكلة من خلال إبقاء البيانات متاحة بشكل مستقل عن أي حاوية فردية.
فمن دون التخزين الدائم، ستتعطل الأنظمة الحيوية. على سبيل المثال، قد تفقد قاعدة بيانات المعاملات المصرفية التي تعمل في حاويات أرصدة حسابات العملاء في أثناء التحديثات الروتينية، أو قد تفقد منصات التجارة الإلكترونية عربات التسوق مع كل عملية إعادة تشغيل.
في ظل توجه المؤسسات نحو بُنى السحابة الأصلية والخدمات المصغرة، أصبحت الحاويات أساسية لنشر التطبيقات وإدارتها، ما يجعل التخزين الدائم في الحاويات ضروريًا لتشغيل التطبيقات التي تتطلب حفظ البيانات على نطاق واسع. وفقًا لتقرير حديث صادر عن Strategic Market Research، بلغت قيمة سوق حاويات التطبيقات العالمي حوالي 2.1 مليار دولار أمريكي في عام 2024. ومن المتوقع أن تصل إلى 6.9 مليارات دولار أمريكي بحلول عام 2030، بمعدل نمو سنوي مركب (CAGR) يبلغ 21.1%.¹
في البيئات المؤسسية، يأتي التخزين الدائم على شكل تخزين الملفات، والكتل، والكائنات، وكل منها يناسب نوعًا مختلفًا من أحمال التشغيل. عادةً ما تقدم المؤسسات حلول التخزين هذه من خلال مزيج من الأنظمة المادية ومنصات التخزين المعرف بالبرمجيات (SDS) المصممة لدعم بيئات السحابة الهجينة والسحابة الموزعة.
ابقَ على اطلاع دائم على أبرز الاتجاهات في مجالات الذكاء الاصطناعي، والأتمتة، والبيانات، وغيرها الكثير من خلال رسالة Think الإخبارية. راجع بيان الخصوصية لشركة IBM.
يتكون النقل بالحاويات من حزمة من التعليمات البرمجية مع الحاجة فقط لمكتبات نظام التشغيل (OS) والملحقات المطلوبة لتشغيلها—والتي عادةً ما تكون قائمة على Linux. تُنشئ هذه العملية وحدة واحدة خفيفة الوزن، مثل الحاوية، يمكن تشغيلها بشكل متسق عبر أي بنية تحتية.
ومع انتقال المؤسسات من الأجهزة الافتراضية (VMs) إلى الحاويات، نمت الحاجة إلى إدارة أحمال التشغيل القائمة على الحاويات على نطاق واسع. أسهمت منصة Docker، المطروحة في عام 2013، في جعل الحاويات متاحة على نطاق واسع من خلال تقديم طريقة موحدة للمطورين لبنائها ومشاركتها. لكن تنسيق مئات أو آلاف الحاويات عبر بيئات سحابة متعددة هجينة يتطلب طريقة للتعامل مع التعقيد. لذا، جرى تطوير Kubernetes لأتمتة عملية نشر وتوسيع وإدارة التطبيقات القائمة على الحاويات.
نشأت Kubernetes على يد Google في عام 2014، وهي منصة مفتوحة المصدر تديرها مؤسسة الحوسبة السحابية الأصلية (CNCF). يدعم كبار مزودي السحابة مثل AWS وMicrosoft Azure وGoogle Cloud و®IBM Cloud هذه المنصة.
تعمل Kubernetes على تشغيل الحاويات في حجيرات تُنشر عبر العُقد في مجموعات Kubernetes. وتدير التكوين والاتصال بين العناصر من خلال واجهات برمجة التطبيقات (APIs)، ما يدعم التنسيق الآلي عبر الأنظمة المتنوعة. في الوقت الحالي، تُعد Kubernetes هي المعيار الفعلي لتنسيق الحاويات.
وفيما يتعلق بتخزين البيانات، يتمثل أحد الجوانب المهمة لآلية عمل Kubernetes في فهم الفرق بين التطبيقات التي لا تتطلب حفظ البيانات والتطبيقات التي تتطلب حفظ البيانات. التطبيقات التي لا تتطلب حفظ البيانات (مثل خوادم الويب التي تتعامل مع طلبات واجهة برمجة التطبيقات (API) تتعامل مع كل طلب بشكل مستقل. ونتيجة لذلك، فهي لا تحتفظ بالبيانات بين الجلسات. في المقابل، تحتفظ التطبيقات التي تتطلب حفظ البيانات (على سبيل المثال، قواعد البيانات) بالبيانات وتعتمد على المعلومات الواردة من التفاعلات السابقة لتعمل بشكل صحيح.
علاوة على ذلك، تُعد الحاويات والحجيرات في Kubernetes مؤقتة، ويمكن إيقافها أو إعادة تشغيلها أو إعادة جدولتها في أي وقت. بالنسبة إلى التطبيقات التي لا تتطلب حفظ البيانات، لا يمثل هذا السلوك أي مشكلة. لكن في التطبيقات التي تتطلب حفظ البيانات، عندما تتوقف الحاوية، تُفقد أي بيانات مخزنة بداخلها. وهنا يبرز الدور الأساسي للتخزين الدائم في بيئات الحاويات، حيث يفصل البيانات عن دورة حياة الحاوية.
وبالإضافة إلى انتقال التطبيقات التقليدية إلى الحاويات، أصبحت أحمال التشغيل كثيفة البيانات مثل قواعد البيانات والذكاء الاصطناعي (AI) والتعلم الآلي (ML) مرتكزة على السحابة بشكل متزايد. تتطلب أحمال التشغيل تخزينًا مستمرًا لضمان حفظ البيانات عند توقف الحاويات، والحفاظ على الحالة داخل الأنظمة الموزعة، وتوفير الأداء عالي الإنتاجية، وزمن الانتقال القصير الذي يتطلبه تدريب النماذج.
التخزين الدائم في الحاويات مبني على مجموعة من العناصر التي تعمل معًا لفصل البيانات عن الحاويات. في Kubernetes، يعمل المسؤولون على تكوين بنية التخزين التحتية، بينما يصل إليها المطورون والتطبيقات عبر طلبات بسيطة.
تشمل هذه العناصر ما يلي:
توجد طريقتان رئيسيتان لربط التخزين بالحاويات: الربط المباشر ووحدات التخزين المسماة (مثل وحدات Docker ).
وحدة التخزين هي موقع تخزين يمكن الوصول إليه بواسطة الحاويات الموجودة في حجيرات. وعلى عكس التخزين المؤقت داخل الحاويات، الذي يختفي عند توقف الحاوية، تظل وحدات التخزين قائمة طوال دورة حياة الحجيرات. وهذا يعني أنه إذا تعطلت الحاوية وأعيد تشغيلها داخل الحجيرة نفسها، تظل البيانات الموجودة في وحدة التخزين متاحة.
يمكن للوحدات الاتصال بأنواع مختلفة من أجهزة التخزين، بما في ذلك الأقراص المحلية، و أجهزة التخزين المتصل بالشبكة عبر بروتوكولات مثل نظام ملفات الشبكة (NFS) أو خدمات التخزين المرتكز على السحابة.
توفر وحدة التخزين الدائم مساحة تخزين داخل مجموعات Kubernetes ويمكن إنشاؤها يدويًا أو تلقائيًا.
الفرق الرئيسي بين وحدة التخزين العادية ووحدة التخزين الدائم هو دورة الحياة. تتواجد وحدة التخزين الدائم بشكل مستقل عن أي حجيرة. وهذا الإعداد يعني أن البيانات المخزنة تظل باقية حتى في حال حذف أو نقل الحجيرة التي تصل إليها إلى جهاز آخر.
لوحدات التخزين الدائم دورة حياة خاصة بها منفصلة عن الحجيرات التي تستخدمها. ويمكن للمسؤولين تكوينها بسعة تخزين محددة، وأذونات وصول للقراءة/الكتابة (على سبيل المثال، ReadWriteOnce للوصول من قبل حجيرة واحدة أو ReadWriteMany للوصول المشترك).
طلب وحدة التخزين الدائم هو طلب تخزين مقدم من التطبيق أو المستخدم. وبدلاً من الاتصال مباشرةً بوحدة التخزين الدائم، تستخدم الحجيرة طلب وحدة التخزين الدائم كطبقة وسيطة. يحدد الطلب سعة التخزين المطلوبة وطريقة الوصول المطلوبة. ثم تطابقها Kubernetes مع وحدة التخزين الدائم المتاحة. وهذا الفصل يعني أنه يمكن للمطورين طلب التخزين من دون الحاجة إلى معرفة البنية التحتية الأساسية للتخزين.
عندما يتصل الطلب بوحدة التخزين الدائم، يمكن للحجيرة قراءة البيانات وكتابتها تمامًا كما هو الحال مع أي نظام ملفات آخر. وفي حال نقل الحجيرات أو إعادة تشغيلها، يظل بإمكانها الوصول إلى الطلب نفسه وإلى البيانات الدائمة نفسها.
في البيئات المؤسسية، تصبح عملية إنشاء وحدات التخزين يدويًا لكل تطبيق أمرًا معقدًا وغير قابل للإدارة. تحل Kubernetes هذا التحدي من خلال فئات التخزين، والتي تحدد أنواعًا مختلفة من التخزين (مثل محركات الأقراص ذات الحالة الصلبة فائقة الأداء) وتستخدم أداة تزويد لإنشاء وحدات تخزين البيانات تلقائيًا عند الطلب.
عندما يطلب التطبيق التخزين ويحدد فئة تخزين معينة، توفر Kubernetes وحدة التخزين المناسبة من دون الحاجة إلى الإعداد اليدوي. تبسط هذه الميزة إدارة التخزين بشكل عام.
واجهة تخزين الحاويات (CSI) هي واجهة برمجة تطبيقات موحدة وغير مقيدة بمورد معين تتيح لمنصة Kubernetes إمكانية التفاعل مع أنظمة تخزين متنوعة.
تسمح واجهة تخزين الحاويات لمنصات مزودي خدمات التخزين (مثل IBM Storage Fusion وNetApp) بتطوير وتحديث مزاياهم الإضافية بشكل مستقل. تدير هذه المزايا الإضافية دورة حياة التخزين كاملةً: إنشاء الوحدات، وإرفاقها، وتخصيصها، وإزالتها حسب الحاجة.
يتيح التخزين الدائم في الحاويات للمؤسسات إمكانية تشغيل التطبيقات التي تتطلب حفظ البيانات في بيئات الحاويات، ما يوفر المزايا التالية:
يمكن للمؤسسات الوصول إلى التخزين الدائم في الحاويات من خلال مجموعة من الأدوات والحلول:
توفر منصات تنسيق الحاويات (على سبيل المثال، Red Hat OpenShift) إدارة متكاملة للتخزين الدائم، مع دعم مدمج لبرامج تشغيل واجهة تخزين الحاويات والتخصيص الديناميكي لمساحة التخزين.
تسهل هذه المنصات عمليات النشر والتشغيل في المؤسسات التي تدير أحمال تشغيل قائمة على الحاويات على نطاق واسع.
توفر منصات التخزين المؤسسية (مثل IBM Storage Fusion) حلول تخزين قائمة على الحاويات مع خدمات بيانات متقدمة، بما في ذلك اللقطات، والاستنساخ، والتكرار، والتعافي من الكوارث.
تتكامل هذه المنصات مباشرة مع Kubernetes من خلال برامج تشغيل CSI، ما يوفر إمكانات الأمان والامتثال وضوابط الوصول المشترك للتطبيقات التي تتطلب حفظ البيانات.
يوفر مزودو السحابة العامة، بما في ذلك AWS وMicrosoft Azure وGoogle Cloud وIBM Cloud، خدمات Kubernetes المدارة مع خيارات التخزين الدائم، مثل Amazon Elastic Block Store (EBS) وIBM Cloud Block Storage.
يدعم التخزين الدائم في الحاويات حالات استخدام الأعمال التالية:
تتطلب قواعد البيانات العلائقية و غير العلائقية تخزينًا دائمًا في الحاويات للحفاظ على سلامة البيانات. تضمن وحدات التخزين الدائم أن تظل حالة قاعدة البيانات متسقة حتى مع تغير النظام الأساسي.
تعتمد أحمال تشغيل الذكاء الاصطناعي في الوقت الحالي على التخزين الدائم لمجموعات بيانات التدريب، ونقاط التحقق من النماذج، ونتائج الاستدلال. يتطلب تدريب النماذج على نطاق واسع الوصول إلى مجموعات البيانات عالية الإنتاجية، بينما تحتاج تطبيقات تشغيل النماذج إلى وصول سريع وموثوق إلى النماذج المدربة.
تستخدم مسارات التكامل المستمر/النشر المستمر التخزين الدائم في الحاويات للحفاظ على مخرجات التطوير وبيانات الاختبار. تُمكّن وحدات التخزين الدائم فرق DevOps والفرق الأخرى من الحفاظ على سجل التطوير وتوفير بيئات اختبار متسقة.
تعتمد إستراتيجيات النسخ الاحتياطي والتعافي من الكوارث على التخزين الدائم في الحاويات لتسجيل حالة التطبيق. يمكن للمؤسسات أخذ لقطات لوحدات التخزين، ونسخ البيانات إلى المواقع الثانوية، واستعادة أحمال التشغيل بسرعة في أثناء الانقطاعات.
استفِد من إمكانات الذكاء الاصطناعي والأتمتة لحل المشكلات بشكل استباقي عبر مجموعة التطبيقات.
استخدم أدوات وبرمجيات عمليات التطوير لإنشاء تطبيقات السحابة الأصلية ونشرها وإدارتها عبر أجهزة وبيئات متعددة.
عزّز مرونة أعمالك ونموها من خلال التحديث المستمر لتطبيقاتك على أي منصة، وذلك باستخدام خدمات الاستشارات السحابية التي نقدمها.
¹ تقرير سوق حاويات التطبيقات، Strategic Market Research، أغسطس 2025.