أفضل بدائل KUBERNETES : نظرة على Swarm ، DC / OS ، Nomad

من المحتمل أننا سمعنا بما فيه الكفاية حول كيف أن Kubernetes هو Linux للسحابة ، مع أسرع معدل اعتماد على الإطلاق ، وما إلى ذلك. لكن Kubernetes ليس بأي حال الخيار الوحيد للتنسيق هناك ، وهناك حصة عادلة من بدائل Kubernetes. يقع كل من Kubernetes و Docker Swarm و Mesos و Nomad (وغير ذلك الكثير) ضمن فئة من أدوات إدارة البنية التحتية لـ DevOps المعروفة باسم محركات توحيد الحاويات (COEs). يمنحنا التزامن لهؤلاء طبقة تجريد تشتد الحاجة إليها من خلال حاويات التطبيقات التي تعمل على حماية مواردنا وتجمعات الموارد الفعلية.

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

أفضل بدائل KUBERNETES : نظرة على Swarm ، DC / OS ، Nomad - الأفضل

أساسيات التزامن

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

أفضل بدائل KUBERNETES : نظرة على Swarm ، DC / OS ، Nomad - الأفضل

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

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

كيفية عمل حاويات؟

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

أفضل بدائل KUBERNETES : نظرة على Swarm ، DC / OS ، Nomad - الأفضل

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

كيف تساعد الحاويات

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

ما هو Kubernetes؟

هنا تشبيه جيد لما هو عليه Kubernetes. ولكن في الممارسة العملية ، يمكن أن تكون إدارة ومراقبة (تنسيق) التطبيقات التي تم إنشاؤها باستخدام خدمات micros صعبة للغاية. ستحتاج إلى نظام يقوم بمراقبة وتعديل الخدمات الحيوية عبر مئات أو الآلاف من الخوادم. لحسن الحظ ، قامت Google بتطوير أداة قوية من خلال إنشاء Kubernetes. كلمة “Kubernetes” تعني حاكم باليونانية ، وهذا هو ما هو عليه في الأساس. إنه نظام أساسي يساعدك على مراقبة التطبيقات المستندة إلى خدمات micros والتحكم فيها.

أفضل بدائل KUBERNETES : نظرة على Swarm ، DC / OS ، Nomad - الأفضل

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

بدائل Kubernetes

1. Docker Swarm

لمن هو: المستخدمون الذين يريدون بديلاً سهل التكوين لـ Kubernetes

كان Docker (المشروع الكلي ، وليس Swarm فقط) رائدًا في فكرة الخدمات المصغرة الموجودة في الحاويات في عام 2013. Docker Swarm هي منصة تزامن Docker. لديها العديد من المزايا على Kubernetes. بالنسبة للمبتدئين ، على الرغم من كونه أقل تنوعًا من Kubernetes ، إلا أنه سهل الاستخدام للغاية وسهل التثبيت من Kubernetes. Docker Swarm يستخدم CLI مع دلالات تشبه GIT.

تعني هذه المعرفة أن المطورين يمكنهم بسهولة دمج Swarm في سير العمل الحالي الخاص بهم. ثانياً ، إرساء القاعدة لتوسيع نطاق الخدمات يدويًا ، مقارنة باستخدام وظيفة kubectl في Kubernetes. Docker  يفوز أيضا من حيث الدعم. يوفر Docker نفسه دعمًا رسميًا للمؤسسات لعملاء Docker Enterprise Edition (والذي يتضمن Swarm). لا تقدم Google دعمًا لـ Kubernetes. ومع ذلك ، Kubernetes هو عبارة عن منصة مفتوحة المصدر لذلك هناك بائعون آخرون هناك. أنه يوفر الدعم لإصداراته الخاصة.

أفضل بدائل KUBERNETES : نظرة على Swarm ، DC / OS ، Nomad - الأفضل

Docker Swarm لديه عيوب أيضا. التسجيل والمراقبة هي نقطة ضعف رئيسية. بينما يحتوي Kubernetes على أدوات مراقبة مدمجة ، فإن Docker Swarm يتطلب منك استخدام أدوات الجهة الخارجية مثل Sumo Logic و Retrace. أيضًا ، مجتمع Docker Swarm أصغر بكثير من مجتمع Kubernetes.

الايجابيات:

  1. أسهل في الإعداد والتكوين من Kubernetes
  2. الدعم الرسمي لإصدار Enterprise

السلبيات:

  1. مراقبة محدودة وتسجيل وظائف
  2. مجتمع أصغر من Kubernetes

تحميل Docker Swarm

2. DC / OS

لمن هو: المستخدمون الذين يرغبون في معرفة حمل العمل في الحاويات أو غير الحاويات على منصة موزعة

DC / OS اختصار لنظام تشغيل مركز البيانات. يعمل على مستوى تجريد أعلى من Kubernetes. تقوم شركة Kubernetes فقط بتنسيق Microservices في حاويات. لا تزال تتعامل مع خوادم متعددة مميزة ومجمعات موارد متعددة. ومع ذلك ، تقوم DC / OS بتجريد الموارد بعيدًا عن الأجهزة نفسها. يمكن لـ DC / OS تقديم مركز البيانات بالكامل كمجموعة واحدة عملاقة من الموارد – سعة تخزين بيتابايت ، وتيرابايت من ذاكرة الوصول العشوائي ، وآلاف مراكز وحدة المعالجة المركزية.

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

أفضل بدائل KUBERNETES : نظرة على Swarm ، DC / OS ، Nomad - الأفضل

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

الايجابيات:

  1. يتيح لك معرفة حمل العمل في الحاويات أو غير الحاويات
  2. يقدم نفسه كمجمع موارد موحد ، مما يقلل من التعقيد للمطورين

سلبيات:

  1. يتم قفل الميزات المتميزة خلف paywall

تحميل DC / OS

3. Nomad

لمن هو: المستخدمون الذين يرغبون في خدمة تزامن محدودة ولكن مركزة

واحدة من العوائق الرئيسية للاعبي التزامن الكبار مثل Kubernetes و Docker Swarm هو أنها معقدة للغاية. لقد تم تصميمها وفقًا لمتطلبات الشركات العملاقة مثل Spotify – التي تخدم مئات الملايين من المستخدمين يوميًا – في الاعتبار. إذا احتاج تطبيقك إلى توسيع نطاقه عبر الآلاف من الخوادم ويوفر عشرات الخدمات لملايين الأشخاص ، فأنت بحاجة إلى هذا المستوى من التعقيد. ولكن إذا كنت لاعبًا صغيرًا أو متوسطًا ، فستكون متطلبات التنسيق الخاصة بك أكثر بساطة.

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

أفضل بدائل KUBERNETES : نظرة على Swarm ، DC / OS ، Nomad - الأفضل

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

الايجابيات:

  1. سهل الاستخدام مقارنة بالخيارات الأخرى المدرجة

سلبيات:

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

تحميل Nomad 

تغليف

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

Docker Swarm أسهل بكثير في التكوين والاستخدام ، لكن ليس لديه أدوات مراقبة أو تسجيل قوية مدمجة. يتيح لك DC / OS القيام بأكثر من مجرد تنظيم الخدمات المجهرية في حاويات ، لكن الوظائف المتميزة تقبع خلف جدار حماية. في حين أن أهم ما يميز Nomad هو بساطته – مما يجعله مثاليًا للمشاريع الأصغر حجمًا – إلا أن البساطة ذاتها تجعله أقل من مثالي للجهود الكبيرة على مستوى المؤسسات.

زر الذهاب إلى الأعلى