كيف يمكنني استخدام الأجهزة الافتراضية التي تمت مقاطعتها في Yandex.Cloud وحفظها على حل المشكلات واسعة النطاق

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



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

القيود الرئيسية


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

بشكل عام ، تعمل الأجهزة الظاهرية التي تمت مقاطعتها مثل الأجهزة الافتراضية المعتادة ، لكن لديها عددًا من القيود:

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

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

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

استخدام الحالات


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

تجهيز الدفعات


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



عند معالجة البيانات الدفعية ، نتحدث عن استخدام العشرات من الأجهزة الافتراضية. يوفر استخدام الأجهزة المتقطعة وفورات ملحوظة للغاية. الآن أحد العملاء الرئيسيين للآلات الافتراضية المنتجة غير المستمرة مع 32 مركزًا هو عميل Yandex.Cloud الطويل ، Seismotech. تقوم Seismotek بمعالجة البيانات السيزمية ، وهي ضرورية لاستكشاف حقول النفط والغاز. استكشاف الزلازل ينطوي على العمل مع كميات كبيرة من المعلومات. تتم معالجة البيانات بطريقة دفعية. تستخدم الشركة في وقت واحد ما يصل إلى 60 جهازًا متقطعًا: إجمالي يصل إلى 2000 وحدة معالجة فردية و 4000 جيجابايت من ذاكرة الوصول العشوائي.

مشاريع على Hadoop


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

فشل خدمات الويب


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

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

مشاريع في Kubernetes


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

اختبار التكامل المستمر


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

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

استخدام بالتزامن مع خدمات Yandex.Cloud الأخرى


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

الأداء الاقتصادي


كما ذكرنا ، يمكن أن تقلل الأجهزة الافتراضية القابلة للإنفاق تكلفة استخدام موارد الحوسبة. داخل Yandex ، بدأنا العمل على وظيفة مماثلة منذ عدة سنوات. لتقسيم مهام الحوسبة إلى ضمان قابل للتنفيذ وقاطع ، كانت هناك حاجة إلى استثمارات كبيرة. لكنها لم تذهب سدى: في النهاية ، قمنا بزيادة مستوى الاستخدام المفيد للبنية التحتية للخادم من 30-40 ٪ إلى 70-80 ٪.



تتوفر الآن إمكانيات مماثلة لجميع مستخدمي Yandex.Cloud بنقرة زر واحدة. مثال بسيط: إذا قمت بنقل نصف الأجهزة الظاهرية المستخدمة مع تحميل kernel مائة بالمائة إلى تنسيق المقاطعة ، فيمكنك توفير ما يصل إلى 35-40٪ من الميزانية.

بتكلفة منخفضة ، تتوفر موارد وحدة المعالجة المركزية وذاكرة الوصول العشوائي. يتم دفع مساحة القرص وعناوين IP بمعدلات منتظمة. إليك ما تظهره عملية حسابية بسيطة لمنصة Cascade Lake.



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

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

منشورات أخرى حول Cloud on Habré


Source: https://habr.com/ru/post/ar457538/


All Articles