ה-IT שמאחורי הרשת החברתית ששינתה את העולם
מערכת אנשים ומחשבים ישבה לשיחה אישית עם רוב בנסון, מבכירי אנשי המיחשוב בטוויטר ומי שחתום על חלק גדול מהאסטרטגיה הטכנולוגית שלה ● שמענו ממנו איך הוא הצליח לצמצם את זמני הפיתוח משבועות לימים, כיצד הוא מתמודד עם אנליטיקה ו-Big Data ואיך הביא את שיעור הזמינות ל-99.9%, למרות שעליו להתמודד עם חצי מיליארד ציוצים בכל יום ● מקוד פתוח ועד מיחשוב ענן, מ-Hadoop ועד RPC – כך נראה מערך ה-IT שמניע את טוויטר
המשרדים של ענקית האינטרנט טוויטר (Twitter) ממוקמים ברחוב מרקט המפורסם שבמרכז סן פרנסיסקו, מרחק הליכה של כרבע שעה מיוניון סקוור וכשתי דקות הליכה מתחנת הרכבת התחתית. השלט עם הלוגו המוכר והציפור הכחלחלה האייקונית ניצב בפינת הבניין, כאשר למטה, מסביבו, נאספים תיירים כדי לצלם אותו ולהצטלם אתו. את התמונות הם קרוב לוודאי יעלו לפרופיל שלהם בשירות המיקרו-בלוגינג הפופולרי שכבש את העולם בסערה.
למעלה, כמה מטרים בודדים בלבד מקומת הרחוב, יושבים המפתחים, המהנדסים, אנשי הסיסטם והאחסון, מומחי המיחשוב והמנהלים, שכל החלטה שהם מקבלים משפיעה באופן ישיר על חיי היומיום של 200 מיליון משתמשים. תפקידם הוא לא רק לוודא שהשירות תמיד זמין, על אף היקפי המידע והשימוש האסטרונומיים, אלא גם לחדש, לשפר, לייעל ולטייב את אחד מאתרי האינטרנט הגדולים ביותר אי פעם, שמדורג במקום ה-11 בעולם, אחרי אמזון (Amazon) ולינקדאין (LinkedIn), בדירוג הטראפיק הגלובלי של אלקסה (Alexa).
על חלק ניכר ממערך הטכנולוגיה הנרחב של טוויטר מנצח רוב בנסון, דירקטור בכיר ומנהל תחום הנדסת התוכנה בחברה. בנסון, המנהל צוות של כ-200 עובדים, מבלה את רוב יום העבודה שלו בתכנון האופק הטכנולוגי של טוויטר ל-6 עד 12 החודשים הבאים. הוא חתום על רבים מההישגים הטכנולוגיים של החברה בשנים האחרונות ואחראי בין היתר על האימוץ הנרחב של קוד פתוח בטוויטר – הן במערכות ה-Front End, והן במערכות ה-Back End.
"יש לי שלושה כובעים בעבודה", אומר בנסון: "מנהל מוצר, מנהל פרויקטים וסוג של 'מאמן' טכנולוגי. אני עובד עם אנשים במטרה לחשוב קדימה ולשבור מחסומים, מבלי להיתקע בקונספציות הישנות של מה אפשרי ומה לא. החלק שאני הכי אוהב בעבודה שלי הוא החלק שבו אני חושב על איך אפשר להשתמש בכלי מיחשוב כדי לפתור בעיה כלשהי. שילוב האנשים שעובדים איתי בתהליך הזה הוא מאוד כייפי. אנחנו בונים מערכות ושירותים שבסופו של דבר משמשים בני אדם, ולכן חשוב לי שכל מי שעובד איתי יבין מה החלק שלו בתהליך הזה. אני רוצה שהוא יחשוב על המשתמש בכל רעיון שיש לו ובכל שורת קוד שהוא כותב".
"אני עובד עם אנשים במטרה לחשוב קדימה ולשבור מחסומים, מבלי להיתקע בקונספציות הישנות של מה אפשרי ומה לא". רוב בנסון, דירקטור בכיר ומנהל תחום הנדסת התוכנה בטוויטר. צילום ועריכת וידיאו: אור יעקב
"אני עובד במקביל עם המובילים הטכנולוגיים והמובילים העסקיים של החברה", הוא מסביר. "ברוב המקרים אנחנו דנים בהתקדמות העסקית של טוויטר במישורים השונים, ובודקים מה תהיה הדרך הטובה ביותר לתמוך בהתקדמות הזו מבחינה טכנולוגית. אני יושב גם להרבה פגישות אישיות עם מפתחים, מהנדסים ומנהלים, כדי לוודא שיש לנו את אותן הציפיות ואותן מחשבות על גדילה והתפתחות. טוויטר הוא לא רק עסק, אלא שירות תקשורת בקנה מידה עולמי שמשרת מאות מיליוני אנשים, ולכן חשוב מאוד שכל מי שמעורב בפיתוח שלו יחשוב קדימה ויהיה מלא ברצון, בתעוזה וביכולת לתרום לו ולשפר אותו".
להיפטר מהלווייתן
בנסון הגיע לטוויטר לפני כארבע שנים, אחרי ששימש בתפקידי פיתוח וסיסטם בסאן מיקרוסיסטמס (Sun Microsystems) וב-VMware. אחת המשימות הראשונות שהוטלו עליו בחברה, היתה לשפר את הזמינות של טוויטר, שסבל מנפילות ותקלות רבות ולא הצליח לעמוד בביקוש הרב. "זמן קצר אחרי שהגעתי לפה", מספר בנסון, "החלו משחקי טורניר גביע העולם בכדורגל, שנערך בדרום אפריקה. אחרי כל גול היה נוצר שיא נקודתי של ציוצים וטוויטר היה נופל. זה לא סוד שהיו לנו הרבה מאוד בעיות עם השירות על בסיס קבוע".
בנסון לא מגזים כשהוא מדבר על נפילה אחרי כל גול. במהלך המשחקים בדרום אפריקה רשם טוויטר נתוני שיא שליליים בכמות זמני ההשבתה, שהגיעו לכדי 10% עד 20%. לפני כן שמר טוויטר על זמינות של כ-98%, נתון המשקף זמני השבתה השווים באורכם ליותר משבוע בכל שנה. אולם, מייסדי טוויטר השתמשו בנתון הלא מחמיא הזה לטובתם, כאשר עוד בימיו הראשונים של האתר הציגו את ה-"Fail Whale" – ציור של לוויתן הנישא באמצעות רשת מתוך הים על ידי להקת ציפורים, שמוצג במרכז עמוד השגיאה עם הכיתוב "יותר מדי ציוצים! המתינו רגע בבקשה ונסו שוב". הציור, עליו חתומה יינג לו – מעצבת אוסטרלית ממוצא סיני, הפך לאחד הסמלים של טוויטר וסייע בהקניית התדמית הצעירה והחדשנית של החברה.
בטוויטר הסבירו בעבר, כי מטרתו של ה-Fail Whale ("לוויתן תקלה" בתרגום חופשי) היא להעלות חיוך על פניהם של הגולשים, למרות הבעיה שנתקלו בה. "ה-Fail Whale היה דרכם של מקימי טוויטר לומר למשתמשים: 'משהו פה לא בסדר, אבל אל תדאגו – אנחנו מודעים לזה ומטפלים בזה'", אומר בנסון. "זה היה צעד מבריק מצדם. הם ידעו שמדובר באמצעי תקשורת שחשוב מאוד להרבה אנשים, וככזה – הוא חייב לספק שירות טוב יותר. בזמן שעבדנו פה על שיפור הזמינות והיציבות, ה-Fail Whale עזר לנו להעביר את המסר למשתמשים שלנו. זה היה עניין מיתוגי, אבל השאיפה היתה להיפטר מהצורך להציג אותו".
"אחרי הרבה מאוד עבודה קשה", ממשיך בנסון, "אני שמח לדווח שהגענו היום לזמינות של 99.9%. בנינו מערך שלם של מחשבים שמנהלים את היציבות של האתר ומגיבים בזמן אמת לכל תקלה, עומס או בעיה. הרבה מהשירותים שלנו מתארחים בסביבת הענן שלנו, ואנחנו מנטרים את הפעילות התקינה שלהם כל הזמן. אם הוסט מסוים נתקל בתקלה, השירות יופנה למחשב אחר בתוך חלקיקי שניה. בנוסף, אנחנו מבצעים גם ניתוב דינמי של הטראפיק, ושומרים תמיד שלושה עותקים של המידע".
"אנחנו שולטים על הגורל שלנו"
"בהיבט התשתית, טוויטר התחיל כמו כל שירות, במובן הזה שלא היו לנו תשתיות פיסיות עצמאיות משלנו", מסביר בנסון. "ככל שהתקדמנו, התחלנו להכניס עוד ועוד תחומים פנימה, והיום אנחנו שולטים על הגורל שלנו בכל תחום ובכל רמה, לרבות תשתיות המיחשוב. אנחנו מטפלים בכל האספקטים התשתיתיים מהחומרה ומעלה. זה כמובן נותן לנו את החופש לא להיות תלויים באף אחד, אבל גם מאפשר לנו לעסוק בייעול התשתיות באופן הרבה יותר נרחב".
"מבחינה אסטרטגית, לחברה בסדר גודל של טוויטר יש שלוש אפשרויות", הסביר בנסון: "לקנות, לבנות או להשאיל (Buy, Build, Borrow). לקנות זה משהו שאנחנו עושים בתחומים שבהם אנחנו לא רוצים להמציא את הגלגל מחדש, תחומים שלא נקבל ערך מוסף מלהיכנס אליהם בעצמינו. לבנות זה משהו שאנחנו עושים כשאין ברירה אחרת חוץ מלפתח שירות, תוכנה או פלטפורמה מאפס. להשאיל זה משהו שאנחנו לא רק עושים רוב הזמן, אלא משהו שכבר הפך למעין אסטרטגיית מיחשוב משנית אצלנו. הכוונה היא כמובן לעשות שימוש בקוד פתוח, ואני מאמין גדול מאוד בקוד פתוח".
לדבריו, "צוות העובדים שלי ואני מטפלים בהרבה מאוד תשתיות, ורובן – אם לא כולן בשלב הזה – הן תשתיות קוד פתוח. מדובר או באלמנטים שאימצנו מקהילת הקוד הפתוח או באלמנטים שפתיחנו ואנחנו תורמים חזרה לקהילת הקוד הפתוח. דוגמה טובה לזה הוא Finagle, שהפכה למערכת ה-RPC העיקרית שלנו. האופן שבו השירותים שלנו מתקשרים זה עם זה הוא חלק מההצלחה הארכיטקטונית שלנו ול-Finagle תפקיד מרכזי בכך. אנחנו משתמשים ב-Finagle כל יום וממשיכים לפתח אותה וליישם אותה בתחומים נוספים".
דוגמה נוספת, הוסיף בנסון, "הוא Mesos, תשתית שירותי הענן שלנו, שמהווה גם היא חלק גדול מאוד מההצלחה שלנו בהיבט היעילות והגמישות, ומבוססת על קוד פתוח. זה פרויקט שהתחלנו באוניברסיטת קליפורניה בברקלי ואנחנו ממשיכים לפתח אותו ולתרום את פירות הפיתוח הזה חזרה לקהילת הקוד הפתוח. ניגשנו לפרויקט, כי רצינו לעבוד באופן מהיר ויעיל יותר, והשימוש בחומרה ייעודית יוצר את ההיפך המוחלט מכך. ברגע שהמפתחים שלך צריכים להבין גם חומרה, הם נגררים למחזור פיתוח איטי ומסורבל. סירבנו להשלים עם זה ולכן החלטנו להשקיע כמה שצריך כדי לשבור את המחסום הזה".
"המפתחים שלנו צורכים היום את כל מה שדרוש להם מ-Mesos", אמר. "לא אכפת להם על איזו מערכת הם עובדים, כי הכל נמצא בענן. דרך העבודה הזו מאפשרת לצוותי הפיתוח להתמקד בתוכנה, ובתוכנה בלבד. התהליך ברובו מצטמצם לרעיון, פיתוח ועלייה לאוויר – מה שמבטיח מחזורי פיתוח מהירים ויעילים הרבה יותר. העולם שבו אנחנו פועלים דורש מהירות תגובה אפסית, ולפחות בהיבט הפיתוח – Mesos הוא דרך מצוינת להתקרב עוד ועוד למהירות הזו".
"כשזה מגיע לפיתוח, אנחנו מנסים תמיד למצוא עוד ועוד דרכים לקצר את הדרך מהמחשב הנייד של המפתח ועד ל-Production, מבלי להתפשר על האיכות", הוסיף בנסון. "בעינינו, האלמנט החשוב ביותר בתהליך הפיתוח הוא השלב שבו המפתח מתמודד עם הבעיה בראש שלו. לכן, אנחנו דואגים להשקיע את מירב הזמן שלנו שם. ברגע שהמפתח מצא את הפתרון, עלינו מוטלת האחריות לוודא שהטכנולוגיה לא תהווה מחסום עבורו. אני רוצה שהקוד ייכתב ברגע המכריע הזה, שבו המפתח התמודד עם בעיה בראש והצליח לפתור אותה. זה תמיד יהיה הזמן הטוב ביותר. כשאתה מאפשר לו את הגמישות הזו, אתה למעשה מאפשר לארגון להעלות תוכנה לאוויר בזמנים קצרים הרבה יותר, ומקבל מוצר הרבה יותר איכותי".
לדבריו, "המודל הזה הביא למצב שבו תהליך שבעבר לקח חודשים ושבועות, אורך היום ימים. ברגע שקיצרנו את הדרך שבין הרעיון ל-Production, קיצרנו את כל התהליך ובדרך דאגנו להשקיע במקומות החשובים. במקביל, ולא פחות חשוב מכך, זה משמר ואף מגדיל את רמת ההשראה של המפתחים. הם לא צריכים להתעסק ב-IT, אלא ביצירה, בחדשנות ובפתרון בעיות שלא היו להן פתרונות עד היום. זה מוביל להרבה מאוד רעיונות מצוינים שמנותבים בסופו של דבר כדי לשרת טוב יותר את משתמש הקצה".
להחזיר את המידע לעולם בזמן אמת
בטוויטר מנהלים כמות כמעט דמיונית של מידע, כאשר הנתונים האחרונים מצביעים על כ-500 מיליון ציוצים בממוצע מדי יום, המשקפים כ-5,700 ציוצים בכל שניה. באוגוסט האחרון ציינו בשירות שיא חדש של ציוצים לשניה, כאשר במהלך הקרנת סרט ביפן נרשמו בשרתי טוויטר לא פחות מ-143,199 ציוצים בשניה אחת.
"אחסון הוא קריטי עבורנו", קובע בנסון. "אנחנו חברה שעוסקת במידע ומנהלת כמויות אדירות של נתונים, ולכן אנחנו חייבים לוודא שאנחנו מאחסנים את המידע הזה בדרך היעילה ביותר. כשפנינו לקהילת הקוד הפתוח וחיפשנו פתרונות אחסון, גילינו שזה לא פשוט למצוא פתרונות מדף עבור חברה שמנהלת נתונים בסדרי הגודל שלנו. הגישה העיקרית שלנו היא Hadoop. אנחנו משתמשים ב-Hadoop במודל MapReduce וזה עובד מצוין עבורנו. זה כלי מעולה שעוזר לנו להתמודד עם חלק גדול מאתגרי ה-Big Data שלנו".
"על אף שאחסון המידע באמת חשוב לנו, אנחנו מתמקדים הרבה יותר בניתוח והפקת תובנות ממנו", הוא הוסיף. "אחד הנושאים שעומדים בראש סדר העדיפות שלנו הוא פיתוח יכולות מתקדמות יותר של אנליטיקה בזמן אמת והנגשה של עוד ועוד מידע רלוונטי וממוקד למשתמשים בזמן אמת. זו משימה קשה בכל ארגון, אך כשמדובר בהיקפי מידע כמו אלה שאנחנו מתמודדים איתם, זה הופך את המשימה לקשה הרבה יותר. אנחנו רוצים לקחת את המידע שמוזן לטוויטר, ולהחזיר אותו לעולם בזמן אמת. המשוואה הזו, שמכילה את כמות הנתונים מצד אחד ואת הצורך להציג בכל נקודת זמן את המידע החשוב והעדכני ביותר, יוצרת עבורנו אתגר מרתק".
לדבריו, "אנחנו מתמודדים עם שאלות כמו, איך מספקים לכל משתמש את התוכן שהוא רוצה, אבל לא יודע שקיים? מה כל משתמש רוצה? האם המיקום הגאוגרפי שלו רלוונטי למידע שהוא רוצה לצרוך כרגע או לא? מדובר במשימה לא פשוטה כלל, ותשתית המידע שדרושה לנו היא מורכבת ומסובכת במיוחד. אולם, המידע הוא בסופו של הנכס העיקרי שלנו, ולכן אנחנו משקיעים מאמצים אדירים בשמירה עליו ובניתוח מתקדם ומהיר יותר שלו".
"תמיד אהבתי את הצד המתמטי שבניתוח מידע", מתוודה בנסון. "אני אוהב לראות איך הכאוס נכנס לפוקוס. בטוויטר אני זוכה לראות עד כמה יצירתיים אנשים הופכים כשהמידע הנכון מוצג בפניהם. זה מדהים. אנחנו רוצים להגיע למצב שבו לא מדברים על מידע בימים, אלא בדקות ובשניות. הרבה ממה שאנחנו עושים פה מכוון למטרה הזו".
"מקום מגניב לעבוד בו"
לא כל אחד יכול להיכנס למשרדים של טוויטר. את עמדת הקבלה בלובי יכול לעבור רק מי ששמו נכלל מבעוד מועד ברשימת המבקרים. המאבטח מצליב את הפרטים שבתעודה המזהה עם השם שמופיע ברשימה היומית, ובכל מקרה של חוסר התאמה – למשל כשמדובר בשם ישראלי שמישהו איית באופן שגוי, נדרש המאבטח לקבל אישור טלפוני שאכן מדובר באותו אדם.
המשרדים הראשיים ממוקמים בקומה התשיעית, ובכניסה אליהם מתבקש כל מבקר להזין את פרטיו לאחד ממכשירי ה-iPad שניצבים על השולחן שמולו. לאחר תהליך ההזדהות מוצג בפני המבקר מסמך NDA (ר"ת Non-Disclosure Agreement, הסכם סודיות) שעליו לחתום אם ברצונו לקבל גישה למתקן כולו. עם סיום התהליך מדפיסה המערכת תג אישי, שכולל את שם המבקר, תאריך, שעה, שם הגורם המלווה מטעם טוויטר והאם הוא חתום על NDA או לא.
המשרדים מתאפיינים בשטחים פתוחים רחבי ידיים, ומעט הקירות שבכל זאת עומדים בחלל הגדול, הם שקופים ברובם. לא צריך להיות מומחה לעיצוב פנים כדי להבין את הרעיון שעומד מאחורי היעדר החדרים והתאים הריבועיים שמאפיינים את רוב המשרדים, ובולטים בהיעדרם במטה של ענקית האינטרנט. כשסן פרנסיסקו נשקפת החוצה מהחלונות הרבים, מעודדת טוויטר את עובדיה לעבוד אחד עם השני ולשתף רעיונות זה עם זה כמה שיותר.
"טוויטר זה מקום מגניב מאוד לעבוד בו", אומר בנסון. "עבור כל מפתח מערכות, טוויטר הוא גם מקום מאוד מרגש לעבוד בו, כי אתה זוכה לעבוד על מערכת התקשורת של העולם כולו, וזה דבר מדהים. קנה המידה פה הוא אדיר: יש פה מידע בהיקפים ענקיים והמון מערכות מיחשוב. זה חלומו של כל מפתח. התפקיד שלי הוא לוודא שכל מהנדס פה נרגש, מלא אמביציה ועושה פה את מה שהוא אוהב – שזה לפתור את הבעיות הקשות ביותר של העתיד. אלו בעיות בקנה מידה ענק וכיף מאוד לעבוד עליהן".
"ככל שאתה מתקדם מהר יותר, וכל מי שעוסק באינטרנט ובמובייל רוצה להתקדם מהר יותר, אתה מתחיל לחשוב על הדברים גם מעבר להיבט הארכיטקטורה, ומסתכל עליהם מזווית הראיה של הצוות", מסביר בנסון את הגישה שלו ושל הארגון בו הוא עובד. "אתה רוצה לוודא שכל אחד מהצוותים שלך יצליח לספק שירות שיניב ערך לארגון ויאפשר לו לנוע מהר יותר, שלא כולם יצטרכו לשבת יחד באותה נקודת זמן כדי לעשות דבר אחד. אתה רוצה לפרק את הארכיטקטורה לרמת השירות וליצור ארכיטקטורה מוכוונת שירות (SOA, ר"ת Service Oriented Architecture), אבל ברמת הארגון כולו – כדי שכולם יתחילו לחשוב באותו האופן. תהיה לזה השפעה גדולה מאוד, לא רק על מהירות האינטגרציה, אלא גם על הלך הרוח של כל אחד מהצוותים הללו, שיתחיל לחשוב על המטרה שלהם ולמה בעצם הם בונים את התוכנה שהם בונים. הערך שטמון בעבודה במודל הזה הוא עצום".
טוויטר במספרים
שנת הקמה: 2006
תחום פעילות: אינטרנט, רשתות חברתיות, מיקרו-בלוגינג
מספר המשתמשים: 200 מיליון
כמות ציוצים ביום: 500 מיליון
הכנסות שנתיות: 317 מיליון דולרים (2012)
שווי שוק: 23.84 מיליארד דולרים
עובדים: 2,000
אנשי מיחשוב: 1,000 (כ-50% ממצבת כח האדם)
משרדים: סן פרנסיסקו, קליפורניה, ארצות הברית
פרטים נוספים על פרויקט Fingale
Finagle ב-Github
עמוד הבית של פרויקט תשתית הענן Mesos
פרטים נוספים על השימוש שעושה טוויטר ב-Mesos
מידע נוסף על שבירת שיא הציוצים לשניה
דירוג 500 האתרים הנצפים ביותר בעולם של אלקסה
מידע נוסף על ה-Fail Whale והגרסאות השונות של עמוד השגיאה בשנים האחרונות
פרופיל המשתמש של רוב בנסון בטוויטר
הכותב הוא שליח אנשים ומחשבים לארצות הברית
תגובות
(0)