מה זה DevOps?

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

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

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

כל ההתחלות קשות

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

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

בתחילת המילניום, הידע והניסיון מתחום ה-IT הספיקו כדי להתמודד עם שירותי המחשוב החדשים. אבל בעשור האחרון, כאשר תשתית המחשוב עברה שינוי מהותי בזכות שירותי הענן, הפך תחום ה-DevOps לתחום שדורש מומחיות, התמחות וניסיון רב. ניצול נכון של שירותים הוא מדד בלתי נפרד מהצלחה של חברה. אחת הדוגמאות לכך היא WhatsApp שכאשר נרכשה על ידי פייסבוק ב-2014 מנתה רק 18 עובדים, אבל הייתה בשימוש אצל לא פחות מ-1.8 מיליארד משתמשים ברחבי העולם. היכולת לשלוט על תהליך הפיתוח וההפצה של האפליקציה למגוון מכשירים, בכל רחבי העולם, הוא דוגמא ליכולות הטכנולוגיות העומדות היום לרשות כל ארגון, ולא פחות מזה, ליכולות של אנשי ה-DevOps שהיו בחברה.

ברוב הארגונים העקרונות שמנחים את צוותי ה-DevOps הן מהירות, זמינות, אמינות, שרידות ואבטחה. מהירות היא העיקרון המוביל, כאשר המהירות היא קריטית ליצירת מעגל פיתוח שעומד בדרישות של צוותי הפיתוח לשחרור גרסאות חדשות, ושיפור השירות ללקוח הסופי. זמינות היא פועל יוצא של המהירות, וכוללת בתוכה את הזמינות של השירות עצמו ללקוח, וגם התשתית שמונחת מתחתיו על מנת לספק את השירות בכל זמן, בכל מקום ובכל מכשיר. עם זאת, ארגונים שונים יכולים לצרף לעצמם עקרונות נוספים לתהליך הפיתוח. למשל, בשנה האחרונה זכה נושא הפרטיות לתשומת לב מיוחדת בשל תקנות הפרטיות החדשות באיחוד האירופי (GDPR). בעקבות כך, נדרשו ארגונים להתאים את השירותים שלהם על מנת לעמוד בדרישות התקנות החדשות. הנושא הזה יזכה לחשיבות רבה בשנים הקרובות, ויאלץ את אנשי ה-DevOps לשלב את עקרון הפרטיות בכל תהליך הפיתוח של החברה.

DevOps הדור הבא

עם ההשתכללות של כלי הפיתוח וההפצה, הפכו תהליכי ה-DevOps למבוססים על Continuous Integration/Continuous Delivery/Continuous Deployment – אינטגרציה, הפצה והטמעה מתמשכות או בקיצור CI/CD. השלב של אינטגרציה משתמשת כולל שילוב של קוד מצוותי פיתוח שונים אפילו מספר פעמים ביום, כדי לבחון שינויים באופן כמעט מיידי. כאשר השלבים הבאים של הפצה והטמעה כוללים בדיקות אוטומטיות והפצה של השינויים למשתמשים. כך צוותי הפיתוח יכולים לקבל בחזרה פידבק מהמשתמשים מבלי להמתין זמן ממושך.

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

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

2018-09-27T12:43:05+00:00מאי 5, 2018|חדשות|

צור קשר עם המומחים שלנו

אני מאשר/ת קבלת חומרים פרסומיים