מדוע ה-IoT זקוק ל-DevOps?
מאת:
אווה סקוגלנד, 6.9.16, 20:21
המהירות בה מתבצעות הטמעות IoT והצורך לבצע שינויים חוזרים ונשנים, במיוחד ככל שאפליקציות IoT זוכות לאימוץ נרחב בפעילות העסקית, יוצרים סביבת פעולה שונה מאוד מאלו שבעבר.
DevOps עבור IoT דורש מחויבות רבה לשינוי, אבל הוא גם ייעשה הרבה יותר בקלות עם אימוץ גישה של פלטפורמה יחידה המשלבת פיתוח מערכת, בחינה, הטמעה וניהול.
מתודולוגיות לפיתוח וניהול מתקדמות במהירות בעולם ה-
IT. כה מהר, עד שבמקרים רבים ההגדרות הרשמיות והתהליכים הטובים ביותר מממסדים עצמם רק לאחר שתפיסה מסוימת כבר צברה תאוצה. זהו בוודאות המצב בנוגע לאינטגרציה בין פיתוח ותפעול, שמכונה
DevOps.
עבור חלקנו,
DevOps מוכר יותר כתרבות, תנועה או נוהל, ששם דגש על שיתוף הפעולה המתרחש בין מפתחים וצוותי תפעול. היעד המשותף שלהם הוא יצירת סביבה בה בנייה, בחינה והפעלה של תוכנה, יכולות להתרחש במהירות, באופן תדיר, וכמובן עם אמינות גבוהה יותר.
הדגש על תרבות שיתופית מצביע על הצורך להסיר גבולות ולשבור את המחיצות המפרידות, שקיימות בין הצוותים האחראים לתוכנה, מערכות, הטמעה ותפעול. יש שיאמרו, שיש קווים מקבילים בין תפיסת ה-
Agileלבין
DevOps. גם
Agile הושקה יותר כתנועה ומערך של עקרונות, מאשר כתהליך מובנה או מוגדר.
עבור מפתחי מערכות משובצות,
DevOps עשויה להיראות בקצה השני מול הדרך בה הם פיתחו תמיד את יישומיהם. עם מערכות משובצות, תהליכי הפיתוח, שחרור מהדורות ותמיכה, היו מאוד מובנים
(structured) ומוגדרים. עם זאת, האמונה הרווחת היא, שעבור
IoT לא ניתן להמשיך בדרכי העבר, וחובה להתקדם.
המהירות בה מתבצעות הטמעות
IoT והצורך לבצע שינויים חוזרים ונשנים, במיוחד ככל ש
אפליקציות IoT זוכות לאימוץ נרחב בפעילות העסקית, יוצרים סביבת פעולה שונה מאוד מאלו שבעבר. בנוסף, קישוריות הרשת והאופי של תפעול תמידי של מכשירים, מביאים לכך, ששינויים באפליקציות צריכים להתבצע בתדירות גבוהה. דינמיקה זו מעודדת את צוותי פיתוח משובץ ותפעול לחזק את שיתוף הפעולה ביניהם.
סביר, שלארגונים המאמצים
DevOps וממסדים אותו באמצעות צוותים רב תחומיים משולבים, יהיה יתרון מובהק על פני אלה, שאינם עושים זאת. ישנה גם "השפעה מתרחבת" של
DevOps, שמשמעותה, שאם ניתן לעדכן באופן שוטף יישומים ארגוניים המבצעים עיבוד של נתוני
IoT, אז כל החלקים האחרים של הרשת הרחבה יותר, כגון מכשירים או שערי גישה
(gateways) מקומיים, שאוספים נתונים מצי של חיישני
IoT, יזדקקו גם הם לתשומת לב קבועה.
ה-
IoT נתפס ככזה המציע לארגונים את היכולת ליצור מודלים עסקיים וזרמי הכנסה חדשים. רעיונות חדשים כאלה יכולים, לדוגמא, להפוך למציאות על בסיס זרם נתונים קבוע המגיע מחיישנים מרוחקים. מצד שני, ככל שארגונים לומדים ללקט נתונים כאלה בדרכים רבות ושונות, קיימת האפשרות ליצור איטרציות של עדכוני תוכנה היכולים לספק שירותים חדשים. גישה זו של איטרציות גם משמשת להאצת מחזורי פיתוח ללא פשרות על האיכות, והוכח, שהיא גם מספקת יתרונות בפרודוקטיביות. החלופה - השקעה של אולי שנה בפיתוח אפליקציה, ואז מספר חודשים כדי להפעיל אותה, עם ריענון לאחר שנתיים - כבר אינה מודל פיתוח תקף.
אבל כדי להשיג את כל היתרונות של אימוץ
DevOps בארגון, הדרך אינה תמיד קצרה וישירה. קודם כל, העובדה היא, שכל שינוי בתרבות ארגונית הוא אתגר לתפיסות של אנשים רבים ולהתנהגותם. שינויים בערוצי הדיווח, אחריות ואחריותיות (
accountabilities) עלולים לשבש את הדרך. ארגון חייב להכיר בצורך בשינוי, ואז לבנות את התהליכים והמערכות ההכרחיים להגשמת חזון ה-
DevOps.
היבט אחר של שינוי זה הוא, שה-
DevOps מטבעו מסובך ברמת המכשיר. בשונה מסביבת תוכנה ארגונית, שם חומרת השרתים היא די סטנדרטית, מערכות
IoT יכולות להיות גדולות מאוד, ייחודיות ומורכבות, עם מגוון רחב של פלטפורמות חומרה. בעוד למערכות ארגוניות יש בדרך כלל יתירות
(redundancy) מובנית, יש בדרך כלל מעט מאוד יתירות תוכנה משובצת במכשירים בשטח. הפחתת הסיכון של כשלים יקרים, דורשת ביצוע מייגע של מבחנים ברמת ייצור והבטחת איכות, שמאריכים את מחזורי הפיתוח.
בסביבה בה תוכנה מפותחת באופן שוטף, אמינות היא קריטית. כדי למזער את הסיכונים של הוצאת עדכוני תוכנה פגומים, המפתח הוא תשומת לב להבטחת איכות. באמצעות סימולציה ובחינות אוטומטיות, צריך המאמץ השיתופי של ה-
DevOps למפות תהליך ברור בין סביבת הפיתוח והמערכות המוטמעות
. כך, שניתן יהיה לבצע במהירות ניטור בריאות המערכת ולהגיב מהר לזיהוי של בעיות.
DevOps עבור
IoT דורש מחויבות רבה לשינוי, אבל הוא גם ייעשה הרבה יותר בקלות עם אימוץ גישה של פלטפורמה יחידה המשלבת פיתוח מערכת, בחינה, הטמעה וניהול.
כלי פיתוח מסורתיים נוטים לתמוך בצוותים רק בתחום מסוים מתוך פעילויות אלו, והמשמעות היא, שצוותי פיתוח משתמשים בכלים שונים מאלה של צוותי הטמעה, ומאלה העובדים על ניהול מכשירים בשטח. כלי, שמספק את המאמץ השיתופי לרוחב הארגון, כדי לבנות, להטמיע ולנהל מערכות
IoT, מאפשר לצוות כולו לפעול באופן רב-תחומי אמיתי.
מאת:
אווה סקוגלנד, ספטמבר 2016.
ווינד ריבר