מעריך עלויות ללא שרת EMR של Amazon

מעריך עלויות ללא שרת EMR של Amazon

צומת המקור: 1776349

Amazon EMR ללא שרת היא אפשרות ללא שרת ב אמזון EMR שמקל על מנתחי נתונים ומהנדסים להריץ יישומים באמצעות מסגרות לניתוח ביג דאטה בקוד פתוח כגון Apache Spark ו-Hive מבלי להגדיר, לנהל ולהרחיב אשכולות או שרתים. אתה מקבל את כל התכונות של מסגרות הקוד הפתוח העדכניות ביותר עם זמן הריצה המותאם לביצועים של Amazon EMR, וללא צורך לתכנן ולתפעל מופעים ואשכולות.

עם Amazon EMR, אתה יכול להפעיל את יישומי הניתוח שלך על אשכולות EMR ייעודיים, על קיים שירות קוברנט של אמזון (Amazon EKS) אשכולות, או שימוש באפשרות הפריסה החדשה של EMR ​​Serverless שבה אינך צריך לנהל אשכולות או מופעים. כאשר אתה בונה אפליקציית Spark או Hive באמצעות מהדורת Amazon EMR, נניח Amazon EMR 6.8, אתה יכול להפעיל את האפליקציה על אשכולות EMR, על אשכולות EKS באמצעות אמזון EMR ב-EKS, או באמצעות EMR Serverless ללא צורך בשינוי האפליקציה.

כדי ללמוד על היתרונות של כל אפשרות פריסה ב EMR ללא שרת, עיין מהם כמה מהבדלי התכונות בין EMR Serverless לאמזון EMR ב-EC2? בשאלות הנפוצות של אמזון EMR. אתה יכול גם ללמוד על התמחור עבור אפשרויות אלה מה- עמוד התמחור של אמזון EMR. לקוחות רבים כבר מריצים יישומי ניתוח נתונים על אשכולות EMR, ומגלים שהאופציה החדשה ללא שרת היא פשוטה יותר ופחות יקרה.

בפוסט זה, אנו דנים כיצד תוכל להעריך כמה זה עשוי לעלות להפעיל אפליקציה הפועלת כעת על אשכולות EMR באמצעות האפשרות החדשה ללא שרת, ולבצע את הניתוח הזה פשוט על ידי שימוש במדדי היישום הנוכחיים שלך. גישה זו מסייעת לך להעריך ולאמץ את אפשרות הפריסה המשתלמת ביותר עבור היישום. עם זאת, עמוד התמחור של אמזון EMR לא אומר לך כיצד תוכל להעריך בקלות את העלות של הפעלת יישומי אשכול EMR ​​הקיימים שלך ב- EMR Serverless. בסעיפים הבאים, אנו מתארים גישה המאפשרת לך לעשות זאת.

למרות שהדוגמה בפוסט זה דנה כיצד ניתן לקבל הערכת עלות עבור יישומים הפועלים על אשכולות EMR, אתה יכול להשתמש בגישה גם אם אתה מפעיל אפליקציית Spark או Hive במקום אחר, וברצונך להעריך את העלות של הפעלתה על EMR ללא שרת. לדוגמה, אם אתה מפעיל אפליקציות Spark או Hive בניהול עצמי ענן מחשוב אלסטי של אמזון (Amazon EC2) אשכולות, או אם אתה מפעיל על עבודות Spark דבק AWS, אנו מראים לך כיצד תוכל להשתמש בגישה זו כדי להעריך את העלות של הפעלת היישום ב-EMR Serverless.

הערכת העלות של הפעלת יישומים באשכול ה-EMR שלך

כאשר אתה מפעיל יישומים באשכולות EMR של אמזון, אתה מחויב בנפרד עבור הפעולות הבאות:

  1. המחיר של אמזון EC2 של הפעלת מופעי אשכול (המחיר עבור השרתים הבסיסיים)
  2. המחיר עבור חנות בלוקים אלסטית של אמזון נפחי (Amazon EBS), אם תבחר לצרף נפחי EBS
  3. מחיר אמזון EMR עבור מופעי האשכול

העלות הכוללת של הפעלת האשכול כוללת את שלושתם. יש מגוון אפשרויות תמחור של אמזון EC2 שתוכלו לבחור מהן, כולל על פי דרישה, מופעים שמורים למשך שנה ו-1 שנים, תוכניות חיסכון בקיבולת ומופעים נקודתיים. אפשרות התמחור של Amazon EC3 שתבחר קובעת (א), את המחיר של Amazon EC2. עלות הפעלת האפליקציה באשכולות EMR היא הסכום של (א), (ב) ו-(ג). אתה יכול לחשב עלות זו למשך כל החיים של הפעלת האשכול (מרגע התחלת האשכול ועד לזמן סיום האשכול), או לתקופת זמן מסוימת בזמן שהאשכול פועל. אנו ממליצים להפעיל את הראשון, כלומר לחשב את (א), (ב) ו-(ג) מרגע התחלת האשכול ועד לזמן סיום האשכול. אם הגדרת תגיות עבור אשכול ה- EMR שלך באמזון, אתה יכול בקלות להשיג את דוח עלויות מפורט עבור אשכול EMR ​​שלך באמצעות AWS Cost Explorer.

הערכת העלות של הפעלת אותם יישומים באמצעות EMR Serverless

כאשר אתה מפעיל את אותם יישומים באמצעות EMR Serverless, אתה משלם עבור כמות משאבי ה-vCPU, הזיכרון והאחסון הנצרכים על ידי היישומים שלך. אין תשלום נפרד עבור מופעי EC2 או נפחי EBS. בנוסף, אתה משלם רק עבור המשאבים המשמשים בפועל את האפליקציה ולא עבור מופעי EC2 שהועברו. לדוגמה, בעת הפעלת יישומים באשכולות EMR, כאשר מופע EC2 באשכול מנוצל חלקית (נניח, נעשה שימוש בזיכרון של 16 ג'יגה-בייט מתוך 64 ג'יגה-בייט הזמינים במופע, או ב-4 מעבדי VCPU מתוך 16 רכיבי VCPU הזמינים במופע. ), או כאשר מופע ה-EC2 אינו פעיל (לדוגמה, כאשר המופע מאתחל או ממתין להפעלת אפליקציה), אתה עדיין מחויב בחיובי Amazon EC2, Amazon EMR ו- Amazon EBS עבור מופע ה-EC2 המלא ולמשך הזמן שבו המופע פעיל באשכול EMR. עם EMR Serverless, אתה משלם רק עבור משאבי ה-vCPU, הזיכרון והאחסון המשמשים מרגע שהעובדים מתחילים להפעיל את עבודת ה-Spark או Hive שלך ​​ועד למועד הפסקתם.

כדי להעריך את העלות של הפעלת אפליקציית EMR Spark או Hive ב-EMR Serverless, תחילה עליך לצבור את סך כל ה-vCore-seconds, MB-seconds הזיכרון ו-GB-שניות האחסון הנצרכות על ידי כל יישום YARN שרץ באשכול ה-EMR שלך. מרגע הפעלת מיכל YARN ועד לזמן סיום מיכל YARN. אתה יכול להשיג מדדים אלה מיומני מנהל המשאבים של YARN הנגישים משרת ציר הזמן של YARN או מכלי YARN CLI. אתה יכול לאחזר את זמן הריצה, ה-vCore-seconds ו-MB-שניות הזיכרון בשימוש בכל אחד מיישומי YARN.

אם האשכול שלך מריץ רק יישומי Spark, ישנה גישה פשוטה יותר לאומדן. במקום לקבל את ה-vCore-seconds, MB-seconds של זיכרון ו-GB-שניות האחסון מיומני מנהל המשאבים של YARN, אתה יכול להשיג את המדדים האלה מיומני האירועים של Spark. סיפקנו את הכלי EMR Servless Estimator, שיכול לנתח את יומני האירועים של Spark עבור האפליקציות שלך ולספק את המדדים המצטברים להערכת העלות שלך.

לאחר שתקבל את מדדי השימוש עבור היישום שלך, תוכל לחשב את העלות המשוערת ללא שרת EMR באמצעות תמחור ללא שרת EMR. כל שעליך לעשות הוא להכפיל את ה-vCore-second המצטבר שלך עם תמחור EMR Serverless vCPU לשנייה, להכפיל את MB-שניות הזיכרון המצטברות עם תמחור הזיכרון ללא שרת EMR לשנייה, ולהכפיל את GB-שניות האחסון עם תמחור האחסון ללא שרת EMR לשנייה (רק אם דרישות האחסון מעבר ל-20 GB לעובד). על ידי חיבור עלויות אלה עבור vCPU, זיכרון ואחסון, אתה יכול להשוות את העלות של הפעלת אותם יישומים ב-EMR Serverless.

בגישה זו, אנו מניחים שביצועי האפליקציה שווים. במילים אחרות, הגודל (vCPU, זיכרון) ומשך זמן הריצה עבור כל מיכל YARN באשכול ה-EMR זהים למספר, הגודל ומשך זמן הריצה של העובדים הדרושים להפעלת האפליקציה ב-EMR Serverless. אנו מניחים הנחה זו מכיוון שזמן הריצה של EMR ​​עבור מהדורת EMR זהה ללא קשר אם האפליקציה מופעלת על אשכול EMR ​​או על EMR ​​Serverless.

דוגמה

בואו נעשה השוואת עלויות לדוגמה של Amazon EMR ב-EC2 ו-EMR Serverless באמצעות אשכול יחיד.

הרצנו אפליקציית Spark על אשכול EMR ​​עם חמישה צמתים (אחד ראשי, שני ליבות ושתי משימות ואספנו מדדי YARN באמצעות YARN CLI. הקוד הבא מציג את הקצאת המשאבים המצטברת שלנו.

הקצאת משאבים מצרפית

חישבנו את אמזון EMR על עלויות EC2 באופן הבא:

  • מופעי אשכול
    • ראשי: m5.2xlarge:1
    • ליבה: r5.2xlarge:2
    • משימה: r5.2xlarge:2
  • זמן ריצה של אשכול = 18 דקות
  • עלות דוגמה לפי דרישה
    • m5.2xlarge (8 vCPU, זיכרון של 32 GiB)
      • אמזון EC2: $0.384 לשעה
      • אמזון EMR מצטבר: $0.096 לשעה
    • r5.2xlarge (8 vCPU, 64 GiB זיכרון)
      • אמזון EC2: $0.504 לשעה
      • אמזון EMR מצטבר: $0.126 לשעה

להלן EMR על חישוב עלות EC2:

  • עלות אמזון EMR = ((צומת ראשי אחד x $1/שעה) + (0.096 צמתי ליבה x $2/שעה) + (0.126 צמתי משימות x $2/שעה)) = $0.126
  • עלות Amazon EC2 = ((1 ראשי x $0.384 לשעה) + (2 צמתים ליבה x $0.504/שעה) + (2 צמתי משימות x $0.504/שעה)) = $2.40
  • Amazon EMR על אשכול EC2 עלות/שעה = $0.6 + $2.40 = $3/שעה * 8/60 שעות (זמן ריצה בשעות)

העלות הכוללת של Amazon EMR ב- Amazon EC2 היא $0.40 לשעה.

כדי לחשב עלות EMR ללא שרת, צברו את ה-vCore-seconds ו-MB-שניות הזיכרון עבור אותו יישום שהרצת בעבר באשכול EMR. לאחר מכן תכפיל את המספרים האלה עם ה-vCPU ללא שרת EMR ומחיר הזיכרון. תוצאות החישוב שלנו הן כדלקמן:

  • Total_vcore_seconds = 5737
  • Total_Memory_mb_seconds = 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
  • עלות זיכרון כוללת GB = 1.59 MB * 0.0057785 זיכרון לשעה * 8/60 = $0.00122

בדוגמה זו, העלות הכוללת של EMR ​​Serverless היא $0.231, הפחתה של 42%.

סיכום

Amazon EMR Serverless היא אפשרות ללא שרת שהושקה לאחרונה באמזון EMR המקלה על הפעלת מסגרות קוד פתוח כגון Spark ו-Hive מבלי להגדיר, לנהל ולהרחיב אשכולות. לקוחות שכבר משתמשים באשכולות EMR רוצים להבין כיצד הם יכולים להעריך את העלות של הפעלת יישומי EMR שלהם באמצעות EMR Serverless. הצגנו גישה שתוכל להשתמש בה כדי לבצע ניתוח עלויות המבוסס על ניתוח מדדי יישומים מאשכולות ה-EMR שלך.

אנו מקווים שתנסה זאת, ותשתף אותנו במשוב שלך!


על המחברים

ראדהיקה רביאלה הוא מנהל המוצר הראשי ב-AWS.

מתיו ליאם הוא מנהל ארכיטקטורת פתרונות בכיר ב-AWS.

בול זמן:

עוד מ AWS Big Data