✕ סגור 
צור קשר
תודה על ההתעניינות .

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form

5 טיפים למעבר ל- CI/CD בחברות גדולות

חץ בן חמו
|
קלה
|
Mar 14, 2019
alt="facebook"alt="linkedin"
להרשמה לניוזלטר

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

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

סה"כ זמן הפרויקט: חודשיים (2-3 פעמים בשבוע). טיפ לחבריי הפרילאנסרים – מומלץ לחשוב על מחיר שעה במקום מחיר פרויקט. זה היה הרבה יותר ממה שקבענו.

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

:בחברות גדולות CI/CD -להן 5 הטיפים למעבר ל

1. לבחור צוות שיעבור ל-CI/CD מתוך כל הצוותים שיש בחברה. כדאי שבצוות יהיו אנשים עם מוטיבציה ועם ראש פתוח. בלי זה – המעבר יכשל, מבטיח לכם.

2. להעדיף כלים מבוססי קוד פתוח או פתרונות מסחריים מבוססי קוד פתוח. כלים קנייניים הם מקור לצרות בעולם ה-CI/CD שמתפתח בקצב מהיר. לעומת זאת, כלים בקוד פתוח צריכים בד"כ הרצה של פקודת YUM או APT כדי לעדכן.

3. האם בהזדמנות זו מכניסים פתרון קונטיינרים? (אפשר לבצע CI/CD ללא קונטיינרים) – אם כן, כדאי להחליט אם הולכים על פתרון מסחרי של Kubernetes כמו CAAS של SuSE או עלOpenShift של רד-האט שהוא גם מבוסס Kubernetes  (ישנם כמובן גם פתרונות אחרים אבל הם לא עונים לצרכים של Enterprise).

4. פיתוח כ-Multi Platform – חשוב במיוחד לבנקים, חברות ביטוח וחברות פיננסיות. זה נחמד וטוב לפתח ל-Windows אבל אפשר בעזרת עבודה די קצרה לעבור ל-Multi Platform. עובדים ב-JAVA? מצוין, אפשר גם עם לינוקס, צריך בסה"כ לשנות מספר סקריפטים (אם כתבתם) כדי לעבוד בלינוקס. עובדים עם Dot Net? תכירו את Dot Net Core שמאפשר לכם עבודה עם Windows ולינוקס. היתרון של עבודה עם לינוקס הוא שמגוון רחב של כלים יהיה זמין לכם (במיוחד אם אתם עובדים עם קונטיינרים).

5. טסטים - יש עדיין מקומות שמעסיקים אנשי QA. ברוב המקומות לעומת זאת, כבר אין חיה כזו מהסיבה הפשוטה שהיום פשוט כותבים טסטים שרצים במערכת כמו Jenkins המבצעים בדיקות Unit testing ועוד מספר סוגי טסטים על מנת לוודא שמה שמפותח – הוא יציב ועובד.

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

עוד משהו אחד שרבים לא יאהבו, החיה הזו בשם "איש Devops" היא המצאה שגויה במהותה. נסתכל על משהו פשוט בחברה גדולה: החברה מחליפה תוכנת גיבוי, תוכנת Code Repository,  אולי כלי אוטומציה ועוד מספר דברים. האם אותה חברה צריכה פתאום שכיר נוסף? לא, כי צוות ה-IT אמור לדעת לתמוך בכלים. אפשר לקרוא למישהו מבחוץ שילמד ויתרגל את הצוות, אבל הצוות יכול בהחלט להמשיך ולתחזק את אותם כלים. אדרבא, הן אנשי ה-IT והן צוותי הפיתוח צריכים להכיר את הכלים (ברמה מסוימת כמובן, ה-IT ברמה של Sysadmin והשאר ברמה של Usage).

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

,מאת: חץ בן חמו

http://linvirtstor.net

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

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

סה"כ זמן הפרויקט: חודשיים (2-3 פעמים בשבוע). טיפ לחבריי הפרילאנסרים – מומלץ לחשוב על מחיר שעה במקום מחיר פרויקט. זה היה הרבה יותר ממה שקבענו.

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

:בחברות גדולות CI/CD -להן 5 הטיפים למעבר ל

1. לבחור צוות שיעבור ל-CI/CD מתוך כל הצוותים שיש בחברה. כדאי שבצוות יהיו אנשים עם מוטיבציה ועם ראש פתוח. בלי זה – המעבר יכשל, מבטיח לכם.

2. להעדיף כלים מבוססי קוד פתוח או פתרונות מסחריים מבוססי קוד פתוח. כלים קנייניים הם מקור לצרות בעולם ה-CI/CD שמתפתח בקצב מהיר. לעומת זאת, כלים בקוד פתוח צריכים בד"כ הרצה של פקודת YUM או APT כדי לעדכן.

3. האם בהזדמנות זו מכניסים פתרון קונטיינרים? (אפשר לבצע CI/CD ללא קונטיינרים) – אם כן, כדאי להחליט אם הולכים על פתרון מסחרי של Kubernetes כמו CAAS של SuSE או עלOpenShift של רד-האט שהוא גם מבוסס Kubernetes  (ישנם כמובן גם פתרונות אחרים אבל הם לא עונים לצרכים של Enterprise).

4. פיתוח כ-Multi Platform – חשוב במיוחד לבנקים, חברות ביטוח וחברות פיננסיות. זה נחמד וטוב לפתח ל-Windows אבל אפשר בעזרת עבודה די קצרה לעבור ל-Multi Platform. עובדים ב-JAVA? מצוין, אפשר גם עם לינוקס, צריך בסה"כ לשנות מספר סקריפטים (אם כתבתם) כדי לעבוד בלינוקס. עובדים עם Dot Net? תכירו את Dot Net Core שמאפשר לכם עבודה עם Windows ולינוקס. היתרון של עבודה עם לינוקס הוא שמגוון רחב של כלים יהיה זמין לכם (במיוחד אם אתם עובדים עם קונטיינרים).

5. טסטים - יש עדיין מקומות שמעסיקים אנשי QA. ברוב המקומות לעומת זאת, כבר אין חיה כזו מהסיבה הפשוטה שהיום פשוט כותבים טסטים שרצים במערכת כמו Jenkins המבצעים בדיקות Unit testing ועוד מספר סוגי טסטים על מנת לוודא שמה שמפותח – הוא יציב ועובד.

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

עוד משהו אחד שרבים לא יאהבו, החיה הזו בשם "איש Devops" היא המצאה שגויה במהותה. נסתכל על משהו פשוט בחברה גדולה: החברה מחליפה תוכנת גיבוי, תוכנת Code Repository,  אולי כלי אוטומציה ועוד מספר דברים. האם אותה חברה צריכה פתאום שכיר נוסף? לא, כי צוות ה-IT אמור לדעת לתמוך בכלים. אפשר לקרוא למישהו מבחוץ שילמד ויתרגל את הצוות, אבל הצוות יכול בהחלט להמשיך ולתחזק את אותם כלים. אדרבא, הן אנשי ה-IT והן צוותי הפיתוח צריכים להכיר את הכלים (ברמה מסוימת כמובן, ה-IT ברמה של Sysadmin והשאר ברמה של Usage).

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

,מאת: חץ בן חמו

http://linvirtstor.net

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
חץ בן חמו
בואו נעבוד ביחד
צרו קשר