רשת מקודדים חכמה: כך Eitanium הופכת קידוד וידאו לתשתית

רשת מקודדים כחלק מתשתית Eitanium: להפוך וידאו ממשאב כבד למערכת הפצה חכמה, יעילה וגמישה

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

כאן נכנסת לתמונה רשת המקודדים של Eitanium.

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

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


הבעיה: וידאו צורך כוח מחשוב, והרבה ממנו

קידוד וידאו אינו דומה לאחסון קובץ או להצגת דף אינטרנט. כאשר קובץ וידאו נכנס למערכת, המעבד עשוי לבצע במקביל המרה של codecs, יצירת מספר רזולוציות, התאמת bitrate, הפקת גרסאות WebM או MP4, עיבוד אודיו, יצירת thumbnails, בניית HLS ולעיתים פעולות נוספות.

קובץ אחד יכול להיות משימה משמעותית.

עשרה קבצים בו-זמנית כבר יכולים להפוך לבעיה תשתיתית.

מאות משתמשים שמעלים תוכן הם כבר סיפור אחר לחלוטין.

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

רשת מקודדים משנה את המשוואה. במקום לשאול:

"כמה חזק שרת הקידוד שלי?"

אפשר להתחיל לשאול:

"כמה כוח קידוד יש לרשת שלי?"

וזה הבדל ארכיטקטוני מהותי.


Eitanium Encoder Network: שכבת תזמור בין העבודה לבין כוח העיבוד

בתפיסה של Eitanium, המקודד אינו חייב להיות רכיב קשיח הצמוד לשרת הווידאו הראשי.

רשת המקודדים מאפשרת להחזיק מספר nodes — מקודדים עצמאיים — ולנהל ביניהם את העבודה.

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

כך נוצר מעבר ממודל של:

Upload → Encoder אחד → המתנה

למודל של:

Upload → שכבת תזמור → מקודד זמין ומתאים → עיבוד → החזרה למערכת

המטרה אינה רק לקודד מהר יותר. המטרה היא להשתמש טוב יותר במשאבים שכבר קיימים.


אפקטיביות: העבודה מגיעה למקום שבו ניתן לבצע אותה

אחד היתרונות הגדולים של רשת מבוזרת הוא האפשרות להפריד בין "המערכת שמקבלת את העבודה" לבין "המכונה שמבצעת אותה".

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

ברשת מקודדים, אפשר להעביר את העיבוד למכונות שהוקצו לכך.

שרת production יכול להמשיך לשרת משתמשים, API, ניהול תוכן ופעולות יישום, בזמן שמכונות אחרות מבצעות את העבודה הכבדה.

מבחינת בעל מערכת, זו אינה רק תוספת ביצועים. זו הפרדת אחריות תשתיתית.

וככל שהמערכת גדלה, ההפרדה הזאת נעשית חשובה יותר.


יעילות: לא כל משימה צריכה להגיע לאותו שרת

שרת חזק מאוד אינו בהכרח הפתרון היעיל ביותר. לעיתים שלושה או ארבעה שרתים בינוניים יכולים לספק יתרון תפעולי גדול יותר ממכונה בודדת חזקה במיוחד.

רשת מאפשרת לבנות pool של כוח עיבוד.

אם מקודד אחד עסוק, אפשר להשתמש באחר.

אם מקודד מסוים מסוגל לבצע יותר משימות במקביל, ניתן לנצל זאת.

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

זו בדיוק הנקודה שבה "עוד שרת" הופך ל־תשתית.

הערך אינו במספר המכונות. הערך הוא ביכולת להתייחס אליהן כמערכת אחת.


Scale-out במקום Scale-up

בעולם התשתיות מקובל להבחין בין שתי דרכי צמיחה.

Scale-up פירושו להחליף את המכונה במכונה חזקה יותר: יותר CPU, יותר RAM, יותר דיסק.

Scale-out פירושו להוסיף nodes.

רשת מקודדים בנויה מטבעה לכיוון השני.

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

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

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


זמינות ושרידות: מקודד יחיד הוא נקודת תלות

כל מי שהפעיל מערכת production מכיר את הבעיה של רכיב יחיד שעליו נשענת שרשרת שלמה.

אם יש רק Encoder אחד והוא אינו זמין, כל pipeline הקידוד עלול להיעצר.

רשת אינה מבטיחה כשלעצמה אפס תקלות, אבל היא מאפשרת ארכיטקטורה שבה כשל של node אינו חייב להיות כשל של השירות כולו.

אם קיימים מספר מקודדים, ניתן לזהות איזה מהם online, מי מחזיק queue, מי זמין ומי אינו מגיב.

מכאן ניתן לבנות מנגנוני בחירה, fallback, maintenance ואפילו חלוקה גיאוגרפית.

זו נקודה חשובה במיוחד לארגון שאינו קונה "שרת" אלא קונה יכולת שירות.

מבחינת משתמש הקצה, הוא אינו מעוניין לדעת איזה CPU ביצע את ה־transcode. הוא רוצה שהקובץ שלו יעובד.

רשת טובה מסתירה ממנו את המורכבות הזאת.


היתרון הכלכלי: לנצל תשתית במקום להשאיר אותה עומדת

משאבי compute עולים כסף.

שרת שאינו עובד רוב היום הוא הוצאה בלתי מנוצלת. שרת שמגיע ל־100% בזמן עומס הוא צוואר בקבוק.

רשת מקודדים מאפשרת לבנות מודל מאוזן יותר. ניתן לשלב חומרה קיימת, להוסיף משאבים כאשר נדרש, להפריד בין production לבין encoding, ואפילו לבנות שכבות שונות של קיבולת.

ללקוח שכבר מחזיק שרתים במספר אתרים או data centers, הדבר יכול להיות מעניין במיוחד: במקום שכל שרת יהיה "אי", חלק מהמשאבים יכולים להפוך ל־pool משותף לעיבוד וידאו.

עבור ספק שירות, הפוטנציאל רחב עוד יותר. אותה שכבת קידוד יכולה לשרת מספר מוצרים, מספר אתרים או מספר לקוחות, בהתאם לארכיטקטורה שנבחרה.


לא רק ביצועים — גם שליטה

אחד הדברים החשובים שנוטים להיעלם בשיח על scaling הוא visibility.

מערכת מבוזרת שאינה יודעת מה קורה בכל node אינה באמת רשת; היא אוסף שרתים.

לכן רשת המקודדים של Eitanium אינה מסתפקת בעצם החיבור בין המקודדים. היא עוסקת גם בנתוני מצב כגון Queue Size, מספר משימות Concurrent, מגבלת גודל קובץ וסטטוס זמינות.

המידע הזה מאפשר לבנות שכבת recommendation ובחירה של Encoder.

עבור מפעיל, זה הופך את התשתית למשהו שניתן להבין ולנהל.

במקום לשאול "למה זה איטי?", ניתן לראות שהמקודד הראשון מחזיק תור, השני פנוי, והשלישי מבצע עבודה.

המטרה היא להפוך כוח מחשוב ליכולת שניתנת למדידה.


כאשר הרשת היא חלק מ־Eitanium, הערך גדל

רשת המקודדים מעניינת בפני עצמה, אבל הערך האמיתי שלה מתבהר כאשר מסתכלים עליה כחלק מהמכלול הרחב של Eitanium.

Eitanium אינה בנויה כרעיון של "Encoder כשירות נפרד". סביב שכבת העיבוד קיימת פלטפורמת וידאו שלמה: העלאה, ניהול תוכן, צפייה, streaming, live, storage, publishing, APIs ורכיבים נוספים.

לכן אותו מנגנון קידוד יכול לשמש לא רק דף Upload, אלא להיות חלק מ־workflow מלא:

יוצר מעלה חומר → המערכת מקבלת אותו → רשת המקודדים מעבדת אותו → התוצאה חוזרת לפלטפורמה → הקובץ הופך לתוכן זמין לצפייה, הפצה או שילוב במערכות אחרות.

מנקודת מבט עסקית, המשמעות היא שהלקוח אינו חייב לבחור בין "מוצר סגור" לבין "לבנות הכול לבד".

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


שלושה סוגי לקוחות — שלושה סוגים של ערך

לארגון שמפעיל פלטפורמת וידאו קיימת, רשת מקודדים יכולה להיות דרך להוציא את ה־transcoding מצוואר הבקבוק המרכזי ולבנות שכבת compute נפרדת.

לספק שירותים או חברת טכנולוגיה, היא יכולה להפוך לבסיס שעליו בונים שירות encoding מנוהל, pipeline וידאו או backend למוצרים אחרים.

ולארגון שרוצה מערכת מלאה, Eitanium יכולה לספק את הרשת כחלק מפלטפורמת וידאו רחבה יותר — כולל שכבות אחסון, streaming, live, publishing וניהול.

אותו מנגנון בסיסי מקבל ערך שונה בהתאם למי שמשתמש בו.

וזה אחד היתרונות הגדולים של תשתית לעומת מוצר נקודתי: אפשר לבנות עליה.


גם מיקום גיאוגרפי יכול להפוך לכלי

ברגע שהארכיטקטורה מבוזרת, nodes אינם חייבים בהכרח לשבת כולם באותו מקום.

ניתן לחשוב על מקודדים בישראל, באירופה, בארה"ב או בסביבות ענן שונות. משם נפתחות אפשרויות של locality, זמינות, עלויות תעבורה, רגולציה או התאמה ללקוחות שונים.

לא כל יישום צריך את זה, אבל עצם העובדה שה־Encoder הוא node ולא "השרת שעליו מותקן האתר" מאפשרת את הגמישות.

וזוהי למעשה אחת ההגדרות הטובות לתשתית מודרנית:

רכיב שאפשר למקם, להחליף, להרחיב ולחבר מבלי לבנות מחדש את כל המוצר.


הבחירה החכמה אינה תמיד "המקודד הכי חזק"

מערכת recommendation טובה אינה חייבת לבחור תמיד בשרת בעל המעבד המהיר ביותר.

ייתכן שמקודד חזק מחזיק כבר תור של מספר עבודות, בעוד מקודד חלש מעט יותר פנוי לחלוטין.

ייתכן שאחד מאפשר קובץ של 5GB ואחר מוגבל ל־2GB.

ייתכן שאחד נמצא תחת עומס concurrent ואחר זמין.

לכן היתרון של Network הוא האפשרות לעבור מבחירה סטטית לבחירה המבוססת על מצב.

זה בדיוק העיקרון שעליו בנויים schedulers ותשתיות compute גדולות: לא רק "איזה משאב קיים", אלא "איזה משאב כדאי להשתמש בו כרגע".


מה מרוויח המשתמש הסופי?

רוב המשתמשים לעולם לא ידעו שקיימת רשת מקודדים מאחור.

וזה דווקא סימן טוב.

מה שהם אמורים להרגיש הוא מערכת שמסוגלת לקבל יותר עבודה, להתמודד טוב יותר עם עומסים, לצמצם זמני המתנה ולשמור על אתר responsive גם כאשר ברקע מתבצע עיבוד כבד.

המוצר הטכנולוגי נמצא מאחורי הקלעים; התועלת נמצאת בחוויית השימוש.

וזו נקודה שיווקית חשובה: לא מוכרים למשתמש "עוד Encoder". מוכרים לו זמן, זמינות ויכולת.


מה מרוויח מי שרוכש או מפעיל רשת כזו?

הערך לבעל התשתית רחב יותר:

  • קיבולת — אפשרות להתמודד עם יותר עבודות קידוד.

  • גמישות — הוספת nodes במקום החלפת כל המערכת.

  • הפרדת עומסים — compute כבד אינו חייב לשבת על production.

  • שרידות — פחות תלות במכונה יחידה.

  • נראות — מידע על queue, concurrent ומצב nodes.

  • אינטגרציה — שימוש כחלק מפלטפורמה מלאה או כרכיב עצמאי באמצעות APIs ותשתיות מותאמות.

  • יכולת מסחרית — בסיס לשירות encoding, לפלטפורמת video SaaS, לפתרון ארגוני או להתקנה במיתוג פרטי.

וזה אולי ההבדל המשמעותי ביותר: שרת קידוד הוא הוצאה טכנולוגית. רשת קידוד יכולה להפוך לנכס תשתיתי.


Eitanium כתשתית, לא רק כאתר וידאו

מבחוץ קל להסתכל על Eitanium ולראות "פלטפורמת וידאו".

אבל פלטפורמת הווידאו היא במידה רבה הדרך שבה התשתית הופכת למוחשית.

מאחוריה ניתן לראות שכבות נפרדות: encoding, encoder networking, live streaming, storage, publishing, APIs, ניהול תוכן, player ו־delivery.

אפשר לצרוך את המכלול.

אפשר לצרוך חלק ממנו.

אפשר להטמיע אותו.

ואפשר לבנות מוצר אחר מעליו.

זו תפיסה שונה לחלוטין מהשוואה פשוטה ל־YouTube. YouTube הוא יעד שבו מפרסמים וידאו. Eitanium יכולה להיתפס גם כ־מערכת שממנה בונים את היעד.


מכוח מחשוב למנוע עסקי

החשיבות של Encoder Network אינה מסתכמת בכך שסרטון מתקודד מהר יותר.

כאשר שכבת הקידוד הופכת למבוזרת, ניתנת לניהול ומנותקת מהמכונה המרכזית, היא משנה את האפשרויות העסקיות של המערכת כולה.

אפשר לשרת יותר משתמשים.

אפשר להוסיף כוח לפי צורך.

אפשר למכור שירות.

אפשר לפרוס תשתית אצל לקוח.

אפשר לחבר מערכת חיצונית באמצעות API.

אפשר לבנות פתרון white-label.

ואפשר לשמור על אותה ארכיטקטורה בסיסית גם כאשר המוצר גדל.

במילים אחרות, רשת המקודדים אינה עוד תוסף לפלטפורמה.

היא אחת השכבות שהופכות את Eitanium מאתר שמטפל בווידאו — לתשתית שעליה ניתן לבנות שירותי וידאו.

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

רשת מקודדים חכמה: כך Eitanium הופכת קידוד וידאו לתשתית

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

Category: