كيفية ضمان قابلية التوسع في السحابة في عام 2023

نشرت: 2023-01-11

المحتوى

  1. ما هي قابلية التوسع؟
    • لماذا نحتاج إلى إيلاء اهتمام خاص لقابلية التوسع؟
  2. أنواع التحجيم
    • قابلية التوسع الرأسي - التوسع
    • التحجيم الأفقي - التحجيم
    • تحجيم قطري
  3. كيفية ضمان الحد الأقصى من قابلية التوسع
    • إجراء موازنة الحمل
    • انتقل إلى قابلية تطوير خدمات الويب التلقائية
    • حاويات الخدمات الدقيقة ، التجمعات
    • تنفيذ التخزين المؤقت
    • توظيف خدمات CDN
  4. كيف نتعامل مع مشاكل التوسع؟
  5. استنتاج
المحتوى

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

يتم تحديد جميع عمليات تحسين النظام هذه من خلال مفهوم واحد - القياس - أحد التخصصات الرئيسية لخبراء DevOps. ما هي قابلية التوسع ، والأهم من ذلك ، كيفية ضمانها في حالة عملك الخاص مع تركيز معظم قدرات التشغيل في السحابة؟ دعونا نتعمق في الموضوع.

قابلية التوسع في السحابة مصدر الصورة: Static.bluepiit

ما هي قابلية التوسع؟

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

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

إذا كنت ترغب في التحقق من مدى كفاءة أداء بروتوكولات الشبكة وموارد خادم الويب المتوفرة لديك ، فيمكنك استخدام أي أداة مساعدة متاحة لاختبار الأحمال (مثل الحصار ، على سبيل المثال) والتي ستحاكي تدفق المستخدم الاصطناعي إلى الخادم الخاص بك مع الكثير من الطلبات. سيتعين عليك فقط تتبع معلمتين رئيسيتين: n - تحدد العدد الإجمالي للطلبات و c - تشير إلى عدد الطلبات المتزامنة.

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

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

لماذا نحتاج إلى إيلاء اهتمام خاص لقابلية التوسع؟

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

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

تشمل الأنواع الرئيسية والأكثر شيوعًا لإجراءات القياس ما يلي:

قابلية التوسع الرأسي - التوسع

تحجيم عمودي مصدر الصورة: Dzone

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

التحجيم الأفقي - التحجيم

تحجيم أفقي مصدر الصورة: Dzone

هناك موقف حقيقي يحدث في الميدان - توسيع مقابل توسيع نطاق. ما الأفضل؟

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

تحجيم قطري

هذا مصطلح جديد نسبيًا ابتكره John Allspaw - مؤلف ومؤسس مشارك لمختبرات القدرة التكيفية. وبالتالي ، فإن القياس القطري يجمع بين أفضل ما في العالمين ويحدد القياس الرأسي للعقد ذات التحجيم الأفقي التي تم تنفيذها بالفعل في البنية التحتية للخادم الحالية.

كيفية ضمان الحد الأقصى من قابلية التوسع

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

إجراء موازنة الحمل

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

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

يتم تنفيذ إجراء الموازنة بمساعدة مجموعة كاملة من الخوارزميات والطرق التي يتوافق كل منها مع طبقات نموذج OSI التالية: الشبكة والنقل والتطبيق. في الإدراك العملي ، تتطلب هذه استخدام العديد من الخوادم المادية جنبًا إلى جنب مع البرامج المتخصصة المشابهة لخادم الويب Nginx.

انتقل إلى قابلية تطوير خدمات الويب التلقائية

القياس التلقائي هو نهج خاص للقياس الديناميكي في سياق الخدمات السحابية (على سبيل المثال ، القياس الذي يتضمن تخصيص قوى الحوسبة وفقًا لحجم تحميل الشبكة). على وجه الخصوص ، يتم تزويد مستخدمي الخدمات التي تتضمن إجراءات التحجيم التلقائي (أشهرها Amazon Web Service و Google Cloud Platform و Microsoft Azure) بأجهزة افتراضية إضافية إذا لزم الأمر (والتي يمكن استبعادها تلقائيًا من المجموعة أو الحاوية مع استقرار حركة المرور وكثافة الطلبات).

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

لاحظ أن قابلية التوسع التلقائي للسحابة تسير دائمًا جنبًا إلى جنب مع حلول موازنة الحمل.

حاويات الخدمات الدقيقة ، التجمعات

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

تنفيذ التخزين المؤقت

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

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

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

توظيف خدمات CDN

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

بدلاً من ذلك ، يمكن أن يكون CDN حلاً غير مربح إذا كانت TA الخاصة بك ، على الرغم من توزيعها الإقليمي الواسع ، لها مواقع محلية مع تركيز بعض المستخدمين. أي ، افترض أن حوالي 60٪ من TA الخاص بك موجود في الولايات المتحدة ، و 30٪ في لندن ، والباقي 10٪ منتشر في جميع أنحاء الكوكب. في مثل هذه الحالة ، سيكون استخدام CDN قرارًا عقلانيًا فقط لـ 10٪ الأخيرة (بينما تتطلب المواقع الأخرى تثبيت خوادم جديدة).

كيف نتعامل مع مشاكل التوسع؟

حاليًا ، من بين الأمثلة الأكثر إشراقًا على التوسع التي أجراها خبراء داخليون ، إنشاء بنية عالية قابلية التوسع للتخزين السحابي العام مثل AWS و Microsoft Azure و Google Cloud و Digital Ocean. نحن نستخدم نصوصًا برمجية لنشر البيئة المؤتمتة بمساعدة Terraform - وهو نظام من الجيل التالي لإنشاء البنية التحتية السحابية وإدارتها وتكوينها. نحن نبني مجموعات الخوادم الخاصة بنا على برنامج التحجيم التلقائي Kubernetes وتقنية الحاويات المساعدة Docker.

استنتاج

قابلية التوسع في بيئة الحوسبة السحابية مصدر الصورة: CDN.Lynda

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