שף הוא כלי המשמש לניהול תצורה והוא מתחרה מקרוב בּוּבָּה . בבלוג זה אסביר מהו שף, ניהול תצורה וכיצד השף משיג את ניהול התצורה באמצעות מקרה שימוש.
מה זה שף?
שף הוא כלי אוטומציה המספק דרך להגדיר תשתית כקוד. תשתית כקוד (IAC) פירושה פשוט ניהול תשתית על ידי כתיבת קוד (תשתית אוטומציה) במקום באמצעות תהליכים ידניים. ניתן לכנות זאת גם כתשתית ניתנת לתכנות. שף משתמש בשפה טהורה-רובי, ספציפית לתחום (DSL) לצורך כתיבת תצורות מערכת. להלן סוגי האוטומציה של שף, ללא קשר לגודל התשתית:
- תצורת תשתית
- פריסת יישומים
- תצורות מנוהלות ברחבי הרשת שלך
כמו בּוּבָּה שיש לו אדריכלות Master-Slave אפילו לשף יש ארכיטקטורת Client-Server. אבל לשף יש רכיב נוסף שנקרא Workstation. אני אדבר על תחנת עבודה בבלוג הבא שלי. עיין בתרשים להלן:
ב- Chef, הצמתים מתעדכנים באופן דינמי עם התצורות בשרת. זה נקרא תצורת משיכה מה שאומר שאנחנו לא צריכים לבצע אפילו פקודה אחת בשרת Chef כדי לדחוף את התצורה על הצמתים, הצמתים יתעדכנו עצמם אוטומטית בתצורות הקיימות בשרת. הבלוג הבא שלי ב הדרכת שף יסביר את ארכיטקטורת השף יחד עם כל מרכיבי השף בפירוט.
עכשיו, בואו נסתכל על הסיבות מאחורי הפופולריות של השף.
מה זה שף - מדדי מפתח השף
- שף תומך במספר פלטפורמות כמו AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows ו- Ubuntu. פלטפורמות לקוח נוספות כוללות את Arch Linux, Debian ו- Fedora.
- ניתן לשלב את השף עם פלטפורמות מבוססות ענן כגון Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure ו- Rackspace כדי לספק ולהגדיר באופן אוטומטי מכונות חדשות.
- לשף תמיכה קהילתית פעילה, חכמה וצומחת במהירות.
- בגלל בשלותו וגמישותו של השף, הוא משמש על ידי ענקיות כמו מוזילה, Expedia, פייסבוק, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Satisfaction, IGN, University of Marshall, Socrata, University of Minnesota, Wharton School מאוניברסיטת פנסילבניה, בונובוס, ספלאנק, סיטי, דו-דיל, דיסני וצ'יזבורגר.
לדברי פיל דיבוביץ ', מהנדס הפקה, פייסבוק
'ישנם שלושה ממדים של קנה מידה שאנו בדרך כלל בוחנים עבור תשתית - מספר השרתים, נפח התצורות השונות במערכות אלו ומספר האנשים הנדרשים לתחזוקתן. שף סיפק פתרון אוטומציה גמיש מספיק בכדי להתכופף לדינמיקת המידה שלנו מבלי לדרוש מאיתנו לשנות את זרימת העבודה שלנו. '
ללא ספק שף הוא אחד הכלים המפורסמים ביותר לניהול תצורה והוא מתחרה מקרוב בּוּבָּה . אבל, לפני שצוללים עמוק לתוך 'מה זה שף', זה רק הוגן שאסביר תחילה מה זה ניהול תצורה ומדוע זה חשוב.
ניהול תצורה
אל דאגה, לא תהיה שום הגדרה כבדה לניהול תצורה בבלוג זה :)
תן לנו להבין את ניהול התצורה בצורה כזו - נניח שעליך לפרוס תוכנה על גבי מאות מערכות. תוכנה זו יכולה להיות מערכת הפעלה או קוד או שהיא יכולה להיות עדכון של תוכנה קיימת. אתה יכול לבצע משימה זו באופן ידני, אך מה קורה אם תצטרך לסיים את המשימה הזו בן לילה מכיוון שמחר עשוי להיות יום המיליארד הגדול מכירה בחברה או כזו M אוֹ מְכִירָה וכו 'בו צפויה תנועה כבדה. גם אם הצלחת לעשות זאת באופן ידני, קיימת אפשרות גבוהה לשגיאות מרובות ביום הגדול שלך. מה אם התוכנה שעדכנת במאות מערכות לא עובדת, אז איך תחזור לגרסה היציבה הקודמת, האם תוכל לבצע משימה זו באופן ידני? כמובן שלא!
כדי לפתור בעיה זו, הוצג ניהול תצורה. באמצעות כלים לניהול תצורה כמו שף, בובה וכו 'תוכלו לבצע משימה זו אוטומטית. כל שעליך לעשות הוא לציין את התצורות בשרת מרכזי אחד ובהתאם לכך כל הצמתים יוגדרו. זה מאפשר גישה לרשומה היסטורית מדויקת של מצב המערכת למטרות ניהול פרויקטים וביקורת. אז בעצם, עלינו לציין את התצורות פעם אחת בשרת המרכזי ולשכפל את זה באלפי צמתים. ניהול תצורה מסייע בביצוע המשימות שלהלן בצורה מאוד מובנית וקלה:
- להבין אילו רכיבים לשנות כאשר הדרישות משתנות.
- ביצוע יישום מחדש מכיוון שהדרישות השתנו מאז היישום האחרון.
- חזרה לגרסה קודמת של הרכיב אם החלפתם בגרסה חדשה אך פגומה.
- החלפת הרכיב הלא נכון כי לא הצלחת לקבוע במדויק איזה רכיב אמור להיות מוחלף.
עיין בבלוג שלי ב- Puppet כדי ללמוד כיצד NYSE חסכה מיליוני דולרים בעזרת ניהול תצורה
היתרונות של jquery על פני javascript
ישנן שתי דרכים בדרך כלל לנהל את התצורות שלך, כלומר תצורות דחיפה ומשיכה.
- תצורת משיכה: בסוג זה של ניהול תצורה, הצמתים סוקרים מעת לעת שרת מרכזי לצורך עדכונים. צמתים אלה מוגדרים באופן דינמי כך שבעצם הם מושכים תצורות מהשרת המרכזי. תצורת משיכה משמשת כמו כלים כמו שף, בובה וכו '.
- תצורת דחיפה: בסוג זה של ניהול תצורה, השרת המרכזי דוחף את התצורות לצמתים. בניגוד לתצורת Pull, ישנן פקודות מסוימות שיש לבצע בשרת המרכזי על מנת להגדיר את הצמתים. תצורת דחיפה משמשת כלים כמו Ansible.
למד רכיבים שונים של ניהול תצורה בבלוג ההדרכה שלי לבובות
עכשיו זה הזמן הנכון שאני מקדים אותך במסע הזה של הבנת 'מהו שף' על ידי הסבר כיצד השף משיג ניהול תצורה.
מהו שף - ניהול תצורה עם שף
הבנו מה זה שף, עכשיו אסביר לך כיצד שף משיג את ניהול התצורה בעזרת מקרה שימוש. גאנט היא חברת אחזקות תקשורת אמריקאית הנסחרת בבורסה. זהו המו'ל הגדול ביותר בעיתון בארה'ב, הנמדד לפי תפוצה יומית כוללת.
זרימת העבודה לפריסה המסורתית של גנט התאפיינה במסירות מסירות ומסירות בדיקות ידניות. בואו נראה מה היו הבעיות שעמדו בפניהם בתהליך זה:
- שמירה על מבנים מדויקים וחוזרים ונשנים הייתה קשה.
- היו הרבה כשלים בבנייה ומבחנים לרוב התנהלו בסביבות לא נכונות.
- זמני הפריסה וההקצאה יכולים לנוע בין מספר ימים למספר שבועות.
- לצוות התפעול לא הייתה גישה לענן או לסביבות הפיתוח.
- כל קבוצה השתמשה בערכת כלים משלה, ולא הייתה כל דין וחשבון למימון או אבטחה. איש לא ידע כמה אפליקציה עולה בפועל. לאבטחה לא הייתה שום אפשרות לבדוק את ערימות התוכנה.
גנט היה מוכן לשינוי. מפתחים רצו לפרוס את היישומים שלהם במהירות. התפעול רצה תשתית יציבה שבה הם יוכלו לבנות ולהתפרס בצורה חוזרת על עצמה. האוצר רצה לדעת מה העלות האמיתית של יישום. אבטחה רצתה להציג ולבדוק את כל הערימות ולהיות מסוגל לעקוב אחר שינויים.
גאנט ראה כי הענן כשירות מציע יתרונות רבים. למפתחים הייתה גישה למשאבים סטנדרטיים. היה קל יותר להתמודד עם תעבורת שיא בגלל מודל החישוב לפי דרישה של ענן, ומסירות ההעברה היו ממוזערות.
שף מאפשר לך לספק דינמיות ולהסיר את התשתית שלך על פי דרישה כדי לעמוד בקצב השיאים בשימוש ובתנועה. זה מאפשר לפרוס ולעדכן שירותים ותכונות חדשים בתדירות גבוהה יותר, עם סיכון מועט להשבתה. בעזרת שף תוכלו לנצל את כל הגמישות והחיסכון בעלויות שמציע ענן.
בואו נראה מה היו הפונקציות שביצע השף בגנט:
- גנט החל לבנות VPC (Virtual Private Cloud) לסביבת פיתוח שתחקה את הייצור. אף אחד מהכלים שכבר השתמשו בהם לא היה מתאים. אבל הם גילו ששף עובד היטב עם הענן וגם עם סביבת לינוקס וגם חלונות. הם השתמשו בשף כדי לבנות סביבת פיתוח שתואמת באופן מושלם את סביבת הייצור.
- כדי שאפליקציה תעבור ל- VPC, היה עליה לספק אותה ולפרוס אותה עם שף.
- אבטחה תהיה מעורבת בשלב מוקדם ותנהל את הפקדים החובה לגישה לשף ולשמירה על תקני אבטחת המערכת.
Apache ניצוץ לעומת Hadoop Mapreduce
זה הזמן להבין מה היו התוצאות של התהליך הזה:
- פריסתו של גנט הפכה למהירה ואמינה יותר. אספקה ופריסה של אפליקציות, שלקח פעם שבועות, לאחר השימוש בשף זה לקח דקות.
- כל היישומים החדשים נפרסו בענן עם שף. יישומים אלה נפרסו לכל הסביבות באותו אופן שבו הם נפרסו לייצור. כמו כן, בדיקות התרחשו בכל סביבה, כך שהפריסות היו אמינות.
- כל התשתיות טופלו כקוד, מה שמגדיל מאוד את החשיפה לכל שינוי שהתרחש. פיתוח, תפעול, אבטחה ופיננסים נהנו מכך.
לאחר ' מה זה שף ”הבלוג הבא שלי כלומר הדרכת שף מתמקד בארכיטקטורה של השף יחד עם מרכיביו. הסברתי גם כיצד לפרוס את Apache2 באמצעות שף.
אם מצאת את הבלוג הזה ב- “ מה זה שף 'רלוונטי, לבדוק את מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפזורים ברחבי העולם. קורס הכשרת ההסמכה של Edureka DevOps עוזר ללומדים לרכוש מומחיות בתהליכים וכלים שונים של DevOps כמו Puppet, Jenkins, Nagios ו- GIT לאוטומציה של שלבים מרובים ב- SDLC.