ככל שפלטפורמת עיבוד הווידאו שלנו גדלה, כך גם גדלה המורכבות בטיפול בעומסי עבודה עתירי חישוב. משימות כמו נורמליזציית וידאו, חילוץ אודיו, תמלול, יצירת שכבות-על (overlay generation) ורינדור יכולות לצרוך משאבי CPU וזיכרון משמעותיים, במיוחד כאשר פרויקטים מרובים מעובדים בו זמנית.
הפעלת עומסי עבודה אלה ישירות בתוך תשתית היישומים הראשית עלולה להוביל להתנגשות במשאבים, לזמני עיבוד איטיים יותר ולמדרגיות מוגבלת. ככל שהביקוש גדל, נזקקנו לדרך גמישה ויעילה יותר לנהל עומסי עבודה של עיבוד מבלי להשפיע על הביצועים של שירותי היישומים המרכזיים שלנו.
כדי להתמודד עם אתגרים אלה, אימצנו את AWS Elastic Container Service (ECS) כפלטפורמת תזמור הקונטיינרים שלנו.
עם AWS ECS, אנו יכולים לנהל ביעילות פעילויות עיבוד רקע, להרחיב משאבים בהתאם לדרישה, ולבצע עומסי עבודה של עיבוד בקונטיינרים נפרדים. זה מאפשר לפלטפורמה שלנו לטפל בעומסי עבודה משתנים תוך שמירה על ביצועים, אמינות ויעילות תפעולית.
בבלוג זה, נבחן מהו AWS ECS, מדוע בחרנו בו, וכיצד הוא עוזר לנו להרחיב את תשתית עיבוד הווידאו שלנו.
האתגר שבמדרגיות עיבוד וידאו
עומסי עבודה של עיבוד וידאו הם מטבעם עתירי משאבים ומשתנים מאוד.
פרויקט יחיד עשוי לכלול:
- נורמליזציית וידאו
- חילוץ אודיו
- תמלול דיבור לטקסט
- יצירת שכבות-על (Overlay generation)
- רינדור מספר וריאציות פלט
- עיבוד נכסי מדיה ברזולוציה גבוהה
ככל שמספר הפרויקטים עולה, דרישות התשתית יכולות לגדול במהירות.
נזקקנו לפתרון שיכול:
- להרחיב משאבי עיבוד בעת הצורך
- לנהל מספר משימות בו זמנית
- לבודד משימות עתירות משאבים משירותים הפונים למשתמש
- לשפר את האמינות בזמן שיא ביקוש
- לייעל את ניצול התשתית
- לצמצם את התקורה התפעולית
גישות מסורתיות הנשענות אך ורק על שרתים פועלים לאורך זמן עלולות להפוך ללא יעילות ככל שעומסי העבודה גדלים. רצינו מערכת שיכולה להקצות משאבים באופן דינמי בהתבסס על הביקוש בפועל.
מה זה AWS ECS?
AWS Elastic Container Service (ECS) הוא שירות תזמור קונטיינרים מנוהל במלואו, המאפשר לארגונים להריץ ולנהל יישומים מבוססי קונטיינרים בקנה מידה רחב.
ECS עוזר להפוך לאוטומטי את:
- פריסת קונטיינרים
- תזמון משימות
- הקצאת משאבים
- ניהול שירותים
- הרחבת עומסי עבודה
- ניטור תקינות
במקום לנהל שרתים ותהליכי יישומים ידנית, ECS מספקת פלטפורמה מרכזית להרצת עומסי עבודה מבוססי קונטיינרים ביעילות.
מדוע בחרנו ב-AWS ECS
מדרגיות לפי דרישה
אחד היתרונות הגדולים ביותר של ECS הוא יכולתו להרחיב עומסי עבודה בהתבסס על הביקוש.
דרישות עיבוד הווידאו יכולות להשתנות באופן משמעותי לאורך היום. תקופות מסוימות עשויות לכלול רק כמה עבודות עיבוד, בעוד שאחרות עשויות לדרוש טיפול בקבוצות גדולות של משימות רינדור ועיבוד מדיה בו זמנית.
ECS מאפשר לנו להפעיל באופן דינמי משימות עיבוד נוספות כאשר הביקוש גדל ולהקטין את קנה המידה כאשר עומסי העבודה יורדים.
גמישות זו עוזרת לנו לשמור על ביצועים מבלי להקצות משאבים מיותרים באופן קבוע.
בידוד עומסי עבודה
משימות הכוללות עיבוד וידאו דורשות לעיתים קרובות כמות גדולה של CPU וזיכרון.
על ידי הרצת עומסי עבודה בקונטיינרים נפרדים, ECS מאפשרת לנו לבודד פעולות עיבוד משירותי היישומים המרכזיים שלנו.
הפרדה זו עוזרת:
- לשפר את יציבות המערכת
- למנוע תחרות על משאבים
- לפשט פתרון בעיות
- להגביר את עמידות התקלות
אם משימת עיבוד נתקלת בבעיה, היא אינה משפיעה ישירות על שאר הפלטפורמה.
ניצול משאבים יעיל
לא כל עומסי העבודה של העיבוד דורשים את אותה כמות כוח חישוב.
חלק מהפעולות קלות, בעוד שאחרות כרוכות ברינדור ועיבוד מדיה אינטנסיביים.
ECS מאפשרת לנו להקצות משאבים בהתבסס על דרישות עומס העבודה, ובכך מבטיחה שמשאבי התשתית ינוצלו ביעילות ובתפוקה מרבית.
זה עוזר לייעל הן את הביצועים והן את העלויות התפעוליות.
מורכבות תפעולית מופחתת
ניהול מספר רב של שירותי עיבוד ידנית עלול להפוך לקשה במהירות.
ECS מפשטת את ניהול התשתית על ידי טיפול ב:
- תזמון קונטיינרים
- ביצוע משימות
- בדיקות תקינות
- ניהול משאבים
- שחזור שירותים
זה משחרר את הצוות הטכני שלנו להתרכז בשיפור הפלטפורמה במקום בתחזוקת התשתית.
אינטגרציה חלקה עם AWS
ECS משתלב באופן טבעי עם שירותי AWS אחרים שהם חלק מהתשתית שלנו.
זה מאפשר פריסה, ניטור, אבטחה ותהליכי עבודה תפעוליים יעילים תוך שמירה על ארכיטקטורה עקבית מבוססת ענן (cloud-native).
כיצד אנו משתמשים ב-AWS ECS
AWS ECS ממלא תפקיד קריטי בצינור עיבוד הווידאו שלנו.
במקום להריץ את כל פעולות העיבוד ישירות על שרתי היישומים הראשיים שלנו, אנו מבצעים עומסי עבודה עתירי משאבים באמצעות משימות עיבוד מבוססות קונטיינרים המנוהלות על ידי ECS.
נורמליזציית וידאו
סרטונים שהועלו דורשים לעיתים קרובות הכנה לפני שהם יכולים להיכנס לתהליכי עבודה בהמשך.
ECS עוזרת לנו לעבד משימות נורמליזציה אלו באופן עצמאי, ומבטיחה פורמטים עקביים של קלט לפעולות הבאות.
חילוץ אודיו ותמלול
חילוץ אודיו ותמלול יכולים להיות עתירי חישוב, במיוחד כאשר מעבדים מספר סרטונים בו זמנית.
הרצת משימות אלו בתוך ECS מאפשרת לנו להרחיב את קיבולת העיבוד ככל שהביקוש גדל.
עומסי עבודה של רינדור
רינדור וידאו הוא אחד השלבים עתירי המשאבים ביותר בתהליך העבודה שלנו.
על ידי מינוף ECS, אנו יכולים לבצע עבודות רינדור באופן עצמאי ולהקצות משאבים במיוחד עבור משימות רינדור.
זה עוזר לשמור על ביצועים עקביים גם בתקופות של ביקוש גבוה.
עיבוד רקע
פעולות רבות מתרחשות באופן אסינכרוני מאחורי הקלעים.
דוגמאות כוללות:
- הכנת מדיה
- עיבוד נכסים
- ביצוע תהליכי עבודה
- פעולות לאחר עיבוד
ECS מספקת סביבה אמינה להרצת עומסי עבודה אלה ברקע ובקנה מידה רחב.
תהליך העבודה המקונטיינר שלנו לעיבוד
גרסה פשוטה של תהליך העבודה שלנו לעיבוד נראית כך:
שלב 1: הגשת פרויקט
משתמש מגיש פרויקט המכיל נכסי וידאו ודרישות עיבוד.
שלב 2: יצירת משימה
הפלטפורמה מזהה את פעולות העיבוד הנדרשות ומייצרת את עומסי העבודה המתאימים.
שלב 3: ביצוע משימת ECS
ECS משיקה משימות עיבוד מבוססות קונטיינרים עם המשאבים הנדרשים לכל פעולה.
שלב 4: עיבוד ורינדור
המשימות מבצעות נורמליזציה, תמלול, רינדור ופעילויות עיבוד אחרות.
שלב 5: השלמה ומסירה
לאחר סיום העיבוד, התוצרים נשמרים וזמינים למשתמשים.
תהליך עבודה זה מאפשר לנו לעבד עומסי עבודה ביעילות תוך שמירה על מדרגיות ואמינות.
יתרונות למשתמשים שלנו
החלטות התשתית שאנו מקבלים משפיעות ישירות על חווית המשתמש.
על ידי מינוף AWS ECS, אנו יכולים לספק:
עיבוד מהיר יותר
הקצאת משאבים דינמית מסייעת בהפחתת זמני עיבוד ורינדור.
מדרגיות משופרת
הפלטפורמה יכולה להתמודד עם דרישה הולכת וגוברת ללא שינויים ארכיטקטוניים משמעותיים.
ביצועים עקביים
בידוד עומסי עבודה עוזר לשמור על היענות הפלטפורמה גם בזמן פעילות שיא.
אמינות משופרת
עומסי עבודה מבוססי קונטיינרים משפרים את עמידות התקלות ומפחיתים את ההשפעה של כשלי עיבוד.
יעילות משאבים טובה יותר
משאבים מוקצים בהתבסס על דרישות עומס העבודה, מה שעוזר לייעל ביצועים ועלויות.
מבט קדימה
ככל שהפלטפורמה שלנו ממשיכה להתפתח, דרישות העיבוד ימשיכו לגדול. תמיכה בפרויקטים גדולים יותר, בתהליכי עבודה נוספים ובפעילות משתמשים הולכת וגוברת דורשת תשתית שיכולה להתמודד עם קנה מידה ביעילות.
AWS ECS מספקת את הגמישות ויכולות התזמור הדרושות לתמיכה בדרישות מתפתחות אלו. על ידי המשך מינוף עומסי עבודה מבוססי קונטיינרים, אנו יכולים להסתגל לדרישות משתנות תוך שמירה על ביצועים, אמינות ויעילות תפעולית.
מסקנה
הגדלת קנה המידה של עומסי עבודה בעיבוד וידאו דורשת תשתית שיכולה להתמודד ביעילות עם פעולות עתירות משאבים תוך שמירה על גמישות ואמינות.
AWS ECS מאפשרת לנו להריץ ולנהל עומסי עבודה מבוססי קונטיינרים בקנה מידה רחב, ומספקת את התזמור, המדרגיות ובידוד עומסי העבודה הדרושים לתמיכה בצינורות עיבוד וידאו מודרניים.
על ידי מינוף ECS כחלק מרכזי בארכיטקטורה שלנו, אנו יכולים לעבד עומסי עבודה ביעילות רבה יותר, לשפר את אמינות המערכת ולהמשיך לספק חווית ביצועים גבוהה למשתמשים שלנו ככל שהפלטפורמה שלנו גדלה.

