عام في بدء التشغيل. كيفية تحسين تكاليف AWS الخاصة بك عند تشغيل بدء التشغيل.

الحوسبة السحابية هي مجرد وسيلة أفضل لإدارة أعمالك

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

وافقت شركة Snap Inc. ، الشركة المسؤولة عن تطبيق الرسائل Snapchat الشهير ومشاركة الصور ، على شراء خدمات سحاب Amazon بقيمة مليار دولار على مدار السنوات الخمس المقبلة ، وفقًا لتقرير جديد صدر عن لجنة الأوراق المالية والبورصات الأمريكية.

بمجرد تأسيس Visely ، أصبحت مشكلة دفع فاتورة AWS حقيقية للغاية. فيما يلي ملخص قصير لكيفية قيامنا بخفض الفاتورة مرتين من خلال صياغة بنية تحتية بعناية من أفضل الخيارات المتاحة التي توفرها AWS.

أنواع مثيل AWS

يوفر AWS مجموعة كبيرة من الحالات المختلفة. بالنسبة لبرنامج Visely ، طلبنا أجهزة VM التي ستقوم بتشغيل خوادم الويب بكفاءة لطلبات جانب العميل ، وخوادم قواعد البيانات (استضافة MongoDB) ، وعبء عمل التعلم الآلي (Cassandra + Spark).

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

هذه هي الأسباب التي دفعتنا إلى إلقاء نظرة فاحصة على مثيلات نوع T2.

T2 إلى الإنقاذ

توفر مثيلات T2 أداءً أساسيًا مع القدرة على الاندفاع إلى مستوى أعلى لفترة مشتقة من الأرصدة التي تم تعيينها إلى VM المحدد.

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

اسمحوا لي أن أقدم مثالا على ذلك. T2 صغير (مع vCPU واحد ، 2 غيغابايت) ، يبدأ بـ 288 ساعة معتمدة. أداء خط الأساس هو 20 ٪ وحدة المعالجة المركزية ، مما يعني بمجرد تجاوز عتبة 20 ٪ ، ستبدأ اعتماداتك في حرق أسرع مما كنت تتوق إليها. كيف بسرعة يحرقون؟ بسرعة كبيرة ، عند استخدام وحدة المعالجة المركزية بنسبة 100 ٪ ، سوف تستهلك 288 ساعة في حوالي أربع ساعات.

T2 استخدام الائتمان الصغيرة

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

أخطاء لتجنب عند استخدام مثيلات T2

بمجرد أن تستهلك جميع أرصدةك ، سيعمل مثلك على مستوى خط الأساس الخاص به ، بالنسبة إلى T2 small ، تكون وحدة المعالجة المركزية 20٪. عملية الاسترداد بطيئة جدًا (على سبيل المثال ، 12 ساعة معتمدة في الساعة لـ T2 الصغيرة) ، وبالتالي عليك أن تكون حذراً للغاية في اختيار نوع المثيل الذي تحتاجه للمهمة ، حتى لا تستهلك جميع الاعتمادات خلال ساعات الذروة.

مع عدم وجود أرصدة وتحميل أكبر من الأساس ، ستصبح حالتك غير مستقرة.

تقرير مكتب خدمات المشاريع: سلوك ثلاثة من أصل خمسة خوادم للتطبيقات غريب بعض الشيء (أرصدة لمضاعفات @

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

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

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

المثال يقوم بعمل جيد للغاية

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

بعد شهر من المراقبة والضبط ، قمنا بخفض عدد مثيلات VM قيد التشغيل إلى النصف تقريبًا.

مثيلات موضعية لتوسيع نطاق الموارد غير الضرورية وعبء العمل دون اتصال

بصرف النظر عن أنواع مثيلات T2 ، توفر AWS أيضًا مثيلات موضعية ، والتي يمكن استخدامها لخفض التكاليف من فاتورتك الشهرية. يتمثل الاختلاف الوحيد بين VMs عند الطلب ومثيلات Spot في أنه يمكن إيقاف EC2 لاحقًا مع دقيقتين من الإخطار عندما تحتاج AWS إلى العودة.

المقاطعة القاسية (أو السبات) مع إشعار دقيقتين تبدو قاسية ، ولكن بالنسبة للوظائف الدفعية دون الاتصال بالإنترنت أو التوسع عند الطلب ، فقد يكون هذا حلاً مثاليًا.

هنا في nemo.ai ، نستخدم Apache Spark لنوعين من المهام:

  • تحليلات دون اتصال بلوحات بيانات الأعمال
  • تشغيل خوارزمية تصفية تعاونية لتحديد نوع العملاء الذين اشتروا / اشتروا أيضًا / تم عرضهم

كلتا الوظيفتين غير متصلتان ويمكن تنفيذها على دفعات ، وهو سيناريو مثالي لتخصيص مثيل موضعي.

كيف تعمل مثيلات Spot؟

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

يمكن أن نطلب ثلاث حالات M3 (ذاكرة محسّنة) لـ Spark مع أقصى سعر محدد يعمل على CentOS. بمجرد تلبية الطلب ، فإن الخطوة التالية هي ببساطة نشر حاويات Docker مع تكوين عمال Spark عليها.

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

خلاصة القول ، إذا كنت ترغب في إنشاء تطبيق يستفيد من Spot Instances ، فهناك أفضل الوجبات السريعة في تصميم البرامج:

  • وفر مثيلات AWS مع TerraForm (أو أي أداة أخرى للتشغيل الآلي) لتزويد مثيلك الفوري بالخدمات المطلوبة في أسرع وقت ممكن. يعد استخدام صورة AMI مسبقة الصنع حلاً أيضًا ، على الرغم من أننا قررنا تشغيل Terra Form ، لأنه من الأسهل بالنسبة لنا.
  • يجب ألا تخاف الوظيفة التي تشغلها في Spot Instance من المقاطعة أو السبات.
  • يجب أن يكون نشر التطبيقات المطلوبة على Spot Instances آليًا بالكامل ، وإلا فسوف تقضي وقتًا ثمينًا في التثبيت قبل أن يصبح VM قابلاً للاستخدام. قد يكون استخدام صور Docker هو الحل الأمثل لهذا الغرض.

للتحقق من توفر Spot Spot في منطقتك ، يمكنك استخدام هذا المورد المفيد.

تكاليف متنوعة

تعد الشبكة والتخزين المستمر هما أغلى الموارد التي كان يتعين علينا تحسينها. هنا لديك خيارات أقل للعب بها ، قررنا استخدام SSD للخدمات التي تتطلب إدخال / إخراج سريع وثابت (مثل MongoDB و Apache Solr). خدمات عديمي الجنسية تبلي بلاء حسنا على التخزين الممغنط

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

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

إذا أحببت هذه القصة ، فيمكنك التحقق من الأخرى من هذه السلسلة

عام في بدء التشغيل. كيف نحن Bootstrapped بدء التشغيل.