اتومیشین (Automation)

مشاهده سایر ماژول ها

این صفحه مربوط به بخش اتومیشن در رشته مدیریت سیستم های تحت شبکه هست. در دنیای شبکه همیشه یک نیم نگاهی به اتومیشن هست .در دنیای امروز، شبکه بدون اتومیشن تقریباً بی‌معناست. از مقیاس کوچک گرفته تا شبکه‌های بزرگ سازمانی، اتومیشن ابزاری ضروری برای سرعت، دقت و مدیریت منابعه. طبیعتاً در مسابقات جهانی مهارت هم، این بخش جایگاه مهمی داره.


ساختار اتوماسیون در سال‌های اخیر

اوایل اتومیشن های مورد نیاز از یک Bash Script یا Macro ساده شروع شدن و بعدا به تسک های پیچیده تر و یک ساختار منسجم تر به اسم انسیبل رسیدن.

البته در مسابقه سال ۲۰۲۲، استثنائا ساختار متفاوتی اجرا شد. در این نسخه:

  • ماژول اتومیشن به‌صورت مستقل تعریف شده بود.
  • ماژول‌های لینوکس و مایکروسافت به شکل یکپارچه تحت عنوان Mixed Environment اجرا شدند.

این نشون می‌ده که ساختار بخش اتومیشن در حال تغییر و پیشرفت مستمره. میشه گفت حتی سرعت تغییرات در این بخش به مراتب بیشتر از بخش های دیگست. بنابراین لازمه همیشه نسخه‌ی به‌روز شرح فنی مسابقه (Technical Description) رو مطالعه کنید تا از تغییرات، ابزارهای مورد استفاده، نسخه‌های نرم‌افزار و استانداردهای ارزیابی باخبر باشید.

🔗 شرح فنی رشته


اتومیشن در ساختار مسابقه

در رشته مدیریت سیستم‌های تحت شبکه، اتومیشن در حال حاضر طبق آخرین شرح فنی، ماژول مستقل محسوب نمی‌شه. این بخش به‌صورت ادغام‌شده در هر چهار ماژول اصلی مسابقه جهانی دیده می‌شه و این یعنی شما ممکنه در هرکدام از روزهای مسابقه، با یک تسک اتومیشنی مواجه بشید که بخشی از امتیاز اون روز رو شامل میشه. از راه‌اندازی خودکار سرویس‌ها گرفته تا اجرای سناریوهای پیچیده با انسیبل.

بنابراین میشه نتیجه گرفت که شما اول باید حتما به خود سرویس ها مسلط باشید که بتونید با اون دانش فنی، همون کارو اتوماتیک کنید. پس توصیه شخصی من اینه که بعد از تسلط به هر سرویس به سراغ این بخش بیاید.


Ansible: ستون فقرات اتومیشن در مسابقه

ابزار اصلی اتومیشن در مسابقات، Ansible هست. این ابزار متن‌باز و قدرتمند، به شما اجازه می‌ده تا با تعریف فایل‌هایی به‌نام Playbook، عملیات پیچیده رو به‌صورت کاملاً خودکار روی چندین سیستم پیاده‌سازی کنید.

نحوه عملکرد

  • در فایل Inventory دستگاه های مورد نیاز برای پیکربندی، تعریف و گروه بندی میشن.
  • تنظیمات خاص مثل پروتکل ارتباطی، یوزرنیم و پسورد و .. در فایلی به اسم ansible.cfg تعریف میشن.
    • در سیستم‌های Unix-based مثل لینوکس: از SSH برای ارتباط استفاده می‌کنه.
    • در سیستم‌های ویندوزی: معمولاً از WinRM بهره می‌بره.
  • فایل PlayBook بر اساس سیاست های تعریف شده با پروتکل تعریف شده در سیستم های هدف اجرا میشن.

در مسابقات، شما باید بتونید کارهایی رو که به‌صورت دستی انجام می‌دین، با یک یا چند Playbook به‌شکل اتوماتیک پیاده‌سازی کنید. این شامل مواردی مثل:

  • نصب و راه‌اندازی سرویس‌ها
  • ایجاد و مدیریت کاربران
  • تغییر تنظیمات سیستمی
  • ارتباط بین نودها و سرویس‌های مختلف

نکات مهم برای موفقیت در بخش اتومیشن

Best Practices رو رعایت کن
انسیبل هم مثل هر ابزار حرفه‌ای دیگه، یکسری اصول و ساختار توصیه‌شده داره. نحوه نوشتن Playbook، ساختار دایرکتوری‌ها، نام‌گذاری متغیرها، استفاده از Roles و Templates همه باید طبق استاندارد انجام بشن.

📚 پیشنهاد می‌کنم حتماً این منبع رسمی رو مطالعه کنید:
Playbooks Best Practices – Ansible Docs (نسخه 2.8)

⚠️ حساسیت بالا در ارزیابی این بخش
کوچک‌ترین اشتباه در ساختار فایل یا رعایت‌نکردن پیش‌نیازهای پروژه ممکنه باعث بشه کل امتیاز این بخش رو از دست بدی. بنابراین توصیه می‌کنیم حتماً به‌صورت دقیق با نحوه اجرای پروژه‌ها و فرآیند داوری آشنا بشید:

🔗 ساختار آزمون

حتما حتما تست پراجکت های ادوار گذشته رو به ترتیب جدیدترین به قدیمی ترین دانلود کن و کار کن

یک مثال برای درک بهتر
با استفاده از انسیبل (Ansible) به تمامی دستگاه های LIN[1-5] نام تعریف شده در فایل /etc/ansible/hosts رو اختصاص بدید.

  • شما اجازه ادیت این فایل رو ندارید.
  • فایل شما باید تحت عنوان 1-hostname.yml در پوشه /data/ansible/linux ذخیره بشود.
  • هر پلی بوک دو بار پشت سر هم اجرا میشود، و در نهایت در اجرای دوم خروجی اجرا باید حالت‌های ok و Skipped را نشان بدهد.