DevOps – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
הרחבה
הרחבה
שורה 17:
 
למרות שקיימים כלים שונים רבים, ישנן כמה קטגוריות של כלים אשר חיוניות להקמת תשתית DevOps. כלים כמו [[Docker]], [[Jenkins]], [[Puppet]] ו-[[Vagrant]] הם דוגמאות לכלים פופולריים המשמשים בשרשרת הכלים של DevOps.
 
== DevOps בהשוואה ל-Agile ו-Continuous delivery ==
 
בארגונים אשר אימצו את גישת [[פיתוח תוכנה זריז]] (Agile) חלה עלייה בכמות גרסאות התוכנה המשוחררות. במקור, שיטת ה-DevOps נוצרה מהעלייה בפופולאריות של פיתוח זריז. שיטות ה-Agile ו-DevOps דומות אך שונות במספר היבטים חשובים: Agile מהווה שינוי בצורת החשיבה, בעוד ש-DevOps מיישמת שינוי בתרבות הארגונית הלכה למעשה. אחת המטרות של DevOps היא לייסד סביבה בה יכולים להתקיים שחרורי גרסאות תוכנה אמינות יותר ובקצב גבוה יותר. מנהלים האחראים על שחרורי גרסאות מתחילים להשתמש בכלים כגון אוטומציה לשחרור גרסאות וכלים ל-[[continuous integration]] כדי לסייע בקידום מטרה זו. כל זה נעשה תוך יישום גישת ה-[[continuous delivery]] ("אספקת תוכנה מתמשכת").
 
למושגים Continuous delivery ו-DevOps משמעות דומה, ולעתים קרובות מבלבלים ביניהם, אך עם זאת אלו הן שתי תפישות שונות. גישת ה-DevOps רחבה יותר, והיא מתמקדת בשינוי תרבותי, ובפרט בשיתוף הפעולה בין הצוותים השונים שלוקחים חלק באספקה (delivery) של התוכנה (פיתוח, QA, IT, הנהלה, וכו'), כמו גם האוטומציה של תהליכי אספקת התוכנה. בהשוואה לכך, continuous delivery היא גישה אשר מתמקדת באוטומציה של שחרור גרסאות, חיבור בין התהליכים השונים, וביצוע מהיר ותכוף יותר שלהם. המטרות הסופיות של שתי הגישות הן זהות ולעתים קרובות משלבים ביניהן להשגת מטרות אלו. גישות ה-DevOps וה-continuous delivery באות מאותו רקע של שיטות עבודה זריזות ו"חשיבה רזה": ביצוע של שינויים קטנים ומהירים עם התמקדות בתועלת עבור הלקוח הסופי. השיטות מתבססות על תקשורת ושיתופי פעולה פנימיים איכותיים, ובכך מסייעות להשיג זמנים קצרים לשחרור התוכנה לשוק (time to market), תוך הפחתת סיכונים.
 
== ראו גם ==