اتومیشین (Automation)

Automation

اتوماسیون در این رشته

این صفحه مسیر یادگیری اتوماسیون در رشتهٔ مدیریت سیستم‌های تحت شبکه است. در کار واقعی، مسئول شبکه کار تکراری را هر بار با کلیک و تایپ دستی تکرار نمی‌کند. همان کار را با اسکریپت و Playbook می‌نویسد تا سریع، دقیق و قابل تکرار باشد. در مسابقهٔ جهانی مهارت هم همین انتظار هست.

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

اتوماسیون در شرح فنی چیست؟

طبق شرح فنی WSC2026 این رشته (Skill 39)، اتوماسیون روز جدا و ماژول مستقل چهارروزه نیست. چهار ماژول رسمی این‌ها هستند:

روزماژول رسمیکار روز
روز اولModule A – Linux Environmentsنصب، پیکربندی و اتوماسیون
روز دومModule B – Microsoft Environmentsنصب، پیکربندی و اتوماسیون
روز سومModule C- Data Transfer Networksنصب، پیکربندی و اتوماسیون
روز چهارمModule D- Troubleshootingعیب‌یابی

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

در استاندارد شغلی همین رشته، بخش Infrastructure Automation حدود ۱۵ درصد وزن کل مهارت را دارد. باید این‌ها را بفهمید و اجرا کنید:

تحویل تکراری زیرساخت (CI/CD)

مفهوم تحویل تکراری زیرساخت (CI/CD): یک کار را چند بار، با همان نتیجه، اجرا کنید

Bash و PowerShell

اسکریپت نگهداری روزمره با Bash و PowerShell

Git

کنترل نسخه با Git تا فایل‌ها گم نشوند و بشود به نسخهٔ درست برگشت

Ansible و IaC

زیرساخت به‌عنوان کد با Ansible: تنظیم را در فایل می‌نویسید و روی چند دستگاه اجرا می‌کنید

پس این صفحه را «ماژول تمرینی اتوماسیون » بخوانید، نه روز پنجم مسابقهٔ جهانی.

این بخش در سال‌های اخیر چطور عوض شده است

شکل اتوماسیون در مسابقه ثابت نمانده است. اول کار با Bash یا Macro ساده شروع شد. بعد کارها پیچیده‌تر شد و به Ansible رسید.

در سال ۲۰۲۲ یک استثنا دیده شد: اتوماسیون ماژول مستقل بود و لینوکس و مایکروسافت با هم، زیر عنوان Mixed Environment، اجرا شدند. از آن دوره به بعد، روند غالب این بوده که اتوماسیون دوباره داخل ماژول‌های اصلی برگردد.

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

اول سرویس را بفهمید، بعد خودکارش کنید

اتوماسیون جای دانش سرویس را نمی‌گیرد. اگر DNS، DHCP، کاربر یا Routing را دستی بلد نباشید، Playbook همان اشتباه را سریع‌تر روی چند دستگاه پخش می‌کند. توصیهٔ باشگاه این است: بعد از تسلط به هر سرویس در لینوکس، مایکروسافت و سیسکو / شبکه، همان کار را با اسکریپت و Ansible پیاده کنید.

چهار ابزاری که شرح فنی می‌خواهد

Bash در روز لینوکس

در Module A بیشتر کار خط فرمان با Bash است: نصب بسته، ساخت کاربر، گرفتن نسخهٔ پشتیبان، تکرار یک تنظیم روی چند میزبان و کنترل خروجی دستور. اسکریپت خوب واضح است، دو بار که اجرا شود خراب نمی‌شود و به «همین لحظه روی همین ماشین کار کرد» وابسته نیست.

  • شرط، حلقه، تابع و خروج با کد وضعیت درست
  • کار با فایل، سرویس‌ها، شبکه و لاگ
  • اسکریپت پشتیبان و نگهداری؛ شرح فنی به backup مبتنی بر Bash هم اشاره کرده است

PowerShell در روز ویندوز

در Module B فقط محیط گرافیکی Server Manager کافی نیست. باید همان نقش را با PowerShell هم بسازید: کاربر دامنه، DNS، DHCP، Group Policy، IIS یا Remote Desktop. در مسابقه معمولاً هم کار دستی نمره دارد و هم خودکار کردن همان کار.

  • کار با دستورها و خروجی ساخت‌یافته، نه فقط متن خام
  • ساخت کاربر و OU در Active Directory
  • تکرار یک تنظیم روی چند سرور

Git برای نگهداری فایل‌ها

شرح فنی، Git را ابزار استقرار و مدیریت پیکربندی می‌داند. یعنی Playbook و اسکریپت باید در یک مخزن قابل ردگیری باشند، نه یک فایل تنها روی میز کار. حداقل این کارها را بلد باشید:

  • گرفتن پروژه، دیدن وضعیت، ثبت تغییر و مقایسه با clone، status، add، commit و diff
  • خواندن تاریخچه و برگشت به نسخهٔ درست
  • چیدن پوشهٔ تمیز برای Playbook، Inventory و نقش‌ها

در تمرین هر سناریو را مثل یک پروژهٔ کوچک Git جلو ببرید. همان عادت در روز مسابقه کمک می‌کند فایل را گم نکنید و نسخهٔ خراب را با نسخهٔ سالم عوض کنید.

Ansible؛ ابزار اصلی زیرساخت به‌عنوان کد

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

Ansible را چطور برای مسابقه یاد بگیرید

این تکه‌ها را باید از هم جدا بفهمید. اگر یکی را اشتباه بگذارید، Playbook ممکن است روی دستگاه درست اجرا نشود یا اصلاً دیده نشود.

Inventory

فهرست و گروه دستگاه‌ها. گاهی خودتان می‌سازید و گاهی حق ویرایش آن را ندارید.

ansible.cfg

نحوهٔ ارتباط، مسیر Inventory، کاربر و رفتار اجرا

SSH و WinRM

ارتباط با لینوکس معمولاً با SSH است و با ویندوز معمولاً با WinRM

Playbook

ترتیب کارها. هر مرحله باید Idempotent باشد؛ یعنی بار دوم همان کار را خراب نکند و فقط بگوید نیازی به تغییر نیست

Roles و Templates و Vars

وقتی سناریو از یک سرویس و یک میزبان بزرگ‌تر می‌شود

در مسابقه معمولاً باید کاری را که دستی بلدید، با یک یا چند Playbook پیاده کنید: نصب سرویس، ساخت کاربر، تغییر تنظیم سیستم‌عامل یا شبکه، و وصل کردن چند دستگاه به هم.

عادت‌هایی که نمره می‌سازند

  • نام فایل و مسیر ذخیره را دقیقاً همان‌طور بنویسید که صورت‌مسئله گفته است.
  • از ماژول مناسب استفاده کنید. برای هر کاری فقط shell یا command نزنید.
  • Playbook را دو بار پشت سر هم اجرا کنید. اجرای دوم باید بیشتر ok و skipped باشد، نه changed بی‌دلیل.
  • اگر صورت‌مسئله Inventory یا متغیر داده است، رمز و آدرس را خودتان در فایل سخت ننویسید.
  • خروجی را بخوانید. خطا را حدس نزنید.

برای ساختار Playbook و نام‌گذاری، راهنمای جاری Ansible را بخوانید: Ansible Tips and Tricks. به یک نسخهٔ قدیمی قفل‌شده تکیه نکنید.

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

روز لینوکس

معمولاً یک یا چند میزبان لینوکسی دارید. کار دستی را در ماژول لینوکس تمرین می‌کنید. کار خودکار همان‌جا با Bash و Ansible روی SSH برمی‌گردد: نام میزبان، بسته، سرویس، کاربر و فایل پیکربندی.

روز مایکروسافت

اینجا PowerShell نقش اول اسکریپت است. اگر Ansible بیاید، معمولاً از مسیر WinRM به ویندوز می‌رسد. ساخت دامنه، DNS، DHCP و سیاست‌ها را اول در ماژول مایکروسافت دستی مسلط شوید؛ بعد همان را اسکریپت کنید.

روز شبکه و انتقال داده

نام رسمی این روز Data Transfer Networks است. در تیم‌ها معمولاً به آن ماژول سیسکو می‌گویند. کار اصلی Routing و Switching روی روتر و سوئیچ است و تمرین نزدیک مسابقه با Cisco CML انجام می‌شود. اگر به CML دسترسی ندارید، برای تمرین می‌توانید از GNS3، EVE-NG، Packet Tracer و ابزارهای مشابه استفاده کنید.

اگر تسک اتوماسیون شبکه آمد، معمولاً باید یک تنظیم را روی چند دستگاه تکرار کنید یا Inventory و قالب بسازید. پایهٔ شبکه را در صفحهٔ سیسکو بخوانید.

روز عیب‌یابی

روز چهارم برای پیدا کردن، شرح دادن و رفع مشکل است. جزئیات را در صفحهٔ عیب‌یابی ببینید. انتظار اصلی آن روز Playbook تازه نیست. ولی اگر سرویس را بد خودکار کرده باشید، پیدا کردن همان خرابی سخت‌تر می‌شود.

نمره در مسابقه چطور حساب می‌شود

نمرهٔ اتوماسیون داخل نمرهٔ همان روز است، نه یک جام جدا. چند نکته را جدی بگیرید:

  • صورت‌مسئله را دقیق بخوانید. نام فایل، مسیر پوشه، نام Inventory و ترتیب اجرا بخشی از خودِ پاسخ است.
  • گاهی کار را اول با اسکریپت علامت‌زنی می‌کنند و بعد همان مورد را دستی هم می‌بینند.
  • یک مورد معمولاً سهم بزرگی از کل روز نیست. یک اشتباه کوچک الزاماً همهٔ نمرهٔ اتوماسیون را صفر نمی‌کند. ولی اگر مسیر فایل غلط باشد، چند مورد پشت هم از دست می‌رود.
  • شکل کلی آزمون را در ساختار و قوانین آزمون رشتهٔ شبکه هم بخوانید.

مسیر تمرین پیشنهادی

این ترتیب کمک می‌کند اول بفهمید کار چیست، بعد آن را تکرارپذیر کنید.

  1. ۱

    سرویس دستی

    یک سرویس را دستی کامل کنید و نتیجه را بسنجید.

  2. ۲

    اسکریپت

    همان کار را با Bash یا PowerShell بنویسید و دو بار اجرا کنید.

  3. ۳

    Playbook

    همان کار را به Playbook Ansible تبدیل کنید و روی دو ماشین تکرار کنید.

  4. ۴

    Git

    فایل‌ها را در Git نگه دارید.

  5. ۵

    پروژه‌های دوره‌های قبل

    پروژه‌های دوره‌های قبل را از جدید به قدیم کار کنید. خواندن صورت‌مسئله معمولاً از خودِ ابزار مهم‌تر است.

پروژه‌های ادوار گذشته را به ترتیب جدیدترین به قدیمی‌ترین کار کنید. نسخهٔ Ansible، سیستم‌عامل و شکل Inventory هر دوره فرق می‌کند. هدف این است که خواندن صورت‌مسئله و ساختن پاسخ تمیز عادت شود.

یک مثال برای درک بهتر

با Ansible به همهٔ دستگاه‌های LIN[1-5] همان نامی را بدهید که در فایل /etc/ansible/hosts برایشان نوشته شده است.

  • حق ویرایش آن فایل Inventory را ندارید.
  • فایل شما باید با نام 1-hostname.yml در پوشهٔ /data/ansible/linux ذخیره شود.
  • هر Playbook دو بار پشت سر هم اجرا می‌شود. در اجرای دوم خروجی باید بیشتر ok و skipped باشد.

این مثال سه درس مسابقه‌ای دارد. صورت‌مسئله مسیر و نام فایل را قفل کرده است. Inventory مال شما نیست. اجرای دوم نباید شبکه را دوباره عوض کند. اگر نام میزبان درست شود ولی فایل جای دیگری ذخیره شود، ممکن است کارتان دیده نشود.

جایگاه این بخش کنار بقیهٔ مهارت‌ها را در صفحهٔ رشتهٔ مدیریت سیستم‌های تحت شبکه ببینید و چهار ماژول رسمی را از آنجا دنبال کنید.

گام بعدی

اتوماسیون داخل سه روز اصلی مسابقه است. مسیر تمرین لینوکس، ویندوز و شبکه را از صفحهٔ رشته دنبال کنید.

صفحهٔ رشته