מה זה בובה? - ניהול תצורה באמצעות Puppet



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

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

מה זה בובה?

Puppet הוא כלי לניהול תצורה המשמש לפריסה, קביעת תצורה וניהול שרתים. הוא מבצע את הפונקציות הבאות:





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

Puppet משתמש בארכיטקטורת Master Slave בה Master ו- Slave מתקשרים דרך ערוץ מוצפן מאובטח בעזרת SSL. ארכיטקטורת בובות מוסברת בפירוט ב הדרכת בובות בלוג.

פונקציית מיון ב- c ++

צפה בסרטון זה ב- Puppet להבנה טובה יותר.



מה זה בובה? | הדרכת DevOps | אדוריקה

עכשיו שאתה יודע מה זה Puppet, תן לנו להבין את הסיבות מאחורי הפופולריות של Puppet.

מה זה בובה - מדדי מפתח

להלן כמה עובדות על בובה:



  • בסיס מותקן גדול: בובה משמשת יותר מ -30,000 חברות ברחבי העולם, כולל גוגל, רד האט, סימנס וכו ', יחד עם כמה אוניברסיטאות כמו סטנפורד ובית הספר למשפטים בהרווארד. בממוצע 22 ארגונים חדשים ביום משתמשים בפופ בפעם הראשונה.
  • בסיס מפתח גדול: בובה נמצאת בשימוש כה נרחב עד שהרבה אנשים מתפתחים למענה. ל- Puppet יש תורמים רבים לקוד המקור המרכזי שלה.
  • רקורד מסחרי ארוך: Puppet נמצא בשימוש מסחרי מאז 2005, ושופץ והשתפר ללא הרף. הוא נפרס בתשתיות גדולות מאוד (5,000+ מכונות) ושיעורי הביצועים והדרגתיות שנלמדו מפרויקטים אלה תרמו בפיתוח Puppet.
  • תיעוד: ל- Puppet וויקי גדול המתוחזק על ידי המשתמש עם מאות עמודי תיעוד והפניות מקיפות הן לשפה והן לסוגי המשאבים שלה. בנוסף, זה נדון באופן פעיל בכמה רשימות תפוצה ויש לו ערוץ IRC פופולרי מאוד, כך שלא משנה מה תהיה בעיית Puppet שלך, קל למצוא את התשובה.
  • תמיכה בפלטפורמה: שרת בובות יכול לפעול בכל פלטפורמה שתומכת ב- ruby ​​למשל: CentOS, Microsoft Windows Server, Oracle Enterprise Linux וכו '. היא לא רק תומכת במערכות ההפעלה החדשות אלא היא יכולה לפעול גם בגרסאות מערכת הפעלה ורובי ישנות יחסית ולא מעודכנות גם כן.

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

ניהול תצורה

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

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

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

הבה נבין את חשיבותו באמצעות מקרה שימוש.

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

ניהול תצורה ב- NYSE - מה זה בובה - אדוריקה

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

תוכניות ג'אווה לסדרות

לאחר מכן, הבה נראה כמה יישומים של Puppet.

מה זה בובה - יישומים של בובה

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

כעת, נראה אילו בעיות הם התמודדו עם תהליך זה:

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

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

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

אחרי What is Puppet blog , לחץ כאן לבקר בבלוג הבא שלי בנושא הדרכת בובות שיכלול ארכיטקטורת בובות ורכיבים של בובה. אסביר גם את הצעדים לפריסת MySQL ו- PHP באמצעות Puppet. Puppet הוא הכלי הנפוץ ביותר להשגת DevOps בארגונים עם תשתית גדולה.

אם מצאת זאת בלוג ב- “ מה זה בובה 'רלוונטי, לבדוק את מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפזורים ברחבי העולם. קורס הכשרת ההסמכה של Edureka DevOps עוזר ללומדים לרכוש מומחיות בתהליכים וכלים שונים של DevOps כמו Puppet, Jenkins, Nagios ו- GIT לאוטומציה של שלבים מרובים ב- SDLC.