ما هو الشيف؟ - أداة مستخدمة لإدارة التكوين



هذه المدونة على What is Chef هي أول مدونة في سلسلة مدونة Chef. يتحدث عن إدارة التهيئة وكيف يحقق الشيف ذلك باستخدام حالة الاستخدام.

الشيف هي أداة تستخدم لإدارة التهيئة وتتنافس بشكل وثيق معها دمية . في هذه المدونة ، سأشرح ما هو الشيف ، وإدارة التهيئة وكيف يحقق الشيف إدارة التهيئة باستخدام حالة الاستخدام.

ما هو الشيف؟

Chef هي أداة أتمتة توفر طريقة لتعريف البنية التحتية كرمز. تعني البنية التحتية كرمز (IAC) ببساطة إدارة البنية التحتية عن طريق كتابة التعليمات البرمجية (أتمتة البنية التحتية) بدلاً من استخدام العمليات اليدوية. يمكن أيضًا تسميته بالبنية التحتية القابلة للبرمجة. يستخدم Chef لغة روبي خالصة خاصة بالمجال (DSL) لكتابة تكوينات النظام. فيما يلي أنواع الأتمتة التي يقوم بها الشيف ، بغض النظر عن حجم البنية التحتية:





  • تكوين البنية التحتية
  • نشر التطبيق
  • تتم إدارة التكوينات عبر شبكتك

مثل دمية الذي يحتوي على بنية Master-Slave حتى أن Chef لديه بنية Client-Server. لكن الشيف لديه مكون إضافي يسمى محطة العمل. سأتحدث عن محطة العمل في مدونتي القادمة. الرجوع إلى الرسم البياني أدناه:

Chef vs Puppet - ما هو الشيف - Edureka



في Chef ، يتم تحديث Nodes ديناميكيًا بالتكوينات الموجودة في الخادم. هذا يسمي سحب التكوين مما يعني أننا لسنا بحاجة إلى تنفيذ حتى أمر واحد على خادم الشيف لدفع التكوين على العقد ، ستعمل العقد تلقائيًا على تحديث نفسها بالتكوينات الموجودة في الخادم. مدونتي التالية على الشيف التعليمي سوف يشرح هندسة الشيف مع جميع مكونات الشيف بالتفصيل.

الآن ، دعونا نلقي نظرة على الأسباب الكامنة وراء شعبية الشيف.

ما هو الشيف - مقاييس مفتاح الشيف

  • يدعم Chef منصات متعددة مثل AIX و RHEL / CentOS و FreeBSD و OS X و Solaris و Microsoft Windows و Ubuntu. تشمل منصات العملاء الإضافية Arch Linux و Debian و Fedora.
  • يمكن دمج Chef مع الأنظمة الأساسية القائمة على السحابة مثل Internap و Amazon EC2 و Google Cloud Platform و OpenStack و SoftLayer و Microsoft Azure و Rackspace لتوفير وتهيئة الأجهزة الجديدة تلقائيًا.
  • يتمتع Chef بدعم مجتمعي نشط وذكي وسريع النمو.
  • نظرًا لنضج الشيف ومرونته ، يتم استخدامه من قبل عمالقة مثل Mozilla و Expedia و Facebook و HP Public Cloud و Prezi و Xero و Ancestry.com و Rackspace و Get Satisfaction و IGN و Marshall University و Socrata و University of Minnesota و Wharton School من جامعة بنسلفانيا ، بونوبوس ، سبلينك ، سيتي ، ديودل ، ديزني ، وتشيزبرغر.

وفقًا لفيل ديبوويتز ، مهندس الإنتاج ، Facebook



'هناك ثلاثة أبعاد للمقياس نتطلع إليها عمومًا للبنية التحتية - عدد الخوادم ، وحجم التكوينات المختلفة عبر تلك الأنظمة ، وعدد الأشخاص المطلوبين للحفاظ على هذه التكوينات. قدم الشيف حلاً للأتمتة مرنًا بما يكفي للانصياع لديناميات الميزان لدينا دون الحاجة إلى تغيير سير عملنا '.

يعد Chef بدون شك أحد أشهر أدوات إدارة التهيئة ويتنافس معه عن كثب دمية . ولكن قبل التعمق في 'ما هو الشيف' ، من العدل أن أشرح أولاً ماهية إدارة التهيئة وسبب أهميتها.

إدارة التكوين

لا تقلق ، فلن يكون هناك أي تعريف ثقيل لإدارة التهيئة في هذه المدونة :)

دعنا نفهم إدارة التهيئة بهذه الطريقة - لنفترض أنه يتعين عليك نشر برنامج فوق مئات الأنظمة. يمكن أن يكون هذا البرنامج نظام تشغيل أو رمزًا أو يمكن أن يكون تحديثًا لبرنامج موجود. يمكنك القيام بهذه المهمة يدويًا ، ولكن ماذا يحدث إذا كان عليك إنهاء هذه المهمة بين عشية وضحاها لأن الغد قد يكون يوم المليار الكبير بيع في الشركة أو بعض م أو تخفيض السعر إلخ حيث من المتوقع حدوث حركة مرور مزدحمة. حتى لو كنت قادرًا على القيام بذلك يدويًا ، فهناك احتمال كبير لحدوث أخطاء متعددة في يومك الكبير. ماذا لو كان البرنامج الذي قمت بتحديثه على مئات الأنظمة لا يعمل ، فكيف ستعود إلى الإصدار الثابت السابق ، هل ستتمكن من القيام بهذه المهمة يدويًا؟ AF- بالطبع لا!

لحل هذه المشكلة ، تم تقديم إدارة التكوين. باستخدام أدوات إدارة التكوين مثل Chef و Puppet وما إلى ذلك ، يمكنك أتمتة هذه المهمة. كل ما عليك فعله هو تحديد التكوينات في خادم مركزي واحد وبناءً عليه سيتم تكوين جميع العقد. يسمح بالوصول إلى سجل تاريخي دقيق لحالة النظام لأغراض إدارة المشروع والتدقيق. لذلك ، بشكل أساسي ، نحتاج إلى تحديد التكوينات مرة واحدة على الخادم المركزي وتكرار ذلك على آلاف العقد. تساعد إدارة التهيئة في أداء المهام التالية بطريقة منظمة وسهلة للغاية:

  • معرفة المكونات التي يجب تغييرها عند تغير المتطلبات.
  • إعادة تنفيذ لأن المتطلبات تغيرت منذ آخر تطبيق.
  • العودة إلى إصدار سابق من المكون إذا كنت قد استبدلت بإصدار جديد ولكن معيب.
  • استبدال المكون الخاطئ لأنك لم تتمكن من تحديد المكون الذي كان من المفترض استبداله بدقة.

قم بإحالة مدونتي على Puppet لمعرفة كيف وفرت NYSE ملايين الدولارات بمساعدة إدارة التهيئة

هناك طريقتان على نطاق واسع لإدارة التكوينات الخاصة بك وهما تكوينات الدفع والسحب.

  • تكوين السحب: في هذا النوع من إدارة التكوين ، تقوم العقد باستقصاء خادم مركزي بشكل دوري عن التحديثات. يتم تكوين هذه العقد ديناميكيًا بحيث تقوم في الأساس بسحب التكوينات من الخادم المركزي. يتم استخدام تكوين السحب بواسطة أدوات مثل Chef و Puppet وما إلى ذلك.
  • تكوين الدفع: في هذا النوع من إدارة التكوين ، يدفع الخادم المركزي التكوينات إلى العقد. بخلاف تكوين السحب ، هناك أوامر معينة يجب تنفيذها في الخادم المركزي من أجل تكوين العقد. يتم استخدام تكوين الدفع بواسطة أدوات مثل Ansible.

تعلم مكونات مختلفة من إدارة التكوين في My Puppet Tutorial Blog

الآن هو الوقت المناسب لأخذك قدمًا في هذا المسعى لفهم 'ما هو الشيف' من خلال شرح كيف يحقق الشيف إدارة التهيئة.

ما هو الشيف - إدارة التكوين مع الشيف

لقد فهمنا ما هو الشيف ، والآن سأشرح لك كيف يحقق الشيف إدارة التهيئة باستخدام حالة الاستخدام. جانيت شركة إعلامية أمريكية قابضة يتم تداولها علنًا. إنها أكبر ناشر صحيفة أمريكية حسب إجمالي التداول اليومي.

تميز سير عمل النشر التقليدي لشركة Gannett بالعديد من عمليات التسليم والاختبارات اليدوية. دعونا نرى ما هي المشاكل التي واجهوها في هذه العملية:

  • كان الحفاظ على تصميمات دقيقة وقابلة للتكرار أمرًا صعبًا.
  • كان هناك العديد من إخفاقات البناء والاختبارات غالبًا ما كانت تعمل في بيئات خاطئة.
  • يمكن أن تتراوح أوقات النشر والتوفير من بضعة أيام إلى عدة أسابيع.
  • لم يكن لدى فريق العمليات إمكانية الوصول إلى السحابة أو بيئات التطوير.
  • استخدمت كل مجموعة مجموعة أدواتها الخاصة ، ولم تكن هناك مساءلة عن التمويل أو الأمن. لا أحد يعرف مقدار التكلفة الفعلية للتطبيق. لم يكن لدى الأمن طريقة لمراجعة أكوام البرامج.

كان جانيت جاهزًا للتغيير. أراد المطورون نشر تطبيقاتهم بسرعة. أرادت العمليات بنية تحتية مستقرة حيث يمكنهم البناء والنشر بطريقة قابلة للتكرار. أراد قسم التمويل معرفة التكلفة الحقيقية للتطبيق. أراد الأمن عرض ومراجعة جميع الأكوام والقدرة على تتبع التغييرات.

أنواع مختلفة من الإطار في السيلينيوم

رأى Gannett أن السحابة كخدمة تقدم العديد من المزايا. كان للمطورين الوصول إلى الموارد الموحدة. كان من الأسهل التعامل مع ذروة حركة المرور بسبب نموذج الحوسبة عند الطلب في السحابة ، وتم تقليل عمليات التسليم.

يتيح لك Chef توفير البنية الأساسية وإلغاء توفيرها بشكل ديناميكي عند الطلب لمواكبة فترات الذروة في الاستخدام وحركة المرور. إنه يمكّن من نشر الخدمات والميزات الجديدة وتحديثها بشكل متكرر ، مع القليل من مخاطر التوقف. مع Chef ، يمكنك الاستفادة من كل المرونة وتوفير التكاليف التي توفرها السحابة.

دعونا نرى ما هي الوظائف التي يؤديها الشيف في Gannett:

  • بدأ Gannett في بناء VPC (سحابة خاصة افتراضية) لبيئة التطوير التي تحاكي الإنتاج. لم تكن أي من الأدوات التي كانوا يستخدمونها مناسبة. لكنهم وجدوا أن Chef يعمل بشكل جيد مع السحابة وبيئة Linux و Windows. استخدموا الشيف لبناء بيئة تطوير تتوافق تمامًا مع بيئة الإنتاج.
  • لكي ينتقل التطبيق إلى VPC ، يجب توفيره ونشره مع Chef.
  • سيتم إشراك الأمن في وقت مبكر وسيدير ​​الضوابط الإلزامية للوصول إلى Chef وللحفاظ على معايير أمان النظام.

حان الوقت الآن لفهم نتائج هذه العملية:

  • أصبح نشر Gannett أسرع وأكثر موثوقية. استغرقت عملية توفير التطبيقات ونشرها ، والتي كانت تستغرق أسابيع في السابق ، بعد استخدام Chef دقائق.
  • تم نشر جميع التطبيقات الجديدة على السحابة مع Chef. تم نشر هذه التطبيقات في جميع البيئات بنفس الطريقة التي تم بها نشرها للإنتاج. أيضًا ، تم إجراء الاختبار في كل بيئة ، بحيث كانت عمليات النشر موثوقة.
  • تم التعامل مع جميع البنية التحتية كرمز ، مما يزيد بشكل كبير من الرؤية في أي تغييرات حدثت. وقد استفاد من ذلك التطوير والعمليات والأمن والتمويل.

بعد ' ما هو الشيف 'مدونتي التالية ، أي الشيف التعليمي يركز على هندسة الشيف مع مكوناته. لقد شرحت أيضًا كيفية نشر Apache2 باستخدام Chef.

إذا وجدت هذه المدونة على ' ما هو الشيف ' ذو صلة، تفحص ال من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تساعد الدورة التدريبية لشهادة Edureka DevOps المتعلمين على اكتساب الخبرة في عمليات وأدوات DevOps المختلفة مثل Puppet و Jenkins و Nagios و GIT لأتمتة خطوات متعددة في SDLC.