مقدّر تكلفة Amazon EMR Serverless

مقدّر تكلفة Amazon EMR Serverless

عقدة المصدر: 1776349

أمازون EMR بدون خادم هو خيار بدون خادم في أمازون EMR التي تسهل على محللي ومهندسي البيانات تشغيل التطبيقات باستخدام أطر عمل تحليلات البيانات الضخمة مفتوحة المصدر مثل Apache Spark و Hive دون تكوين المجموعات أو الخوادم وإدارتها وتوسيع نطاقها. يمكنك الحصول على جميع ميزات أحدث أطر العمل مفتوحة المصدر مع وقت التشغيل المُحسَّن للأداء لـ Amazon EMR ، وبدون الحاجة إلى تخطيط وتشغيل مثيلات ومجموعات.

باستخدام Amazon EMR ، يمكنك تشغيل تطبيقات التحليلات الخاصة بك على مجموعات EMR المخصصة ، الموجودة خدمة أمازون مطاطا Kubernetes مجموعات (Amazon EKS) ، أو استخدام خيار نشر EMR Serverless الجديد حيث لا يتعين عليك إدارة المجموعات أو المثيلات. عند إنشاء تطبيق Spark أو Hive باستخدام إصدار Amazon EMR ، على سبيل المثال Amazon EMR 6.8 ، يمكنك تشغيل التطبيق على مجموعات EMR ، على مجموعات EKS باستخدام Amazon EMR على EKS، أو استخدام EMR Serverless دون الحاجة إلى تغيير التطبيق.

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

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

على الرغم من أن المثال في هذا المنشور يناقش كيف يمكنك الحصول على تقدير التكلفة للتطبيقات التي تعمل على مجموعات EMR ، يمكنك أيضًا استخدام الأسلوب إذا كنت تقوم بتشغيل تطبيق Spark أو Hive في مكان آخر ، وتريد تقدير تكلفة تشغيله على EMR خادم. على سبيل المثال ، إذا قمت بتشغيل تطبيقات Spark أو Hive ذاتية الإدارة على الأمازون الحوسبة المرنة السحابية مجموعات (Amazon EC2) ، أو إذا قمت بتشغيل وظائف Spark على غراء AWS، نوضح لك كيف يمكنك استخدام هذا الأسلوب لتقدير تكلفة تشغيل التطبيق على EMR Serverless.

تقدير تكلفة تشغيل التطبيقات على مجموعة السجلات الطبية الإلكترونية الخاصة بك

عند تشغيل التطبيقات على مجموعات Amazon EMR ، يتم محاسبتك بشكل منفصل على ما يلي:

  1. سعر Amazon EC2 لتشغيل مثيلات المجموعة (سعر الخوادم الأساسية)
  2. سعر ل متجر أمازون مطاط بلوك (Amazon EBS) ، إذا اخترت إرفاق وحدات تخزين EBS
  3. سعر Amazon EMR لمثيلات المجموعة

التكلفة الإجمالية لتشغيل الكتلة تشمل الثلاثة. هناك مجموعة متنوعة من خيارات تسعير Amazon EC2 التي يمكنك الاختيار من بينها ، بما في ذلك المثيلات المحجوزة عند الطلب ، والمثيلات المحجوزة لمدة عام و 1 أعوام ، وخطط توفير السعة ، والمثيلات الفورية. يحدد خيار تسعير Amazon EC3 الذي تختاره (أ) ، سعر Amazon EC2. تكلفة تشغيل التطبيق على مجموعات EMR هي مجموع (أ) و (ب) و (ج). يمكنك حساب هذه التكلفة على مدى عمر تشغيل الكتلة (من وقت بدء الكتلة إلى وقت إنهاء الكتلة) ، أو لفترة زمنية محددة أثناء تشغيل الكتلة. نوصي بتشغيل الأول ، أي لحساب (أ) و (ب) و (ج) من وقت بدء الكتلة إلى وقت إنهاء المجموعة. إذا قمت بإعداد علامات لمجموعة Amazon EMR الخاصة بك ، فيمكنك بسهولة الحصول على تقرير تكلفة مفصل لمجموعة سجلات EMR الخاصة بك باستخدام AWS Cost Explorer.

تقدير تكلفة تشغيل نفس التطبيقات باستخدام EMR Serverless

عند تشغيل نفس التطبيقات باستخدام EMR Serverless ، فإنك تدفع مقابل مقدار وحدة المعالجة المركزية الافتراضية والذاكرة وموارد التخزين التي تستهلكها تطبيقاتك. لا توجد رسوم منفصلة لمثيلات EC2 أو وحدات تخزين EBS. وأنت تدفع فقط مقابل الموارد التي يستخدمها التطبيق بالفعل وليس لمثيلات EC2 المتوفرة. على سبيل المثال ، عند تشغيل التطبيقات على مجموعات EMR ، عندما يتم استخدام مثيل EC2 في المجموعة جزئيًا (على سبيل المثال ، يتم استخدام ذاكرة 16 جيجا بايت من أصل 64 جيجا بايت المتوفرة في المثيل ، أو 4 وحدات معالجة مركزية VCPU من أصل 16 وحدة معالجة مركزية متاحة في المثيل ) ، أو عندما يكون مثيل EC2 خاملاً (على سبيل المثال ، عند تهيئة المثيل أو انتظار بدء تطبيق ما) ، فإنك لا تزال تتحمل رسوم Amazon EC2 و Amazon EMR و Amazon EBS لمثيل EC2 الكامل وللمدة التي المثيل نشط في كتلة EMR. باستخدام EMR Serverless ، لا تدفع إلا مقابل vCPU والذاكرة وموارد التخزين المستخدمة من الوقت الذي يبدأ فيه العمال في تشغيل وظيفة Spark أو Hive الخاصة بك حتى وقت توقفهم.

لتقدير تكلفة تشغيل تطبيق EMR Spark أو Hive الخاص بك على EMR Serverless ، تحتاج أولاً إلى تجميع إجمالي حساب vCore-seconds ، والذاكرة MB-seconds ، وتخزين GB-seconds الذي يستهلكه كل تطبيق YARN تم تشغيله على مجموعة EMR الخاصة بك ، من وقت بدء حاوية YARN إلى وقت إنهاء حاوية YARN. يمكنك الحصول على هذه المقاييس من سجلات مدير موارد YARN التي يمكن الوصول إليها من خادم الجدول الزمني لـ YARN أو أدوات YARN CLI. يمكنك استرداد وقت التشغيل ، و vCore-seconds ، والذاكرة MB-seconds المستخدمة بواسطة كل تطبيق من تطبيقات YARN.

إذا كانت مجموعتك تعمل فقط على تطبيقات Spark ، فهناك طريقة أبسط للتقدير. بدلاً من الحصول على vCore-seconds وذاكرة MB-seconds والتخزين GB-seconds من سجلات مدير موارد YARN ، يمكنك الحصول على هذه المقاييس من سجلات أحداث Spark. لقد قدمنا ​​الأداة مقدر EMR Servless، والتي يمكنها تحليل سجلات أحداث Spark لتطبيقاتك وتوفير المقاييس المجمعة لتقدير التكلفة.

بعد الحصول على مقاييس الاستخدام للتطبيق الخاص بك ، يمكنك حساب التكلفة المقدرة لـ EMR Serverless باستخدام تسعير EMR Serverless. ما عليك سوى مضاعفة vCore-seconds المجمعة مع تسعير EMR Serverless vCPU في الثانية ، ومضاعفة الذاكرة المجمعة بالميغابايت بالثانية مع تسعير ذاكرة EMR Serverless في الثانية ، ومضاعفة سعة التخزين بالثانية مع تسعير التخزين EMR Serverless لكل ثانية (فقط إذا كانت متطلبات التخزين تتجاوز 20 جيجا بايت لكل عامل). من خلال إضافة هذه التكاليف لوحدة المعالجة المركزية الافتراضية والذاكرة والتخزين ، يمكنك مقارنة تكلفة تشغيل نفس التطبيقات على EMR Serverless.

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

مثال

لنقم بإجراء مقارنة نموذجية لتكلفة Amazon EMR على EC2 و EMR Serverless باستخدام مجموعة واحدة.

قمنا بتشغيل تطبيق Spark على مجموعة EMR بخمس عقد (واحدة أساسية ، اثنتان أساسيتان ، ومهمتان وقمنا بتجميع مقاييس YARN باستخدام YARN CLI. يوضح الكود التالي تخصيص الموارد الكلي لدينا.

إجمالي تخصيص الموارد

قمنا بحساب Amazon EMR على تكاليف EC2 على النحو التالي:

  • حالات الكتلة
    • الأساسي: m5.2xlarge: 1
    • النواة: r5.2xlarge: 2
    • المهمة: r5.2xlarge: 2
  • وقت تشغيل الكتلة = 18 دقيقة
  • تكلفة المثيل عند الطلب
    • m5.2xlarge (8 vCPU ، ذاكرة 32 جيجا بايت)
      • Amazon EC2: 0.384 دولار / ساعة
      • زيادة Amazon EMR: 0.096 دولار / ساعة
    • r5.2xlarge (8 vCPU ، ذاكرة 64 جيجا بايت)
      • Amazon EC2: 0.504 دولار / ساعة
      • زيادة Amazon EMR: 0.126 دولار / ساعة

ما يلي هو EMR على حساب تكلفة EC2:

  • تكلفة Amazon EMR = ((1 عقدة أساسية × 0.096 دولار / ساعة) + (عقدتان أساسيتان × 2 دولارًا / ساعة) + (عقدتان مهمة × 0.126 دولارًا / ساعة)) = 2 دولارًا أمريكيًا
  • تكلفة Amazon EC2 = ((1 أساسي × 0.384 USD / ساعة) + (عقدتان أساسيتان × 2 USD / ساعة) + (عقدتان مهمة × 0.504 USD / ساعة)) = 2 USD
  • Amazon EMR على تكلفة مجموعة EC2 / الساعة = 0.6 دولار أمريكي + 2.40 دولار أمريكي = 3 دولارات أمريكية / ساعة * 8/60 ساعة (وقت التشغيل بالساعات)

يبلغ إجمالي تكلفة Amazon EMR على Amazon EC2 0.40 دولارًا أمريكيًا في الساعة.

لحساب تكلفة EMR Serverless ، قم بتجميع vCore-seconds وذاكرة MB-seconds لنفس التطبيق الذي قمت بتشغيله مسبقًا على مجموعة EMR. ثم اضرب هذه الأرقام مع وحدة المعالجة المركزية الافتراضية (vCPU) EMR Serverless وسعر الذاكرة. نتائج الحساب لدينا هي كما يلي:

  • إجمالي_فكور_الثواني = 5737
  • إجمالي_الذاكرة_ميجابايت_ثانية = 120156631
  • التحويل إلى vCPU / hr وذاكرة GB / hr:
    • المجمعة vCPU / ساعة: 5737 / (60 * 60) = 1.59
    • Aggregated memory/hr: 120156631/(60*60*1024)=32.5
  • إجمالي تكلفة ساعات vCPU = 33 vCPU * 0.052624 VCPU / hr * 8/60 = 0.23 USD
  • إجمالي تكلفة الذاكرة بالجيجابايت = 1.59 ميجابايت * 0.0057785 ذاكرة / ساعة * 8/60 = 0.00122 USD

في هذا المثال ، يبلغ إجمالي تكلفة EMR Serverless 0.231 دولارًا أمريكيًا ، وهو ما يمثل انخفاضًا بنسبة 42٪.

وفي الختام

Amazon EMR Serverless هو خيار بدون خادم تم إطلاقه مؤخرًا في Amazon EMR والذي يجعل من السهل تشغيل أطر عمل مفتوحة المصدر مثل Spark و Hive دون تكوين المجموعات وإدارتها وتوسيع نطاقها. يرغب العملاء الذين يستخدمون مجموعات EMR بالفعل في فهم كيفية تقدير تكلفة تشغيل تطبيقات EMR الخاصة بهم باستخدام EMR Serverless. لقد قدمنا ​​نهجًا يمكنك استخدامه لإجراء تحليل للتكلفة بناءً على تحليل مقاييس التطبيق من مجموعات السجلات الطبية الإلكترونية الخاصة بك.

نأمل أن تجرب هذه التجربة ، وأن تشاركنا بتعليقاتك!


عن المؤلفين

راديكا رافيرالا هو مدير المنتج الرئيسي في AWS.

ماثيو ليم هو المدير الأول لهندسة الحلول في AWS.

الطابع الزمني:

اكثر من بيانات AWS الضخمة