בדיקות והבטחת איכותMenu

איך הפכנו להיות מ-System Administrator ל-DevOps Engineer?

​סביר להניח שהרבה אנשים העוסקים היום במקצועות מעולם מערכות המידע, שואלים את עצמם מה הם רוצים או מתכוונים לעשות בקריירה המקצועית שלהם בשנים הקרובות.

אך גם אנשים שרק נכנסו או מתעדים להיכנס לתחום, מעוניינים לדעת מה "הכי חם" כדי לרכוש את הכישורים הכי מבוקשים בשוק העבודה.

במאמר זה ננסה לענות לפחות על חלק מתהיות אלו-

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

אנשי system מנהלים היום לא עשרות, אלא מאות ואלפי שרתים. כל שירות שאנחנו מארחים פנימית או חיצונית בנוי מהרבה תת שירותים או מיקרו-שירותים (micro services) שעובדים בcluster  שמספק לנו שרידות וביצועים.

האתגרים הללו הביאו אותנו למספר אתגרים-

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

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

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

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

יכול להיות שחלק ממכם כבר חשבתם על איך אתם נותנים פתרונות לבעיות האלו או אפילו עשיתם מחקר עצמאי כדי למצוא את הכלי עבודה המתאים.

אך לאלו שעדיין לא חשבו על כך או נמצאים בשלבי התלבטות, אתן סקירה מהירה:

נתחיל מהבעיה הראשונה - כלים כמו Puppet/Chef/Ansible/SaltStack, אשר בזכותם אנו הופכים להיות יותר ויותר מומחי DevOps, מאפשרים לנו להשקיע יותר זמן בתכנון של התשתיות ופחות זמן במשימות רוטניות שחוזרות על עצמן.

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

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

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

גם את הבעיה השלישית של מתן ושירות יעיל בארגון, אנחנו יכולים לפתור עם כלים כמו MCollective/Capistrano/Rundeck  וזאת כדי לתרגם פעולותorchestration  מורכבות לכפתור אחד אשר לוחצים עליו ומקבלים תוצאות . או עם ELK  (Kibana+Logstash+Elasticsearch)  יש לנו יכולת לתת BI וKPI- ברמות של מוצרים שהינו פעם מבזבזים  חודשים רבים כדי להטמיע עם עזרה חיצונית.

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

אפילו תאגידי ענק מסחריים כמו מייקרוספט מבינים את המציאות החדשה ובכך אנחנו רואים את התרומה שלהם ל Open BSD (http://www.openbsdfoundation.org/contributors.html) או המוצר הבא במשפחת מערכות ההפעלה לשרתים  Windows Nano Server.

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

 

מאת: יבגני טרכטינוב, מהנדס ויועץ DevOps

יבגני משמש כמומחה DevOps בחברת Orbotech מטעם חברת NESS.

עוד בנושא...

עוד פרסומים בנושא אשר עשויים לעניין אותך