קורס QA כהכנה לעבודה ב-DevOps; מה זה DevOps? כיצד בודק תוכנה מתקדם ל-DevOps? מה תפקיד DevOps כולל? כיצד זה קשור לבדיקות תוכנה?
מה זה DevOps ?
מדובר במטודולוגיה (שיטה) מודרנית לפיתוח תוכנה. מאז ומעולם תהליך פיתוח התוכנה היה תהליך מורכב הכולל שלבים רבים. פיתוח תוכנה זה הרבה מעבר לכתיבת קוד (לפוסט המסביר מה זה פיתוח תוכנה וכיצד לומדים זאת כנסו ל- קורס תכנות למתחילים). לכן נדרשת שיטה לניהול נכון של התהליכים השונים. שיטות מסוג זה הלכו והתפתחו במקביל להתפתחויות הטכנולוגיות על מנת לתת מענה נכון לחידושים התכופים בתחום פיתוח התוכנה. החל משיטת מפל המים משנות ה-80 של המאה הקודמת, דרך שיטת הפיתוח בשלבים של אבי טיפוס ועד לשיטת האג'ילית – Agile שנוצרה כמענה למשבר ה-Dot Com בתחילת המאה הזו.
למה צריך מתודולוגיה?
מעבר לכך שפיתוח תוכנה הוא דבר מסובך, כולנו יודעים שלתוכנות יש המון באגים, שהן יקרות מאוד לפיתוח, שמשך הזמן שלוקח לייצר תוכנה הוא דבר שמאוד קשה לעמוד אותו, שפרויקטי תוכנה רבים עולים הרבה יותר מהתכנון המקורי (גלישה תקציבית משמעותית) ושקשה עוד יותר לתחזק פרויקט תוכנה לאורך שנים. כאשר ארגונים וחברות מסחריות מתמודדים עם בעיות כה רבות הם תמיד מחפשים שיטה הנדסית שתציל אותם. כשיש קונים – יש מוכרים. כלומר כאשר יש צורך כה גדול בפתרון לבעיה מורכבת, יש מי שממציאים פתרונות. המשותף לכל השיטות שציינו וגם ל-DevOps הוא הניסיון לבנות דרך אופטימלית ליצירת תוכנה אמינה, בזריזות ובעילות. למרות שעד היום טרם הומצאה שיטה שבאמת פותרת את המורכבות והבעיתיות של פיתוח תוכנה, רבים מאמינים שאם בוחרים במטודולוגיה אחת נכונה זה יכול לחסוך לארגון כסף, לייצר תוכנה אמינה יותר, בזמן קצר יותר ויעילה יותר לתחזוקה ושדרוג. האומנם?
מה מחדש DevOps?
DevOps מתמחה בעיקר בשני כיוונים: תהליך פיתוח רציף ועבודה עם טכנולוגיית הענן. מדובר בשני נושאים שהתפתחו מאוד בשנים האחרונות ולכן DevOps נראה כמתאים יותר לפיתוח תוכנה בימנו.
תהליך פיתוח תוכנה רציף – CI/CD
כולנו מודעים למצב בו תוכנות ואפליקציות מתעדכנות בצורה תדירה. אצל כולנו בסמארטפון יש כל הזמן עדכוני תוכנה. בעבר עדכוני תוכנה נקראו הוצאת או שחרור גרסה (עדין יש את זה בימינו, לדוגמא עדכוני גרסה לאנדרואיד או מערכת ההפעלה של אייפון). היה מדובר בתהליך המתרחש אחת לשנה או יותר, תהליך שהיה מלווה בהרבה הכנות, בהדרכה של הלקוחות ובבדיקות מקיפות לפני שחרור הגרסה. לאט לאט עברנו למצב בו יש בכל כמה ימים עדכון גרסה. העדכונים הללו מתקנים או משדרגים מספר דברים קטן ובדרך כלל מוסיפים באגים חדשים שיש צורך לבצע עבורם עדכון נוסף וחוזר חלילה. לתהליך זה קוראים בימינו CI/CD – Continuous Integration/Continuous Deployment. DevOps מטפל ב-CI/CD על-ידי הגדרה טובה יותר של תהליכי הפיתוח, העדכון, המעקב אחרי תיקון באגים והוספת תכונות, ההפצה של התוכנה וההדרכה של המשתמשים.
עבודה עם טכנולוגיות הענן
טכנולוגיית הענן, הגם שאינה חדשה כשלעצמה, עברה שדרוג ומתיחת פנים אדירה בשנים האחרונות. צוותי פיתוח תוכנה משתמשים בטכנולוגיה זו בהיבטים רבים. החל מאחסון בענן של מערכת המחשוב של החברה, דרך שימוש בענן להפצת אותן מיקרו-גרסות תוכנה ועד להפעלת מחשבי ענן רבים כשרתים לתוכנה או לאפליקציה עצמה. DevOps מגדיר טוב יותר את תהליכי העבודה עם סביבת מחשוב מבוזרת בענן.
מה כולל DevOps – באילו שלבים של פיתוח התוכנה הוא נוגע?
בעיקרון DevOps נוגע בכל מחזור חיי התוכנה. אבל הוא מתמקד בצמתים הבאים:
תכנות, פיתוח תוכנה, שילוב בין תוכניתנים, ניהול גרסאות של מודולים, קונפיגורציה ובדיקות יחידה
אינטגרציה וניהול גרסאות של התוכנה בכללותה עם דגש רב על אינטגרציה רציפה, דהיינו יצירת גרסאות כוללות של התוכנה באינטרוואלים קצרים מאוד של ימים
בדיקות, QA – אבטחת איכות התוכנה והביצועים שלה
אריזה, הכנת מוצר כולל, הכולל כמובן את התוכנה אך בנוסף, דפי הסבר, מדריכים למשתמש, מדריכים למשווק, עדכוני אתר האינטרנט של החברה וכל מה שנדרש כדי ששחרור הגרסה ייראה מקצועי ומהימן. כל זאת כאמור באינטרוואלים רציפים וקצרים.
שחרור, הפצת התוכנה תוך שימוש ביכולות הענן.
ניטור, בחינה מתמדת של משובי המשתמשים, יצירת היזון חוזר לכיוון צוות הבדיקות וצוות הפיתוח
האם יש כלים לביצוע DevOps ?
היות ו-DevOps מטפל בקשת כה נרחבת של נושאים, אין באמת כלים המבצעים את כל הפעולות הללו. יחד עם זאת ישנם כלים העוזרים לנהל, לתעד ולייעל את תהליך ה-DevOps. לדוגמא: Puppet הינו כלי המנסה לתת מענה כוללני לביצוע אוטומציה של תהליך הפיתוח; Docker, כלי ליצירת מיכלי תוכנה עצמאיים שניתן להריצם, לבדוק אותם ולהפיצם בנפרד כחלק מתוכנה אחת שלמה; Jenkins, שרת ניהול תהליך הפיתוח המאפשר ניהול גרסאות, אינטגרציה בין קוד של תוכניתנים שונים ושחרור גרסאות מנוהלות; Selenium, תוכנה לביצוע אוטומציה של בדיקות תוכנה.
הביקוש לאנשי DevOps
בהיותה של טכנולוגיית ה-DevOps חדשה אך נפוצה יותר ויותר, באופן טבעי יש בשוק ביקוש ער לאנשי DevOps. לאור הביקוש הרב ובייחוד לאור המשכורות הגבוהות המוצעות לאנשי DevOps טובים, רבים מתעניינים כיצד נכנסים ועובדים בתחום. אז מיהו איש DevOps?
האם DevOps זה בודקי תוכנה? האם בוגרי קורס QA יכולים לעבוד בזה?
כן ולא. כן כי הרבה בודקי תוכנה רואים ב-DevOps את ההתפתחות המקצועית שלהם. לא מכיוון שמדובר בנושא רחב יותר הכולל את כל מחזור חיי התוכנה, תכנות בקרת תצורה, ניהול סביבות אינטגרציה וניהול גרסות פיתוח. לכן מומלץ לראות בקורס בודק תוכנה כבסיס טוב להמשך ההתפתחות לכיוון DevOps.
האם DevOps זה תוכניתנים?
כן ולא. כן כי כל העוסק ב-DevOps נדרש לתכנת, לכתוב קוד, כדי לבצע את עבודתו. לא כי לא מדובר בפיתוח התוכנה הראשית בה עוסק הארגון. מדובר בכתיבת תוכנה לצורך ניהול ובדיקת התוכנה הראשית שכותב הארגון. וזה הבדל גדול מאוד! זה סוג אחר של כתיבת קוד, למרות שמשתמשים בדיוק באותם הכלים. בדיוק כפי שעם אותם המרכיבים סוכר, קמח, שמרים ומים ניתן לאפות עוגות וניתן לאפות לחם, כך גם עם שפת תכנות ניתן לפתח תוכנה וניתן לפתח תוכנה ל-DevOps – שני דברים שונים. אומנם אומרים ש-"אם אין לחם איכלו עוגות", אבל בלי תוכנה אין DevOps ובלי DevOps כנראה שקשה הרבה יותר שתהיה תוכנה.
אילו נושאים צריך ללמוד כדי לדעת DevOps?
תכנות בשפת תכנות כגון Java, C#, Python, ידע והבנה בבניית אתרי ווב, ידע ב-HTML וב-Java Script, הכרת כלים לבקרת תצורה, טכנולוגיית ענן והדרך לשחרר תוכנה לענן, כלי בדיקות אוטומטיות ובראשם Selenium, תהליכי עבודה לפיתוח תוכנה ותהליכי בדיקות תוכנה בכל הרמות, החל מבדיקות יחידה ועד לבדיקות גרסה וביצועים של התוכנה.
קורס QA כהכנה ל-DevOps
למרות שכאמור קורס QA אינו קורס DevOps, רבים רואים את קורסQA כהכנה טובה לעבודה ב-DevOps. מדוע? מכיוון שבקורס QA לומדים כלים רבים העוזרים לביצוע DevOps. בעצם קורס QA מומלץ המלמד להביט על כל תהליכי הפיתוח של התוכנה ולזהות בכל תהליך כשלים אפשריים מתאים כבסיס לתפיסת העולם של ה-DevOps. בנוסף לימוד כלי אוטומציה כגון Selenium ולימוד תכנות מאפשרים למי שלמדו קורס QA הכי טוב להשתלב ולהתקדם לתפקידי DevOps. לגבי מחיר קורס QA תוכלו לקרוא בפוסט זה.
מה מומלץ ללמוד בקורס QA כבסיס ל-DevOps
כדי שבוגר קורס QA יהיה בעל הסיכויים הכי טובים להתקדם לתפקידי DevOps מומלץ ללמוד את הנושאים הבאים: תכנות בשפת תכנות כגון #C, או Java, ללמוד HTML ו-כתיבת קוד ב-Java Script, מומלץ ללמוד Lunix או Unix ומומלץ ללמוד בדיקות אוטומטיות כולל כלי אחד לפחות לביצוע בדיקות אוטומטיות. מי שילמד בקורס QA הכי טוב יוכל להמשיך ולהתקדם לתפקידי DevOps תוך השלמת הלימוד של נושאים כגון כלי בקרת תצורה (GIT לדוגמא) ונושאים בתהליכי פיתוח תוכנה. להרחבה בנושא מה כדאי ללמוד בקורס בודק תוכנה.
קורס QA מומלץ במכללת סלע
מכללת סלע מציעה את קורס ה-QA המודרני והמקצועי ביותר לבודק תוכנה. בקורס מרצים אנשי QA מובילים העובדים במחלקת ה-QA של מכללת סלע ועוסקים בבדיקות תוכנה בפועל כחלק מעבודתם היום-יומית. לבוגרי קורס בודק תוכנה של מכללת סלע מוצעים תפקידים מעניינים במחלקת ה-QA של החברה או הם יכולים להתקדם לתפקידי DevOps במחלקת ה-ALM של סלע.
זו ההזדמנות שלכם - התקשרו עכשיו ל: 03-6176666 או השאירו פרטים והצטרפו לאחד הקורסים המקצועיים והמקיפים ביותר בארץ, ללמוד מן המרצים הטובים ביותר ולקבל הסמכה בינלאומית יוקרתית. אנו מאחלים לכם בהצלחה בבחירת הקורס הנכון!
חזרה
מעוניינים במידע נוסף? אנחנו כאן לשירותכם!
מלאו פרטיכם בטופס זה ונציג המחלקה המתאימה יישמח לחזור אליכם בהקדם ולעזור בכל נושא
כתובת
משרדינו נמצאים מול קניון איילון ברמת גן:
הירקון 2 בני ברק (בית אלייד) קומה 17
חניה: בחניון קניון איילון
אוטובוסים המגיעים לקניון איילון ברמת גן
אגד: 531, 525, 524, 75
דן: 92 ,67, 57, 52, 42, 40, 27, 23, 20, 4