✕ סגור 
צור קשר
תודה על ההתעניינות .

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form

הרצאה בעברית על כח המחשוב של AWS במסגרת AWS Summit Tel Aviv 2017

AWS Blog
|
בינונית
|
Sep 7, 2017
alt="facebook"alt="linkedin"להרשמה לניוזלטר

הכירו את חברת ironSource, הנחשבת לחברה מובילה בכל הקשר למונטיזציה באפליקציות ולפלטפורמות פרסום בווידאו, וחולשת על יותר ממיליארד וחצי שחקנים מרחבי העולם, הצופים בפרסומות על גבי תשתית החברה. החברה עוזרת למפתחים לקחת את האפליקציות שלהם לשלב הבא, זאת גם בזכות רשת הוידאו העצומה שלה -  והמספרים מדברים בעד עצמם, עם יותר מ-80,000 אפליקציות המשתמשות בטכנולוגיות של החברה בכדי לפתח את העסק שלהן.


כפי שניתן להבין, החברה דורשת יכולות סקיילינג גבוהות בכל הנוגע לאפשרויות מונטיזציה שונות, בין אם באפליקציות, בסרטונים ו/או במדיה, מובילים לכך שמיליוני משתמשי קצה יוצרים כמויות עצומות של מידע בזמן אמת בכל רגע נתון, מה שמצריך יכולות על של איסוף, אחסון והכנה של מידע שישמש לאינספור תרחישי שימוש, כל זאת תוך צמצום התקורה של התשתית וההנדסה המעורבות בעניין.


במאמר זה, נדון בנושאים הבאים:


• למה חברת ironSource בחרה בארכיטקטורת מידע של Data Lake המבוססת על Amazon S3
• איך ה-Data Lake נבנה באמצעות Upsolver
• איך ניתן ליצור פלט ולשלוח אותו לשירותי אנליזה שונים כמו Amazon Athena, Amazon ES ו-Tableau.
• היתרונות שנוצרו ממהלך זה


היתרונות של ארכיטקטורת Data Lake

לאחר עבודה של שנים בגישה המתבססת על מסדי נתונים, הצמיחה הגוברת בכמות הנתונים של ironSource, גרמה למערכת הקודמת שלהם להפוך ללא רלוונטית בכל הנוגע לעלויות ואחזקה. כדי להתגבר על הבעיה, הם אימצו ארכיטקטורה של Data Lake, המאחסנת נתוני אירועים גולמיים באחסון האובייקטים, ובכך הם יצרו ערוצי פלט בהתאמה אישית, המפעילים אפליקציות והליכי אנליזה מרובים.


למה ironSource בחרה ב-Data Lake של AWS?

פתרון זה היה רלוונטי לחברה ממספר סיבות:


סקיילינג: ironSource מעבדת יותר מ-500,000 אירועים בשניה ויותר מ-20 מיליארד כאלו ביום. היכולת לאחסן כמות כמעט אינסופית של מידע ב-S3 ללא צורך בעיבוד קודם, היא חיונית.
גמישות: ironSource משתמש בנתונים כדי לתמוך במספר הליכי עסקים במקביל, מפני שהם צריכים להזין את אותם הנתונים בכדי להפעיל תרחישי שימוש שונים. על החברה היה לעבור את המגבלות הקשוחות שנוצרו בגישת מסד הנתונים, אך במקום זאת, הם אחסנו את כל המידע המקורי ב-S3, ויצרו פלטי אד-הוק וטרנספורמציות בהתאם לצורך.
שחזור מהיר: בגלל שכל המידע ההיסטורי נמצא על S3, אחזור כתוצאה מכשל קל יותר, וכל טעות שעלולה להיווצר בתהליך כנראה לא תשפיע על סביבות הייצור.
למה ironSource בחרו ב-Upsolver
פלטפורמת הזרמת המידע של Upsolver מבצעת אוטומציה לתהליכי הקוד הגוברים המשויכים לבניה וניהול של Data Lake בענן. Upsolver מאפשרת ל-ironSource לתמוך במגוון רחב של צרכני מידע, ובכך היא מצמצמת את הזמן בו מהנדסי ה-DevOps מבזבזים על "שרברבות מידע", זאת על ידי יצירה של כלים מבוססי GUI בשירות עצמי להכנסת נתונים, הכנה שלהם לצרכי אנליזה ויצירת טבלאות מסודרות עבור שירותי שאילתות שונים.


היתרונות המרכזיים כוללים:


תוצר מספק עבור צרכני נתונים: בתור פלטפורמה לשירות עצמי, Upsolver מאפשרת למפתחי BI, Ops וצוותי תוכנה להפוך נתונים מוזרמים לנתונים בצורת טבלה, מבלי לכתוב קוד.
ביצועים משופרים: בגלל ש-Upsolver מאחסנת קבצים בצורה מיטבית בפורמט פרקט ב-S3, ironSource מרוויחה ביצועים גבוהים של שאילתות מבלי לבצע התאמת ביצועים ידנית.
סקיילינג אלסטי: ironSource נמצאת בצמיחת על, ולכן היא צריכה סקיילינג אלסטי בכדי להתמודד עם הגידול בווליום של מידע שנכנס ופיקים במהלך השבוע, מה שמתאפשר בזכות עיבוד של נתונים מ-S3 ובידוד בין הקבוצות השונות המשתמשות בנתונים.
פרטיות: בגלל שה-VPC של ironSource נגיש רק ל-Upsolver ללא גישה חיצונית, רמת הסיכון למידע הרגיש פוחתת משמעותית.
בהמשך נראה איך ironSource משתמשת ב-Upsolver בכדי לבנות, לנהל ולנצח על ה-Data Lake שמצריך שימוש מינימלי בקוד ואחזקה.


ארכיטקטורת הפתרון

הדיאגרמה הבאה מציגה את הארכיטקטורה בה ironSource משתמשת:

Architecture showing Apache Kafka with an arrow pointing left to Upsolver. Upsolver contains stream ingestion, schemaless data management and stateful data processing, it has two arrows coming out the bottom, each going to S3, one for raw data, the other for parquet files. Upsolver box has an arrow pointing right to a Query Engines box, which contains Athena, Redshift and Elastic. This box has a an arrow pointing right to Use cases, which contains product analytics, campaign performance and customer dashboards.

הזרמת נתונים מ-Kafka אל Upsolver ואחסון ב-S3

Apache Kafka מזרים מידע מהמובייל SDK של ironSource בקצב של 500,000 אירועים בשניה. Upsolver שולפת נתונים מ-Kafka, ומאחסנת אותם ב-S3 הנמצא בארכיטקטורת Data Lake. בנוסף, נשמר עותק של האבנט הגולמי בעוד ישנה הקפדה שבה כל אבנט נכתב בדיוק פעם אחת, ואותו המידע נשמר כפורמט פרקט המותאם לשימוש.


בניית הזרמת הקלט ב-Upsolver

על ידי שימוש ב-GUI של Upsolver, ironSource מתחברת ישירות ל-Kafka, וכותבת אותם ל-S3 בצורה דייקנית, כפי שניתן לראות בצילום המסך הבא:

לאחר שהמידע מאוחסן ב-S3, ironSource יכול להמשיך למטב את הנתונים באמצעות מגוון רחב של מסדי נתונים וכלי אנליזה, והנה כמה מהכלים המרכזיים:

Image of the Upsolver UI showing the "Data Sources" tab is open to the "Create a Kafka Data Source" page with "Mobile SDK Cluster" highlighted under the "Compute Cluster" section.


פלט ל-Athena

כדי להבין בעיות הקשורות לייצור, מפתחים וצוותי מותר צריכים גישה לנתונים. צוותים אלו יכולים לעבוד ישירות עם הנתונים ולענות על השאלות של עצמם, על ידי שימוש ב-Upsolver ו-Athena.


Upsolver מפשטת ומבצעת אוטומציה לתהליך של הכנת נתונים לשימוש בAthena, והתהליך כולל דחיסה, כיווץ, יצירת מחיצות, יצירה וניהול של טבלאות ב-AWS Glue Data Catalog ועוד. צוותי ה-DevOps של ironSource חוסכים מאות שעות בכל הנוגע להנדסת צינורות מידע, וה-GUI של Upsolver יוצר כל טבלה פעם אחת, ומכאן, צרכני הנתונים מקבלים את סיפוקם. בכדי להבטיח שהשאילתות בAthena ירוצו מהר ובעלות מינימלית, Upsolver גם דואגת לכך שיהיו את הפרקטיקות הטובות ביותר בכל הנוגע להגדרות ביצועים, כאשר הנתונים מוזנים ומאוחסנים ב-S3. אם אתם רוצים מידע נוסף בנושא, הסתכלו במאמר הבא.


ארכיטקטורת ה-Serveless של Athena תומכת בגישה עצמאית זו, מה שאומר שאין שום תשתית לנהל, והאנליסטים לא צריכים את ה-DevOps כדי להשתמש ב-Amazon Redshift או בקלאסטרים של שאילתות עבור כל שאלה חדשה. במקום זאת, הם יכולים למצוא את המידע שהם צריכים ולהשיג את התשובות בעצמם.


שליחת טבלאות לAthena ב-Upsolver

ב-Upsolver, אתם יכולים ליצור טבלאות עם סכמה משויכת באמצעות SQL או ה-GUI המובנה. אתם יכולים להעביר את הטבלאות ל-Athena באמצעות ה-AWS Glue Data Catalog. Upsolver מאחסנת בפורמט פרקט ב-S3 ויוצר את הטבלה המתאימה ואת מידע המחיצה בקטלוג, באמצעות הצהרות DDL של Create & Alter. אתם יכולים לערוך את הטבלאות באמצעות פלט Upsolver בכדי להוסיף, להסיר או לשנות עמודות. Upsolver מבצעת אוטומציה לתהליך של יצירת טבלאות נתונים מחדש ב-S3, ומשנה את המטאדאטא בקטלוג.


יצירת הטבלה

Image of the Upsolver UI showing the "Outputs" tab is open to the "Mobile SDK Data" page.



שליחת הטבלה ל-Amazon Athena

Image of the Upsolver UI showing the "Run Parameters" dialog box is open, having arrived there from the "Mobile SDK Data" page noted in the previous image.


עריכת אופציית הטבלה עבור פלט

Image on the "Mobile SDK Data" page showing the drop down menu from the 3 dots in the upper left with "Edit" highlighted.


עריכה של טבלה קיימת בפלט ה-Upsolver

Image showing "Alter Existing Table" with a radio button selected, along with a blurb that states "The changes will affect the existing rable from the time specific. Any data already written after that time with be deleted. The previous output will stop once it finishes processing all the data up to the specified time." Below that is a box showing an example data and time. The other option with a radio button not selected is "Create New Table" with the blurb "A new table will be created. The existing table and output will not be affected in any way by this operation. The buttons at the bottom are "Next" and "Cancel," with "Next" selected.


פלט לפלטפורמות BI

אנליסטים של BI ב-ironSource משתמשים ב-Tableau עבור שאילתות וויזואליזציה של הנתונים באמצעות SQL. יחד עם זאת, ביצוע ניתוח כזה על הזרמת נתונים יכולה לדרוש ETL רב והכנת נתונים, מה שיכול להגביל את הפוקוס של אפשרויות האנליזה, וליצור צווארי בקבוק בכל הקשור לדיווחים.


ה-Data Lake בענן של ironSource, מאפשר לצוותי BI לעבוד עם ביג דאטא ב-Tabelau. הם משתמשים ב-Upsolver בכדי להעשיר ולסנן את הנתונים ולכתוב אותם לRedShift כדי לבנות לוחות מחוונים לדו"חות, לשלוח טבלאות לAthena עבור שאילתות אד-הוק של אנליזה. Tabelau מתקשר בקלות גם עם RedShift וגם עם Athena, כך שהאנליסטים יכולים לבצע שאילתה לנתונים באמצעות SQL רגיל וכלים פופולאריים, במקום להסתמך על תהליכי ETL ידניים.


הפחתת ההזרמה עבור Amazon ES

צוותי המהנדסים ב-ironSource משתמשים ב-Amazon ES בכדי לפקח ולנתח לוגים של אפליקציות. יחד עם זאת, כמו בכל מסד נתונים, אחסון של נתונים גולמיים ב-Amazon ES הוא יקר, ויכול להוביל לבעיות ייצור.
בגלל שחלק גדול מהלוגים הנ"ל הם שכפולים, Upsolver מבטלת את שכפול הדאטא. כך, נחסכות עלויות של Amazon ES, ונוצר שיפור בביצועים. Upsolver חותכת ב-70% את כמות הנתונים המאוחסנת בפלטפורמה, זאת באמצעות צבירה של תיעודים זהים. כך, למרות שיש כמות גדולה של לוגים, המערכת עובדת בצורה טובה וחסכונית יותר.


בכדי לעשות זאת, Upsolver מוסיפים שדה מחושב להזרמת האבנט, שמצידו מצביע האם לוג מסוים הוא כפול. אם זהו המצב, הוא מסנן את הלוג מחוץ לתזרים שנשלח ל-Amazon ES.

יצירת השדה המחושב

Image showing the Upsolver UI with the "Outputs" tab selected, showing the "Create Calcuated Field" page.


סינון באמצעות השדה המחושב

Upsolver UI showing the "Outputs" tab selected, on the "Create Filter" page.


לסיכום

חלק ניכר מאסכולת הפיתוח של ironSource מסתכמת בשירות עצמי. כאשר היא שינתה את תשתית המידע שלה, החברה פעלה ליצור סביבה של שירות עצמי עבור צוותי פיתוח ו-BI בכדי לעבוד עם נתונים מבלי להסתמך יותר מדי על DevOps ומהנדסי נתונים. כעת, מהנדסי הנתונים יכולים להתפקס על פיצ'רים יותר מאשר בניה ותחזוק הקשורים לתהליכי ETL מבוססי קוד.


ironSource הצליחה לבנות ארכיטקטורה ורסטילית ואגילית עם Upsolver וכלי ה-Data Lake של AWS. הפתרונות הנ"ל מאפשרים לצרכני נתונים לעבוד בצורה עצמאית עם הנתונים, בעוד הנתונים נשארים "רעננים", מה שעוזר לתגבר ולתפעל את תהליכי נקיטת ההחלטות והדיווח החיצוני בחברה.


כמה מהתוצאות במספרים:


אלפי שעות כוח אדם הנדסי נחסכו: ה-DevOps ומהנדסי הנתונים של ironSource חוסכים אלפי שעות שהיו יכולות להתבזבז על תשתית, זאת בזכות החלפת תהליכים המבוססים על כתיבת קוד ידנית עם כלים לשירות עצמי ותשתית מנוהלת.
הפחתת עלויות: Upsolver הצליחה לצמצם את עלויות התשתית של ironSource בצורה משמעותית.
15 דקות של דיליי מ-Kafka למשתמש הקצה: צרכני הנתונים יכולים להגיב ולנקוט בפעולה בזכות נתונים שמגיעים כמעט בזמן אמת.
גידול של 900% בסקיילינג: בזכות חצי מיליון אירועים המגיעים בכל שניה, ו-3.5 מיליון אירועים המיוצאים בכל שניה.


"חשוב שכל פרויקט הנדסי ייצר ערך מוחשי וברור עבור העסק" אומר סבה פלדמן, סמנכ"ל ה-R&D באיירוןסייד. "אנחנו רוצים למזער את הזמן בו צוותי המהנדסים וה-DevOps שלנו מבזבזים על תשתית ולמקסם את הזמן בו הם מפתחים פיצ'רים חדשים. Upsolver חסכה לנו אלפי שעות עבודה הנדסית והורידה משמעותית את עלויות האחזקה, מה שמאפשר לנו להשקיע את המשאבים הנ"ל בחיזוק הצמיחה הגוברת שלנו על פני צינורות מידע."

מאת: מערכת IsraelClouds


רוצים להתעדכן בתכנים נוספים בנושאי ארכיטקטורת ענן? הצטרפו לפורום המקצועי של IsraelClouds בתחום > להרשמה

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
בואו נעבוד ביחד
support@israelclouds.com
צרו קשר