لقد أصبحت الحاويات بلا شك كلمة رنانة في التكنولوجيا في السنوات الأخيرة. كان لظهور وارتفاع تقنية الحاويات، وما نتج عنه من مفاهيم مثل بنية الخدمات المصغرة و DevOps و cloud-native، تأثير عميق على صناعة البرمجيات.
توفر الحاويات العديد من المزايا. فالتغليف الشامل، والتوزيع المريح، والإقلاع الخفيف والجدولة، كلها عوامل ساهمت في اعتمادها على نطاق واسع. وعند دمجها مع أنظمة التنسيق، تُبسّط الحاويات إدارة التطبيقات والتكرار، بغض النظر عن تعقيد النظام. علاوة على ذلك، تتميز التطبيقات المحتواة بقابلية نقل ممتازة، حيث تعمل بسلاسة في أي بيئة مزودة بعتاد تشغيل حاويات متوافق مع المعايير.
تتكامل الحاويات خفيفة الوزن والحوسبة السحابية المرنة بشكل مثالي. إن قدرة الحاويات على التكيف مع بيئات التشغيل المتنوعة وقدرتها على الإقلاع السريع، إلى جانب قابلية التوسع الهائلة للموارد من خلال التوسع الديناميكي في السحابة، تُمكّن التطبيقات المحتواة في السحابة من التوسع إلى آلاف النسخ في فترة زمنية قصيرة. لذلك، تُعتبر السحابة منصة مثالية لتطبيقات الحاويات، مما يُسهّل تنفيذها وتوسيعها.
قبل الاعتراف الواسع بـ Docker، كان مقدمو الخدمات السحابية يستكشفون بالفعل تقنيات شبيهة بالحاويات ويستخدمونها. فطبيعة السحابة متعددة المستأجرين تستلزم عزل البيئات، مما يجعل مقدمي الخدمات السحابية مستخدمين ومستفيدين من تقنية الحاويات. بينما اختار البعض حلولاً خاصة، لم يتبنَّ الجميع Docker مباشرة.
على سبيل المثال، استخدمت AWS Elastic Beanstalk تقنية خاصة شبيهة بالحاويات لعزل تطبيقات الويب. ثم وسعت دعمها ليشمل التطبيقات المُعبأة كحاويات Docker.
مع صعود Docker، بدأ كبار مقدمي الخدمات السحابية بالإجماع في تقديم خدمات PaaS قياسية متعلقة بالحاويات، مع تحسينها باستمرار. يعكس تتبع تطور PaaS للحاويات مراحل تطورية متميزة.
في البداية، ركزت منصات الحاويات السحابية على تشغيل حاويات Docker بسلاسة في السحابة. كانت هذه الخدمات تهدف أساسًا إلى مساعدة المستخدمين في إنشاء مجموعات من الأجهزة الافتراضية الأساسية، مما يخفف عنهم عبء إدارة الأجهزة الافتراضية يدويًا. ومع ذلك، مع ازدياد تعقيد تطبيقات الحاويات، برزت الحاجة الماسة للتنسيق (Orchestration). ونتيجة لذلك، قدم البائعون حلول التنسيق الخاصة بهم وعززوها.
خلال عصر تنافس أطر التنسيق، اعتمد بعض البائعين نهجًا متعدد الجوانب. على سبيل المثال، دعمت خدمة Azure Container من Microsoft كلاً من Docker Swarm و Apache Mesos (DC/OS) و Kubernetes. بينما اختار آخرون، مثل AWS مع خدمة Elastic Container Service (ECS)، طرق تنسيق خاصة لتعزيز التكامل مع خدماتهم السحابية الحالية.
كما نعلم، برز Kubernetes كفائز في معركة أطر التنسيق، ليصبح المعيار الفعلي. انتقل مقدمو الخدمات السحابية بسرعة إلى تغيير اتجاههم، مع إعطاء الأولوية لدعم Kubernetes في السحابة وإطلاق خدمات خاصة به مثل AWS Elastic Kubernetes Service (EKS) و Azure Kubernetes Service (AKS). وبالمثل، تخلت Alibaba Cloud تدريجيًا عن دعم Swarm في خدمة الحاويات الخاصة بها، وركزت على إصدار Kubernetes (ACK).
تطور دعم السحابة لتقنية الحاويات بالتوازي مع نظام الحاويات البيئي، حيث لعب مقدمو الخدمات السحابية أدوارًا مهمة كمشاركين وممكنين. على سبيل المثال، Google Kubernetes Engine (GKE) على Google Cloud، كونها “نشأت وترعرعت” داخل النظام البيئي، ظلت دائمًا المعيار لخدمات Kubernetes السحابية.
تقدم خدمات Kubernetes السحابية العديد من المزايا المميزة مقارنة بمجموعات Kubernetes المُدارة ذاتيًا.
أولاً، نظرًا للطبيعة متعددة المستأجرين للسحابة، فإن العديد من خدمات Kubernetes السحابية تلغي الحاجة إلى توفير عقد Master. يحتاج المستخدمون فقط إلى إنشاء عقد Worker ودفع ثمنها، بينما توفر المنصة السحابية عقد Master وتديرها، مما يقلل من استهلاك الموارد وتكاليف التشغيل.
ثانيًا، على الرغم من تعقيد Kubernetes، إلا أنه يمتلك تصميمًا تجريديًا استثنائيًا يتيح توسعات واسعة ومرنة. استثمر مقدمو الخدمات السحابية بكثافة في هذا المجال، مما يسمح لمختلف مكونات IaaS و PaaS على منصاتهم بالتكامل بسلاسة مع نظام Kubernetes البيئي، مما يعزز التكامل الوثيق.
على سبيل المثال، في مجال Ingress Controllers، والتي تُستخدم عادةً لتوجيه حركة المرور الخارجية، هناك تطبيقات لوحدات التحكم في موازن التحميل السحابي مثل AWS ALB Ingress Controller و Azure AKS Application Gateway Ingress Controller. تقوم هذه الوحدات بإنشاء مثيلات خدمات PaaS مقابلة لخدمة مجموعة Kubernetes.
علاوة على ذلك، على مستوى StorageClass، حيث يتم تعريف سياسات تخصيص وحدات التخزين الديناميكية في Kubernetes، يمكن تحديد استخدام خدمات تخزين الكتل السحابية لتوفير وتركيب وحدات تخزين مستمرة عند الطلب.
من منظور المرونة المعمارية، تقدم خدمات Kubernetes السحابية ميزة أخرى: النشر متعدد المجموعات.
مع انخفاض حاجز الدخول لإنشاء مجموعات Kubernetes، إذا كان هناك اعتماد متبادل ضئيل بين وحدات الأعمال، يمكن إنشاء مجموعات Kubernetes منفصلة لكل وحدة. يعزز هذا النهج العزل ويسمح بالتوسع المستقل لمجموعات مختلفة.
من Docker إلى Kubernetes، أدى التطور المستمر لنظام الحاويات البيئي إلى ظهور موجة تقنيات cloud-native. ليس المطورون وحدهم من يسعون لتعلم وتبني تقنية الحاويات. بل يتنافس بائعو الحوسبة السحابية أيضًا لوضع أنفسهم كأفضل المنصات لتشغيل الحاويات، حيث يقدمون عددًا لا يحصى من الخدمات المتعلقة بالحاويات لجذب مستخدمي الحاويات إلى سحاباتهم.
ومن المثير للاهتمام أن هناك علاقة دقيقة بين الحاويات وبعض الخدمات السحابية التي يروج لها البائعون بنشاط. هناك عنصر من المنافسة والاستبدال في اللعبة.
على غرار كيفية إمكانية تكرار بعض وظائف PaaS باستخدام IaaS، يمكن للحاويات، بقدرتها الاستثنائية على حرية البناء وآليات التعبئة والتوزيع المريحة، أن تحل محل بعض المكونات القابلة لإعادة الاستخدام داخل السحابة جزئيًا. علاوة على ذلك، يمكن تنسيق الحاويات كجزء من نظام أكبر، لتكون وسيلة للتخفيف من الارتباط بالبائع.
على الرغم من التهديد المحتمل الذي تشكله الحاويات لخدمات سحابية معينة، أثبتت الحوسبة السحابية مرة أخرى حيادها التكنولوجي. احتضنت المنصات السحابية ودعمت علنًا تشغيل الحاويات، بل وخصصتها كخدمات رئيسية للتطوير. إن تمكين المستخدمين بالخيار يجسد شمولية السحابة.
Novita AI هي المنصة السحابية الشاملة التي تدعم طموحاتك في الذكاء الاصطناعي. واجهات برمجة تطبيقات متكاملة، بدون خادم، مثيل GPU - الأدوات الفعالة من حيث التكلفة التي تحتاجها. تخلص من البنية التحتية، ابدأ مجانًا، وحقق رؤيتك في الذكاء الاصطناعي.
القراءة الموصى بها:
