שאלה למה להשתמש שף / בובות על סקריפטים פגז?


חדש לבובות ושף כלים. נראה כאילו העבודה שהם עושים ניתן לעשות עם scripting פגז. אולי זה נעשה בתסריטים פגז עד שהם הגיעו.

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


78
2018-05-01 10:13






תשובות:


שפה ספציפית לדומיין עושה הבדל גדול בכמות הקוד שאתה כותב. לדוגמה, אתה יכול לטעון כי אין הבדל גדול בין:

chmod 640 /my/file

ו

file { "/my/file":
    mode => 640,
}

אבל יש הרבה הבדל בין אלה:

FILE=/my/file
chmod 640 $FILE
chown foo $FILE
chgrp bar $FILE
wget -O $FILE "http://my.puppet.server/dist/$FILE"
     # where the URL contains "Hello world"

ו

file { "/my/file":
    mode => 640,
    owner => foo,
    group => bar,
    content => "Hello world",
}

מה קורה אם wget נכשל? איך יטפל בסקריפט שלך? ומה קורה אם יש משהו אחר בסקריפט שלך שדורש $ FILE להיות שם עם התוכן הנכון?

אתה יכול לטעון כי אפשר פשוט לשים echo "Hello world" > $FILE בסקריפט, פרט לכך שבדוגמה הראשונה יש להפעיל את התסריט על הלקוח, ואילו בובות הידור כל זה על השרת. אז אם תשנה את התוכן, אתה רק צריך לשנות את זה על השרת וזה משנה את זה כמו מערכות רבות כמו שאתה רוצה לשים את זה. ו בובות מטפל תלות בעיות העברה עבורך באופן אוטומטי.

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


55
2018-05-01 11:14



@ פול ציוד, זה oversimplification לומר כי כלי ניהול תצורה הם הדרך ללכת בטווח הארוך. לדוגמה, באמצעות AWS סקריפט פגז יכול לבנות את השרת מאפס, לרוץ כמה בדיקות, וברגע שאתה בטוח משטחים AWS בסדר, ליצור תמונה. אז אתה יכול לפרוס את התמונה כדי תצוגה מקדימה או סביבת הזמני לבדיקות נוספות, ברגע שאתה לאמת את התמונה היא טובה למטרות שלך, ואז אתה דוחף הייצור. כלי ניהול תצורה אינם מסייעים כלל בתרחיש זה. - Derek Litz
עכשיו אם אתה רוצה לנהל 100 שרתים ייעודיים כי אנשים משתמשים מדי יום (ויש לך שליטה קטנה על מה שהם עושים, בטעות או לא) זה המקום שבו כלי ניהול תצורה צריך לשמש. - Derek Litz
זו לא דוגמה משכנעת. אני יכול להתחיל עם wget ואז לא הייתי בסופו של דבר במצב מוזר. האם קובץ כמו עסקה שתקבל בחזרה אם כל השלבים לא יצליחו? - PSkocik


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

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

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


32
2018-05-01 14:58



כאשר העלות של ניהול הסביבה הוא כל כך גדול כי ניהול אוטומציה הוא באמת זול יותר. אם זה פשוט יותר שינויים סקריפט מנוהל ב Git או להגדיר את הדברים מרבב ssh אנחנו עושים את זה. מה שחשוב לי ביותר הוא שאני עוקב אחר המערכות ואמת שהכל פועל כצפוי. כל עוד אני מתריע כאשר משהו מוגדר בצורה לא נכונה, זה לא כל כך חשוב איך זה מקבל מוגדר. - kenchilada
@ whwhite "כאשר אתה מחליט להפוך לאוטומטי" xkcd.com/1205 - MikeyB
כלים מודרניים יותר כגון Ansible יש הרבה פחות פריסה / ניהול תקורה יותר מאשר שף או בובה, הדורש מעט תלות לא (Ansible בפרט הוא חסר סוכן). זה באמת מוריד את סרגל לאימוץ. - GomoX
@ whwhite אתה אוטומציה כאשר אתה רוצה לפרודוקטיביות אישית. אתה לומד על ידי אוטומציה, אתה לא לומד על ידי ביצוע משימות ארציות. למידה = הגדלת הפרודוקטיביות ושיפור איטרטיבי. אוטומציה משלב עם זה כדי לייצר יותר חיובי. זה כדור שלג חיובי במקום שלילי. התקדמות טכנית לעומת החוב הטכני. - Derek Litz
@ A-B-B לא, זה לא משתמע. אני אפילו לא מזכיר סקריפטים של פגז, אני מזכיר את האוטומציה כמקובל. אתה יכול להפוך דברים עם סקריפטים פגז וללמוד הפשטה scripting במקום לעשות דברים באופן ידני אשר לא רק לחסוך לך את הזמן לעשות את המשימה שוב, זה ימנע טעויות. כמו כן, אתה אמור להיות מסוגל לכתוב את התסריט הבא שלך קצת יותר טוב ואז האחרון. כדור שלג חיובי ... עם זאת, אם אתה מומחה לכתוב סקריפטים ואתה לא scripting משהו שאתה אי פעם להפעיל שוב, זה לא עוזר לך ללמוד או לחסוך לך זמן בכל דרך שהיא. - Derek Litz


ענית על השאלה שלך ...

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

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


23
2018-05-01 10:40



האם תסריטים פגזים איכשהו פחות רשמית? האם מצטט מודעות עבודה משכנע את הוויכוח? ו devops הוא די בושה, עבור s / הוא underexploited בתור מפתח. הקישור לא אומר שום דבר על מדרגיות. האם הטענה כי סקריפטים פגז אינם ניתנים להרחבה? אני חושב שבובה היא עניין מעניין, אבל לא בהכרח מהסיבות שבתשובה. - A-B-B
מודעות איוב משקפות את השוק האמיתי עבור מיומנויות ספציפיות. כן, השימוש בניהול התצורה למטרה המיועדת שלה הוא מדרגי יותר, חזק יותר וקל יותר לתעד מאשר סקריפטים פגז. הייתי בסביבות רבות, ורוב הסקריפטים שאני רואה אינם בנויים בצורה שתראה "איכות ייצור" ומאורגנת כדי לטפל בחריגים. ראה את התשובה המקובלת להבין מדוע. - ewwhite
"ו devops הוא די בושה, עבור s / הוא underexplited בתור מפתח." זה פשוט לא נכון. DevOps היא התמחות בפיתוח, בדיוק כמו פיתוח אינטרנט. הדפוסים והתהליכים של פיתוח תוכנה עדיין חלים. אתה צריך לקרוא על DevOps. - Chaim Eliyah


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

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

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

יצירות מפתח:

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

13
2018-05-03 19:11



אימפוטנציה היא כמעט בלתי אפשרית עם ss. תלות מנוהלים היטב על ידי yum / apt, וכו 'קבלה היא לא רלוונטית. ידע קהילתי קיים עבור ss. אני מקבל, עם זאת, כי אין צורך להעתיק מעל חבורה של סקריפטים, וכן הגדרת מערכות מרכזי, הן שימושיות. אני שומע בובה דורש סוכן בצד הלקוח. - A-B-B


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

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

כלי ניהול תצורה מבוססי-מדינה פשוטים יותר: פשוט אכפת לך שהקובץ כולל את ההרשאות הנכונות. איך זה מושגת הבעיה של הכלי.


10
2018-05-20 02:19



למעשה שלי chmod אינה מניחה שהקובץ קיים מכיוון שהקובץ נוצר או נוצר על-ידי התסריט. - A-B-B


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

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

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

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

יתרון נוסף הוא הקהילה: יש הרבה אנשים (שרבים מהם יהיו חכמים ו / או מנוסים יותר ממך). אישית אני אוהב את זה כאשר מישהו אחר עשה את העבודה שלי בשבילי, לעתים קרובות יותר מאשר היה לי.


9
2018-05-01 22:32





יצרתי מסגרת המבוססת על סקריפט המבוססת על סקריפט פגז: https://github.com/myplaceonline/posixcube

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


1
2017-12-25 01:15