קצת על Windows ואוטומציה

תרשו לי להציג אבחנה אישית מעניינת: בחברות רבות שרוב השרתים הם שרתי לינוקס, סביר מאוד להניח שהוטמע בחברה פתרון אוטומציה כלשהו. בחברות אחרות שרוב השרתים הם שרתי Windows, הסיכוי למצוא אוטומציה כמעט מלאה כמו במקרים של לינוקס – הסיכוי הוא קטן עד בינוני. כמובן שברוב החברות יש סקריפטים שונים (ומשונים) לעשות עבודות כלשהן, אבל כשזה מגיע ל-Windows, בחברות רבות "נעולים" על ביצוע עבודה דרך GUI ורק אם אין ברירה – דרך סקריפטים (ב-Windows ברוב המוחץ של המקרים – PowerShell).

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

  • Chef
  • Puppet
  • Ansible
  • SALT

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

עד לאחרונה Ansible היה זמין בגירסת קוד פתוח לשימוש חופשי אך תוכנת הניהול הוובית היתה זמינה כקוד סגור בלבד (מה שכמובן לא מונע מאף אחד להשתמש במערכת ללא הממשק הוובי). מכיוון שרד-האט לא אוהבים להשאיר מערכות שהם קונים כסגורות, רד-האט החליטה לפתוח את הקוד של Ansible Tower (הממשק הוובי) תחת שם: AWX

אחד היתרונות הגדולים בגירסה האחרונה (2.5) של Ansible היא פתרון מלא ל-Windows. צריכים לעדכן שרתים? צריכים להוסיף אתר ל-IIS? צריכים להעביר קבצים? מעתה כל מה שצריך זה ליצור קבצי Playbooks פשוטים (לא, לא צריך לדעת לתכנת בשביל לכתוב Playbooks) ופשוט להריץ אותם. Ansible ירוץ במקביל לכל המכונות שהגדרתם ויבצע את העבודה. בתוך Ansible יש חלקים שנקראים מודולים שהם בעצם הקוד שירוץ על השרתים (דרך WinRM) והם כתובים ב-Python ולכן חלוקת העבודה יכולה להיות שמי שמבין בפייתון יכתוב מודולים והשאר יכתבו Playbooks בהתאם לצורך. אגב, יש תמיכה במערכות הפעלה אחרות, וירטואליזציה וגם חומרה.

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

Comments

comments

תגובה אחת בנושא “קצת על Windows ואוטומציה”

  1. יפה, רק שחסר קצת מידע מהצד השני 🙂

    בעולם ה system windows אין הרבה שמכירים python על פני vbscript ובעשור האחרון PowerShell.

    בארבע שנים האחרונות, מיקרוסופט פיתחה טכנולוגיה מבוססת PowerShell שנקראת DSC שבלי שום מוצר חיצוני מאפשרת הקמת שירותים שונים על שרתי win. נכון הטכנולוגיה היא לא מוצר מלא, חסר בו כלי orchestration וניהול gui ( לצערי יש עדיין אנשים שלא יכולים בלי).

    DSC הפך במיקרוסופט לסטנדרט עד כדי כך שהם משדרגים אותו להיות מבוסס .net coreואז הוא יגיע עם PowerShell.coreותוכל להפעיל את זה על לינוקס ( גם היום זה אפשרי).

    עבור שלושת המוצרים העיקרים, הם ישבו עם מיקרוסופט והפכו חלק ניכר מה win providers שלהם שישתמשו בספריות של dsc וכל חסכו הרבה מאוד קוד. אורך ממוצע של קובץ קונפיגורציה עבור שרתי win ושירותים שונים ירד משמעותית.

    מומלץ לכל מי שיש לו היום תשתית מעורבת וקיים אצלו אחד המוצרים שהוזכר (אני משוחד כי אני מעדיף ansible) לקרוא על השימוש שלהם בתשתית של dsc.

    למי שיש רק סביבת חלונות ורוצה לבצע קפיצת מדרגה בכל מה שקשור ל automatic provisioning ול infrastructure as code לעשות חיפוש על DSC ולראות איך דברים הופכים לקלים יותר.

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

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

This site uses Akismet to reduce spam. Learn how your comment data is processed.