Amjad Sulaiman
New member
السلام عليكم، شباب ياريت يلي عندو اطلاع وخبرة بمجال الديف أوبس يخبرني شو الفرق بين Chef, Puppet و Ansible وشو استخدام كل وحدة منهم.
Follow along with the video below to see how to install our site as a web app on your home screen.
ملاحظة: This feature may not be available in some browsers.
Follow along with the video below to see how to install our site as a web app on your home screen.
ملاحظة: This feature may not be available in some browsers.
تمام وصلت الفكرة, الله يجزيك الخير ما قصرت.أخي أمجد رح حاول وضحلك الفرق باختصار:
Ansible: بتستخدم لغة YAML وهي سهلة للقراءة وما بحاجة لتنصيب وكيل (Agent) على الخوادم.
- بتستخدم بروتوكول SSH للتواصل مع السيرفرات، يعني ما في داعي تنصب Agent شي على السيرفرات. وهي سهل التعامل معها وبتحتاج وقت قصير لتعلمها.
- مثال عليها: إذا بدك تنشر تطبيق أو تنفذ أمر معيين او تعميل Update على أكثر من سيرفر، بتكتب ملف YAML بسيط وبتنفذه بكل سهولة عبر Ansible.
Chef: هو أداة لإدارة التكوين (Configuration Management) مكتوبة بشكل أساسي بلغة Ruby، والخادم الخاص بها يعتمد على Erlang وJava. يتم كتابة تكوينات النظام باستخدام لغة مخصصة (DSL) مبنية على Ruby وتسمى "وصفات" (Recipes).
Puppet: هو أداة لإدارة التكوين (Configuration Management) تتيح لك أتمتة إدارة البنية التحتية.
- Chef بيحتاج إلى وكيل (Agent) لازم تنصبه على كل جهاز بدك تديره. الوكيل بيتواصل مع خادم Chef لتنفيذ التكوينات وبيقدم مرونة كبيرة خاصةً إذا كنت متمكن من لغة Ruby، بس معقد أكتر من Ansible للمبتدئين أو يلي ما عندهم خبرة.
- التكوينات في Chef بتنكتب على شكل "وصفات" (Recipes) و"كتب طبخ" (Cookbooks)، يلي بتنظم التكوينات المعقدة ضمن ملفات وهيكلية مرتبة.
- مثال عليه: إذا بدك تجهز سيرفر Apache مع Chef، بتكتب وصفة (Recipe) بـ Ruby لتثبيت وضبط Apache، وبعدين بتنشرها على السيرفرات عبر الوكيل (Agent).
وطبعا اختيار أفضل أداة يعتمد على احتياجاتك لانو كل أداة الها ميزاتها، والأفضل يعتمد على بيئتك ومتطلباتك.
- يستخدم Puppet لغة مخصصة للتكوين (DSL) مبنية على Ruby. هاي اللغة بتسمح لك بتعريف حالة النظام اللي بدك إياها بشكل إعلاني (Declarative)، يعني بتحدد كيف لازم يكون النظام بدون ما تدخل في تفاصيل الخطوات التنفيذية.
- Puppet بيحتاج تنصيب وكيل (Agent) على كل جهاز بدك تديره. هالوكيل بيتواصل مع خادم Puppet (Puppet Master) ليحصل على التكوينات المطلوبة ويطبقها.
- بيعتمد على نموذج عميل-خادم (Client-Server)، حيث الخادم الرئيسي (Puppet Master) بيحتوي على التكوينات، والوكيل (Agent) على الأجهزة بيقوم بتنزيل وتنفيذ هاي التكوينات.
- Puppet معروف باستقراره وقوته خاصة في إدارة البنية التحتية الكبيرة والمعقدة. هو واحد من أقدم أدوات إدارة التكوين، وبيتمتع بمجتمع كبير من المستخدمين والدعم.
- مثال عليها: إذا بدك تضبط إعدادات شبكة معينة على 10 سيرفرات مثلا، بتستخدم Puppet لتكتب تكوينات الشبكة ضمن ملفات معينة على خادم Puppet Master. بعدين، كل وكيل Puppet على الأجهزة بيقوم بتنزيل التكوينات المطلوبة وبيطبقها على النظام، وبهذا الشكل بتضمن إنه كل السيرفرات عندها نفس إعدادات الشبكة بدون الحاجة لتدخل يدوي.
Ansible: إذا كنت عم دور على سهولة الاستخدام وسرعة البدء بدون تعقيد.
Chef: إذا كنت بحاجة لمرونة كبيرة وتعمل في بيئات معقدة.
Puppet: إذا كنت تدير عدد كبير من السيرفرات وتحتاج لاستقرار قوي.
حاولت قدر الامكان وضحلك الأساسيات والفروق بينهم. اذا كان عندك أي تعليق أو بحاجة لمعلومات اضافية خبرني.
بالتوفيق!
ولا يهمك اخي أمجد هاد واجبيتمام وصلت الفكرة, الله يجزيك الخير ما قصرت.
أنشئ حساب أو قم بتسجيل الدخول للمشاركة
يجب أن تكون عضواً لكي تتمكن من ترك تعليق