Ansible: ما هو وكيف يعمل؟

مرحبا, ابحث عن معلومات اكثر لاضيفها لبحثي عن Ansible
مثل:

  • ما هو Ansible وكيف يعمل؟
  • ما هي المفاهيم الأساسية لـ Ansible
  • من يستخدم Ansible ولماذا هو شائع؟
  • ما هي المكونات الأساسية لـ Ansible
  • ما الفرق بين Ansible وأدوات الأتمتة الأخرى؟
  • ما هي بعض التطبيقات العملية على Ansible
  • و كيف يساعد Ansible في أتمتة المهام؟
  • كيف يُستخدم Ansible مع DevOps

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

إعجاب واحد (1)

السلام عليكم.

  • ما هو Ansible وكيف يعمل؟
    هي برمجية أو نظام لأداء المهام التقنية بطريقة مؤتمتة (آلية) IT Automation، من هذه المهام، إدارة الإعدادات، تثبيت البرمجيات، تحديث الأنظمة، وكذلك تعتبر من ادوات البنية ككود (IaC Infrastructure as a Code)، بحيث أنها تعمل بطريقة أمرية Imperative، بحيث أنك تقوم بكتابة ماتريد في ملف، (على الأغلب بصيغة YAML)، حسب النظام المستهدف. تسهل هاته الأداة ادارة مجموعة كبيرة من الأجهزة او الخوادم، بحيث تقوم بالاتصال عن طريق الشبكة بكل جهاز باستعمال بروتوكول SSH، وتنفيذ الأوامر عن طريقه.
  • ما هي المفاهيم الأساسية لـ Ansible

لم أفهم مالمقصود بالمفاهيم الأساسية ؟ تعريف الاداة أو عنصر من عناصره، يمكن اعتباره مفهوما أساسيا.

  • من يستخدم Ansible ولماذا هو شائع؟

في الغالب مديري الأنظمة والشبكات، لأنه ببساطة موجه لهم، فليست من مهام المبرمج (مع أنه قد يحتاجها) أن يقوم بادارة الأجهزة والخوادم لأنها من مهام مدير الأنظمة.

  • ما هي المكونات الأساسية لـ Ansible
    هي بحسب خبرتي القليلة معه، وهي المستودعات Inventories، والمخططات Playbooks.
    المستودعات Inventories: هو ملف تقوم فيه بالتعريف بالأجهزة التي تريد للأداة ادارتها، وأقصد بالتعريف هو، عنونة كل جهاز، مثل عنوان الآيبي، بشكل قوائم، يمكنك تصنيف هاته القوائم، بحيث يسمح لك بتنفيذ مهام في اجهزة معينة دونا عن غيرها.
    المخططات Playbooks: وهي الملفات التي تقوم فيها بكتابة الأوامر التي توجهها للأجهزة.

  • ما الفرق بين Ansible وأدوات الأتمتة الأخرى؟
    يمكن المقارنة بين أنسيبل وكثير من الأدوات المختلفة التي تؤدي مهام مختلفة، يمكننا مقارنة أنسيبل مع شيف Chef، مثلا في جزئية ادارة الاعدادات، أو أداة تيرافورم Terraform في جزئية البنية ككود IaC، كمقارنة عامة تتفوق أنسيبل على كثير من مثيلاتها في أنها تدعم مهاما أكثر، وكمقارنة متخصصة، يمكن كتابة مقالات كاملة عن المقارنة بينهم، وبما أني لا أملك خبرة مع الأدواة الأخرى، فلا يمكنني المقارنة.

  • ما هي بعض التطبيقات العملية على Ansible
    تقوم هاته الأداة بمهام معينة، ومعروفة، والتطبيقات العملية تكون احدى هاته المهام، مثل تثبيت برمجيات معينة، أو تحديث نظام التشغيل في أجهزة معينة.

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

  • كيف يُستخدم Ansible مع DevOps
    أولا علينا تعريف ماهو الديف اوبس DevOps: باختصار هي مجموعة من المفاهيم والفلسفات التي تتعلق بتطوير البرمجيات، وكيفية ايصالها للمستخدم، تتكون الكلمة من مقطعين وهما Development التطوير، وهو يمثل شق المبرمجين، الذين يقومون بكتابة الكود، وتحسينه، والمقطع الثاني Operation وهو يمثل شق مدراء الأنظمة المجربين Testers. في القديم كان تطوير البرمجيات يتم بشكل منفصل بين هذين الشقين، بشكل أدى إلى مشاكل في التواصل بينهما، وتعقيد حل المشكلات التقنية، أحد هاته المشاكل كان ان البرنامج لا يعمل مثلا بطريقة جيدة في جهاز المجرب tester ولكن يعمل بشكل جيد في جهاز المبرمج، لدرجة أن الأمر وصل للتنكيت وانشاء الميمات.

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

لا أعتقد أن أي مما كتبته سيزيد في بحثك، ولكن أظن أنه كان من الأفضل أن تقوم بوضع النقاط أو الأمور الملتبسة في بحثك أو تريد الاستزادة فيها، لكي يتم نقاشها هنا وربما تثري أكثر من النثر المرسل.