שאלה איך החבר'ה הקטנים יכולים ללמוד ולהשתמש בובות? [סגור]


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

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

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

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


106
2018-06-06 08:38






תשובות:


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

כמה הערות על הנקודות שלך ...

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

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

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

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

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

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

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

זכור, האתר הזה הוא משאב טוב, יותר מדי.


101
2018-06-06 09:02



עברתי מנסיון ללא ניסיון על הבובה, עד שהדימוי המלא שלי הצליח תוך שבועיים. אני אחראי על ~ 40 מכונות וירטואליות, אם כי כל פועל אובונטו. זה דברים פשוטים. אני מפתח על ידי מקצוע. "להסתגל או להישאר מאחור" - עכשיו אני devops + sysadmin + אדריכל. תשובה מצויינת! - François Beausoleil
אני ממליץ להם להתחיל לפרוס שירותים קטנים, הראשון העצמאי ואז להתחיל להתעסק עם יותר שרתים. אני לא צריך לעבוד עם בובות, אבל יש לי VPS קטן ואני לאחרונה עשיתי שלי בובות מודולים. אם הם רוצים לשמור על קשר עם שאר cysadmins במאה הנוכחית, הם היו צריכים להיות ראש פתוח. אני עושה את זה כי אני אוהב, ואני מניח לא כולם אוהבים ללמוד דברים חדשים, אבל דבר אחד הוא בטוח, כיום sysadmins קרובים יותר למפתחים מאשר אי פעם. - Sergio Galvan
אני עובד בחברה קטנה ואני גם רץ puppetd -t עבור בדיקות על כמה תיבות לפני לדחוף את כל השרתים. זה אף פעם לא נכשל כי לזוג יש משהו ייחודי שגורם עדכונים שלי להיכשל עליהם. בובה היא הרבה יותר קל כאשר יש לך סביבה מבוקרת ועקבית עבור ההתחלה. - jordanm
@whwhite, אני כבר עבדתי דרך המדריך בובות שלהם מסמכים אבל תהיתי מה הספר השתמשת כאשר לומדים? אני סוג של מרגיש כמו הדרכה מסופק על המסמכים היה חסר משהו כי הוא שומר על הכל מפני לחיצה איתי כמו שאני עובד עם בובה על המארחים מבחן ללמוד מה אני עושה. עריכה: או כל המשאבים הנוספים שאתה יכול להמליץ ​​עליהם. תודה. - Mike Keller
@MikeKeller אהבתי את זה בהודעה שלי ... אבל זה זמין פה. - ewwhite


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

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

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

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

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

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

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

29
2018-06-06 15:59



הדבר הנחמד על ANSIBLE הוא שזה עובד על פני מרחקים גלקטיים עם שום עיכוב מוחלט העברת נתונים! - Kalamane
תודה על ההצהרה. לא הייתי מודע לכך עד עכשיו. - ewwhite
@whwhite אתה מוזמן. אני, אני עצמי, רק לאחרונה גיליתי את זה, אבל הרבה על זה תפס את תשומת לבי. אם כבר לא היינו כל כך בובות, הייתי בהחלט מנסה את זה. - Daniel C. Sobral


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

  1. הבינו שאתם מפתחים תוכנה אשר אתם גם לא יודעים איך לעשות או עושים גרוע. זה צפוי כי זה חדש.
  2. תשתיות כמו קוד היא המציאות ברגע שאתה מקבל מעל הדבשת זה די חזק. הייתי מזמין כמה מפתחים מעל, להראות להם את תהליך הפיתוח הנוכחי (או היעדרה), לא נעלבים כאשר הם מרימים גבות, ולקחת את הצעותיהם ברצינות. אני ממליץ להשתמש בכל מערכת ומעבד את המפתחים להשתמש אלא אם זה לא הולם לחלוטין.
  3. בובות צד שלישי מודולים למצוץ 90% מהמקרים. קראתי אותם. הייתי גונב מהם רעיונות. לא הייתי מושך אותם לתוך המערכת שלי ללא עריכות גדולות. עם זאת הייתי מושך ב stdlib בובה אשר מוסיף קצת פונקציונליות נחמדה.
  4. augeas ו hiera. למד את שני אלה. הראשון מאפשר עריכה מורכבת של הקבצים הקיימים במקום. השני הוא מאגר נתונים חיצוני.
  5. הפרד קוד מנתונים. זהו אחד המושגים הקשים יותר ללמוד. ערכי ההרדדה כמו 'מעקב אחר מארחים' בקוד המודול שלך גרועים. לשים אותם בחנות נתונים (db, yaml (Hiera משתמש זה להיות ברירת המחדל), csv, מה) כי המודולים שלך יכולים לצרוך הוא טוב. דוגמה לכך היא webapp המשתמשת ב- Mysql. מה זה מאפשר את היכולת לדחוף קוד ונתונים בנפרד. זה הופך את תהליך הפיתוח שלך לפשוט יותר.
  6. בובת וודאות בובות בובה-מוך כחלק ממך לפני או לכתוב קוד תהליך checkin. גם בדיקות rspec עשוי להיות רעיון טוב פעם אתה עד מהירות.
  7. לכתוב סגנון מדריך / קוד רגיל ולהשתמש בו. "איפה הקוד שמתקין אפאצ 'י" היא בעיה נפוצה. אם המודולים שלך הם בעיקר אותו הדבר צריך להיות קל.

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


11
2018-06-06 18:04



תודה על ההצעות שלך, במיוחד augeas ו hiera הם שני מרכיבים התחלנו ליישם וזה עשה לנו הרבה יותר מודעים, אפילו בטוח של יכולות של בובה. אז תודה :-) - drumfire


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

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

מאז ההחלטה התקבלה חברי ה- IT שלנו הפכו קצת יותר מדי   מוטרד קצת יותר מדי.

הם זקוקים להתאמת עמדה.

"We're not programmers, we're sysadmins";

שוב, היחס. אתה -can- להפוך קובץ conf עבור שרת נכון? אתה יכול בקלות לתוך תבנית / 'מתכנת' דברים כמו הצרכים שלך ואת המורכבות מתפתח.

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

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

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

זה לא נשמע כמו בעיה של בובות, אבל יותר מכך סוגיה ארגונית או תיעוד?

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

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

"Let's just run it and see how it works"

זה לא כל כך רע אם אתה לוקח את זה לאט ובטוח. אני עדיין להתחיל עם VM כדי לקבל את תמצית הדברים.

טונות של 'הרחבות' לא ידועות במודולים קהילתיים: 'trocla'   'augeas', 'hiera' ... כיצד יכולים המסדרים שלנו לעקוב?

postfix, exim, sendmail, MySQL, postgresql, iftop, iptraf, Perl, מודולים Perl .. לבחור מה אתה רוצה להשתמש בו? אני מניח שזה נשמע יותר כמו דבר היחס שוב ...

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

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

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


7
2018-06-06 14:04



לידיעתך, זה מגיע ממישהו שפשוט סיים לקבל את התשתית שלהם מוכנה להתגלגל. אז יש לי ניסיון חדש ולא יכול להגיד שזה היה בזבוז זמן. - thinice
כמו המתנע האחרונות בעצמי, אני מזהה את עצמי לחלוטין את ההערה שלך. - Martijn Heemels
במקרה שלי, שינוי בגישה היה הכרחי. אופס אהבה אוטומציה ולעתים קרובות דברים סקריפט, אז זה בעיקר עניין של שימוש בכלים שונים. זוהי תחושה מגניב לראות את המניפסט בובה להגדיר מכונה שלמה או שירות חדש מאפס. העובדה כי שגיאה יכולה להשפיע על מספר מכונות בו זמנית דורש להתרגל בדיקות קפדניות יותר, אשר יכול להיות מעצבן אבל הוא ללא ספק דבר טוב. ניסוי עם Vagrant, rspec- בובה, בובות מוך, Geppetto, סניפים Git וכלים חופשיים אחרים ואתה בקרוב לגלות את זרימת העבודה המועדפת עליך. - Martijn Heemels
עבודה עם בובה גם עזר לי ללמוד רובי, אשר בא להחליף את בש כמו שפת ברירת המחדל שלי כלי שפה. - Martijn Heemels


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

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


5
2018-06-06 09:18



... כי אנחנו מצפים מספר השרתים שלנו לגדול באופן משמעותי בין עכשיו לבין שנה מהיום. הדרישה? - Jeff Ferland
באמת תלוי עד כמה בטוח כי הציפייה ואם מה אתה שם במקום עדיין יהיה מתאים בזמן הצורך באמת עולה. - JamesRyan
+1 עבור "להשתמש המינימום החשוף כי הפריסה שלך דורש" - הרבה בעיות הבובה אני כבר נתקל לתוך גזע מ מנסה להפוך את השליטה בובות הכל על המערכת. - Sirex


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

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

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

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


5
2018-06-06 13:50





"אנחנו לא מתכנתים, אנחנו סיסדמינים"

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

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

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

חזרה לבובה [, CFEngine, שף] נושא: ברגע אחד מגדיר פתרון כזה, אחד מאבד. כולם מאבדים. למה? כי מי שעולה עם הרעיון הוא לא מסוגל לעצב ניהול תצורה encapsulated בצורה של נחמד, נקי, Kickstart [, JumpStart, אוטומטי Installer, AutoYaST, Ignite-UX, NIM] חבילות מערכת ההפעלה. כאשר אתה צריך להשתמש בכלי פריצה אוטומטי כמו בובה (או שף, או CFEngine), זה אומר שאתה חסר את עיצוב ול ליישם תהליך אשר, על ידי אותו עיצוב, לאכוף לחלוטין וטהור האורות את מערכות מנוהלות, אוטומטי לחלוטין לחלוטין לא אינטראקטיבי.

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

העבודה עם בובה גם עזרה לי ללמוד את רובי, שבא להחליף את באש כשפת ברירת המחדל של כלי המערכת שלי ".

מדוע רובי דרושים, כאשר ניהול תצורה מקיף, מקצה לקצה ניתן גלומים להתקין מראש, postinstall, preremove וחתכי postremove של חבילות מערכת הפעלה, רק באמצעות תוכניות פגז בורן, AWK, ו SED? כי מישהו ילך לאורך למידה של שפה אזוטרית של רובי, ואת הניב שלה בהקשר של בובה, הוא מיותר לחלוטין. הבעיה של ניהול תצורה היא לפתרון בקלות (וגם שנינות, נפתרה) עם תוכניות פגז AWK, ו קצת סד (1) פה ושם כמו דבק.

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

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

קוד 5.Separate מנתונים. זהו אחד המושגים הקשים יותר ללמוד. ערכי ההרדדה כמו 'מעקב אחר מארחים' בקוד המודול שלך גרועים. לשים אותם בחנות נתונים (db, yaml (Hiera משתמש זה להיות ברירת המחדל), csv, מה) כי המודולים שלך יכולים לצרוך הוא טוב. דוגמה לכך היא webapp המשתמשת ב- Mysql. מה זה מאפשר את היכולת לדחוף קוד ונתונים בנפרד. זה הופך את תהליך הפיתוח שלך לפשוט יותר.

... או שאתה יכול פשוט תבנית קבצי התצורה שלך עם משתנים פגז, אפילו backquotes (למשל ls -1 ...) ולכתוב סקריפט פגז אשר משתמש AWK להתקשר להעריך (1) ולהרחיב את כל המשתנים בתבנית, ובכך מינוף בדיוק מנתח חזק אשר פגזים יש מובנית. למה לעשות את זה מורכב, כאשר זה יכול להיות באמת, פשוט באמת? היכן תשמור את ערכי התצורה? למה, בכל מקום שאתה רוצה, כגון למשל pkginfo (4) קבצים, או מסד נתונים כמו אורקל, או פחות או יותר בכל מקום. אין צורך פתרונות Ultracomplex. הספרייה שאני מזכיר למעלה יכולה להיות פשוט המקור מן החלקים מראש או postinstall בחבילות של מערכת ההפעלה, ובכך להסיר שכפול ומינוף פיסת קוד מרכזי ...

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


4
2018-02-11 12:28



נראה ששכחת את תשובתך לשאלת המחברים. - M. Glatki
תשובה זו נראית בראש ובראשונה דיון על דעות, עמדות וכלים, ואינו מתייחס לשאלה הנשאלת. - JonathanDavidArndt