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