כאשר צוות פולקסווגן הגיע לפני שנתיים אל מעבדת החדשנות של רד האט – חברת פתרונות קוד פתוח המובילה בעולם, היה ברור כי מערכות הבחינה הקיימות של יצרנית הרכב לא יעמדו בדרישות ההולכות וגדלות בתחום הרכב האוטונומי. באותו זמן לא היה פתרון מדף לתמיכה במעבדים גרפיים בקונטיינרים עם Kubernetes ו- OpenShift. ביחד בנו רד האט ופולקסווגן פתרון שכזה
כאשר חברת פולקסווגן הגיעה אל מעבדת החדשנות הפתוחה של רד האט, החברה חיפשה פתרון שיסייע לה לבנות מכוניות אוטונומיות שאינן זקוקות לנהג. ליצרנית המכוניות הגרמנית הגדולה היו כל המרכיבים הפנימיים הדרושים לבניית מכוניות אלה ולצורך כתיבת התוכנה, אך לעתים הבעיה עם מכוניות אוטונומיות טמונה דווקא בשלב האחרון, אותו כל תוכנה חייבת לעבור: בדיקה.
למיכאל דנקה, מנהל טכנולוגיית בדיקות בפולקסווגן, היה זמן קצר למצוא פתרון לבעיית הבדיקה. מעבר לזה הייתה לו גם בעיית תרבות פנים ארגונית; על החברה הוטל לשנות את המודל התרבותי שלה למודל שפחות מנותב מלמעלה למטה (Top-down).
“תפקידי בפולקסווגן הוא להבטיח כי כל יחידות הבקרה במכוניות שלנו עובדות יחד”, אמר דנקה, שדיבר במליאת Red Hat Summit 2019. “עקב האתגר החדש של מכוניות אוטונומיות מקושרות והפונקציות החדשות הרבות עבור מערכות נהיגה, הבחנו כי הדרך הרגילה בה אנו מבצעים את בדיקות החומרה הייעודית שלנו, אינה מספקת. לכן חשבנו להעביר כל בדיקות החומרה אל סביבות וירטואליות. זו הסיבה לכך שהגענו לקונטיינרים ב- OpenShift – החלטנו לשים את כל סביבות הבדיקה הווירטואליות בקונטיינרים של פלטפורמת OpenShift”.
דנקה הינו מקצוען IT ותיק, כך שניתן לומר בוודאות שאת הבחירה ב- OpenShift הוא לא שלף סתם כך מכובעו. “הובלתי את פרויקט הענן של קבוצת ה- IT, ולכן הכרתי הרבה ספקי IT. דיברתי איתם, ורד האט הייתה היחידה שאמרה ‘אוקיי, רעיון מצוין, בוא נתחיל!’ “
מרקוס גראול הוא מנהל פרוייקטי IT בפולקסווגן, העובד בבדיקות תוכנה ומחקרי סימולציה ופיתוח, וחבר בצוות של דנקה. “בדיקת אינטגרציה היא אחת המשימות המורכבות ביותר בפיתוח כלי רכב”, הוא אומר. “הסיבה לכך היא שמערכות אלקטרוניות במכונית כוללות רכיבים רבים: חיישנים, מפעילים ויחידות בקרה. יחידות בקרה אלה מכילות רכיבי תוכנה, צריכים להשתלב האחד עם האחר. המשמעות של בדיקת אינטגרציה היא שהמערכות האלקטרוניות הנ”ל במכונית צריכות לעבור בדיקת אינטגרציה עבור כל שילוב של רכיבים, כל דגם, כל סדרה, וכל גרסת תוכנה במכונית. ככל שלמערכות אלה יש יכולות רבות יותר במונחי לקיחת שליטה על המכונית, כך נדרשים יותר מצבי מבחן כדי להוכיח שהרכב יכול לעבור את תהליך הבדיקה. ומה אם לתוצאות של מבחנים אלה אין משמעות בלי עיבוד נוסף? מה אם מבחנים אלה ילחצו על דוושת גז וירטואלית על אוטוסטרדה וירטואלית? רק הקמת תרחיש כזה דורשת מערך שלם של וירטואליות לבחינה והפקת תוצאות”, אמר גראול.
“תחילה היינו זקוקים לזמן לבניית סביבה וירטואלית. לא רצינו את התרחיש לבחון בעולם האמיתי, כך שבנוסף היינו זקוקים גם למכונית וירטואלית. וכמובן כדי לבצע סימולציה של אינטראקציית הלקוח עם המערכת, היינו צריכים גם להושיב נהג וירטואלי בתוך המכונית הוירטואלית. הבדיקות היו יכולות להתבצע על רכיב תוכנה, יחידת הבקרה עצמה, או המערכת המלאה, או אפילו על מספר מערכות שמייצגות את הפונקציה”.
מערכת בדיקות כזו דורשת פלט הניתן להערכה ויזואלית על ידי אדם: וידאו. ומאחר שמבחנים אלה מתבצעים בסביבת תלת ממד (3D) וירטואלית עם פיזיקה וירטואלית, מעבדים גרפיים (GPUs) יכולים להפוך את התהליך המלא לכזה שיוכל לרוץ בזמן קצר יותר באשכול גדול (Cluster). פלטי וידאו אלה יציגו רק מה שקרה כאשר המבחן נכשל: האם הרכב סטה מהכביש? האם התנגש ברכב אחר? האם בכלל לא זז ממקומו?
“מה לכל אלה ול- OpenShift של רד האט? נניח שיש מקרה מבחן בו כל הרכיבים הדרושים הם רק תוכנה שרצה על חומרה. רכיבים כמו סביבות וירטואליות, אנליטיקת נתונים, כלים אחרים, מקרי מבחן, ביצוע מקרי מבחן או סימולציות של תנועה בכביש, ורכיבי התוכנה שמגיעים ליחידת בקרה. כאשר כל אלה מיוצגים, ניתן להקים את המבחן תוך מספר דקות, בהשוואה לשבועות בדרך אחרת. אבל במונחי גידול אקספוננציאלי, זה לא מספיק. מה שבאמת נדרש זו סקלאביליות ואוטומציה בסדרי גודל עצומים. מקרי מבחן אוטומטיים במלואם, ביצוע של מאות או אלפי בדיקות ללא מאמץ ידני – לשם אנו צריכים להגיע”, אמר גראול. “התחלנו בכך לפני שנתיים, ושאלנו איך ניתן להוסיף סקלאביליות ואוטומציה כאלה למרכזי הבדיקות שלנו. ניתן לתאר מצבי מבחן אלה כתבניות OpenShift, ואלה יכולות להיות מיוצגות על ידי מערכת אוטומציה חכמה. אפשר להפעיל אוטומטית מאות בדיקותן כאלה עם מערכת זאת”.
אך לא רק הדרך בה פולקסווגן בחנה את התוכנות שלה השתנתה. גם התרבות שלה החלה להשתנות. זה היה חלק גדול מהמשיכה של עבודה עם מעבדות החדשנות של רד האט, ביחד עם מסגרת הזמן הצפופה למציאת הפתרון על ידי יצרנית הרכב.
“לא היה לנו הרבה זמן להוכיח להנהלה הבכירה את הרעיון שלנו”, אמר מיכאל דנקה. “כאשר דיברתי עם עמיתי מרד האט, הם סיפרו לי על מעבדת החדשנות הפתוחה של החברה, ואמרו כי זו האפשרות היחידה לעמוד במסגרת הזמן שנדרשה. דבר נוסף שמשך אותנו שם, הוא ששינוי תרבות מהווה עניין גדול עבור פולקסווגן. משמעות העבודה במעבדה היא: אל תהיו כל כך מוטי ניהול מלמעלה-למטה. תנו את האחריות לצוות. ואנו רוצים לעשות זאת בחברה”.
דנקה אמר כי מודל הפיתוח הפתוח היה המפתח לפיתוח המוצלח של מודל הבדיקות החדש שלהם. “הוכחנו כי יכולות להיות לנו סביבות פיתוח וירטואליות. תחילה הוכחנו שאנו יכולים לשלב סביבות בדיקה וירטואליות עם סביבות בדיקה אמיתיות, והראינו כי הגורם העיקרי לאיכות והצלחה, הוא שינוי התרבות ועבודה ביחד. השאלה של המנהל כבר אינה ‘מה הסטטוס’?, אלא ‘איך אני כמנהל יכול לעזור לכם?'”.