نشر بتاريخ : 14 الأحد , أغسطس, 2022

مقارنة خدمات Kubernetes على AWS مقابل Azure مقابل GCP

الحاويات (Containers) عبارة عن أصول محمولة تتيح لك التصميم والنشر مع القليل من النفقات العامة من فريق التطوير لديك

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

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

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

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

إيجابيات وسلبيات  Amazon Web Services (AWS)

من بين أفضل ثلاث خدمات (AWS و Azure و GCP ) ، فإن AWS هي الشركة الرائدة في سوق الاستضافة المستندة إلى مجموعة النظراء ولذا سننظر إليها أولاً. لديها ثلاث بيئات للحاويات: ECS و EKS و Fargate. يعد ECS هو الخيار الأفضل إذا كانت لديك خبرة قليلة في الحاويات وتعمل بالفعل مع AWS لاستضافة خدماتك. إنه "ضوء الحاوية" من بين الخيارات الثلاثة. يُطلق على النشر في ECS اسم "حاويات كخدمة" ، ويُعتبر نقطة انطلاق جيدة لأي شخص يريد تحديد ما إذا كان مناسبًا للمؤسسة أم لا. لا تحتاج إلى تثبيت أي شيء مع ECS. يمكنك ببساطة السماح للخدمة بأتمتة عمليات النشر الخاصة بك مباشرةً في السحابة باستخدام AWS CloudFormation  من Amazon .

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

إيجابيات وسلبيات Azure

خدمة Microsoft Azure Container
إذا كنت تعمل بشكل أساسي في بيئة Windows ، فإن النشر في Azure يبدو وكأنه الحل الطبيعي. تم الإبلاغ عن Azure (تسمى خدمات الحاويات الخاصة بها AKS أو Azure Container Service) على أنها أبطأ قليلاً أثناء عمليات النشر ، لكنها لا تزال تمثل تحسينًا من التقاليد القديمة لنقل كود .NET يدويًا من التدريج أو التطوير إلى بيئة الإنتاج. إنها أحدث خدمة حاويات في السوق السحابية متاحة فقط منذ عام 2015 ، لذلك لا تزال Microsoft مستمرة في تحسين خدماتها.

على الرغم من أن استخدام Azure يبدو كما لو كان من الطبيعي أن يكون فقط لمثيلات Windows ، إلا أن Azure يدعم بالفعل صور Linux ، مما يعني أنه يمكنك نشر حاويات Linux على Azure طالما كان لديك نظام التشغيل مثبتًا من لوحة معلومات Azure. هذا يعني أنك لست مقيدًا بنظام Windows فقط ، ولكن لديك قيودًا على الحاويات المختلطة. حيث ستدعم AWS عمليات النشر المختلطة ، تقيدك Azure إما بنظام Linux أو Windows.

في أكتوبر 2017 ، أصدرت Azure AKS (Azure Container Service) ، والتي تشبه AWS EKS. سيتم نشر AKS بسلاسة على جهاز ظاهري مستضاف على Azure ، ولكن الميزة الأكبر هي أن AKS مجاني. أنت تدفع فقط مقابل موارد VM التي تستخدمها في Azure.

الجانب السلبي لـ Azure هو أنه بينما تسبق خدمة AKS فعليًا AWS EKS ، فإن اعتماد Kubernetes أعلى بكثير على AWS و GCP ، وعادةً ما يكون Azure وراء كل من AWS و Google Kubernetes Engine (GKE) عند إصدار أحدث الإصدارات. ومع ذلك ، إذا كان لديك Azure بالفعل وترغب في العبث بفكرة الحاويات ، فإن Azure يجعل من السهل نشرها ويمنحك تحليلات تفصيلية يمكنك استخدامها لتحديد ما إذا كان هذا هو النظام الأساسي المناسب لك. ومع ذلك ، تجدر الإشارة إلى أن Azure لديها أيضًا خدمة تنافسية لـ AWS ECS تسمى Service Fabric ، والتي تستحق إلقاء نظرة عليها أيضًا.

إيجابيات وسلبيات Google Cloud Platform (GCP)

مجموعات GCP Kubernetes

Google هو المنشئ الأصلي لمعايير Kubernetes ، لذا فإن العمل مع هذه المنصة يضعك في صدارة اللعبة في جميع الجوانب تقريبًا. تتوفر لك أي إصدارات وعمليات نشر جديدة على الفور بينما يجب على الأنظمة الأساسية الأخرى اللحاق بالركب. تتفوق Google في تقديم تقنيات البيانات الضخمة والتعلم الآلي والذكاء الاصطناعي (AI) ، لذلك إذا كان هذا هو ما أنت فيه ، فإن GCP هي الخدمة التي يمكنك العمل معها.
تكمن المشكلة الرئيسية في GCP في أنها ليست الأكثر شيوعًا لـ IaaS. لا يحتوي على العروض السحابية للشركات الصغيرة التي تقدمها AWS و Azure ، لذا فإن نظامها الأساسي ككل ليس جذابًا للشركات التي ترغب في دمج السحابة في شبكتها الداخلية. لا يوجد تكامل لـ Active Directory مثل Azure أو IAM مع AWS.

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


خدمة

الايجابيات

سلبيات

AWS

الأمان والموثوقية وقابلية التوسع

من المحتمل أن تكون أكثر تكلفة من الخيارات الأخرى

خيارات للخدمات خفيفة الوزن لتجربة Kubernetes والحاويات قبل نقل بيئتك المحلية إلى السحابة

يصعب استخدامها للمطورين الجدد غير المعتادين على خدمات الحاويات و Kubernetes

يوفر Fargate للمطورين طريقة لنشر الحاويات دون فهم البنية التحتية للخادم

أزور

أكثر سهولة لمطوري Windows

أبطأ أثناء عمليات النشر

يدعم حاويات Windows و Linux

لا يدعم الحاويات الهجينة

AKS مجاني. أنت تدفع فقط مقابل موارد VM.

شركاء Google المعتمدون

منشئ Kubernetes الأصلي ، لذا فإن إدخال الميزات الجديدة يكون أسرع

لا يتكامل مع متطلبات سحابة IaaS

مثالي للمطورين الذين يرغبون في العمل باستخدام الذكاء الاصطناعي والبيانات الضخمة

يعمل بشكل جيد مع فرق DevOps

 

مقارنة التكاليف

تعتبر مقارنات التكلفة صعبة بسبب هيكل "الدفع حسب الاستخدام" في الحوسبة السحابية. لن يدفع مطور فردي يعمل فقط على ترقيع Kubernetes والحاويات ما يقرب من أي مؤسسة تتطلب موارد حوسبة عالية الطاقة. عامل آخر هو أن التكاليف مرتبطة بالموارد التي تستخدمها ، ولكل منصة حد أدنى للمبلغ المخصص للمجموعة.
فيما يلي بعض الأرقام التقريبية لمساعدتك في تحديد التكاليف عند اختيار منصة Kubernetes. تفترض مقارنة التكلفة هذه أن لديك 5 عقد رئيسية ، و 15 عقد عاملة ، ولكل عقدة 4 وحدات معالجة مركزية (vCPU) و 16 جيجابايت من ذاكرة الوصول العشوائي (RAM).


AWS

منصة جوجل السحابية

مايكروسوفت أزور

.20 دولارًا للساعة

.19 دولارًا للساعة

.20 دولارًا للساعة

14،440 ساعة حساب

108000 ساعة حسابية

14،440 ساعة حساب

2880 دولارًا في الشهر

2،052 دولارًا شهريًا (1،539 دولارًا مع الخصومات)

2880 دولارًا في الشهر

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

كيف تقرر

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