Red Hat Ansible

شرکت رایان نیک تجهیز

Red Hat Ansible  یک ابزار برای مدیریت و خودکارسازی فرایندها در سرورهای لینوکسی است.

 

Red Hat Ansible

شرکت ردهت برای کنترل و مدیریت خودکار فرآیندهای سرورها و کلاینت‌­های لینوکسی یک ابزار مدیریتی ارائه کرده است که به آن Ansible گفته می‌شود. در ابتدا Ansible یک ابزار open source بود که از طریق آن اتوماسیون کلیه بخش‌­ها از قبیل تأمین، مدیریت پیکربندی، تنظیمات و گسترش برنامه‌ها بر روی لینوکس و فضای ابری را امکان پذیر می ساخت.

 

به طور کلی می توان گفت پلتفرم اتوماسیون Ansible یک چارچوبی به سازمان ها ارائه می دهد تا اتوماسیون فناوری اطلاعات را در سراسر یک سازمان پیاده ­کنند و به صورت مرکزی کلیه توزیع­‌های لینوکسی را مدیریت کنند. این ابزار علاوه براینکه به اتوماسیون کردن فرایندها کمک می­‌کند به تیم‌های توسعه نیز این امکان را می‌­دهد تا در کم­ترین زمان ممکن مشکل پیش آمده را حل کنند.

 

 

آشنایی با قابلیت‌های Red Hat Ansible:

درواقع ردهت انسیبل به هماهنگ‌سازی وظایف بین سرورهای لینوکسی کمک می­‌کند. پلتفرم اتوماسیون Ansible یک چارچوب سازمانی برای راه‌اندازی اتوماسیون فناوری اطلاعات برای کاربران در سراسر یک سازمان را فراهم می­‌کند تا به صورت مرکزی کلیه توزیع­‌های لینوکسی را مدیریت کند. این ابزار علاوه براینکه به اتوماسیون کردن فرایندها کمک می‌­کند به تیم‌های توسعه نیز این امکان را می­‌دهد تا در کم­ترین زمان ممکن مشکل پیش آمده را حل کنند.

لازم به ذکر است در انسیبل کنترل سرورها از طریق SSH صورت می­‌گیرد و نیازی به نصبAgent  بر روی هیچ سیستم کلاینتی وجود ندارد. می توان گفت با نصب و کانفیگ این ابزار بر روی سرور اصلی که با نام Control Node  شناخته می‌شود، شما می‌توانید سایر کلاینت‌ها را از طریق SSH مدیریت نمایید.

در یک تعریف کلی می‌توان گفت انسیبل یک ابزار Remote Administration است و این توانایی را به مدیر یک شبکه می‌دهد تا سرورهای لینوکسی دیگر را به صورت جامع در یک پنل کارآمد مدیریت و کنترل نماید.

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

این ابزار در حال حاضر بر روی توزیع‌هایCentOS ، Red hat Enterprise ، Debian ، Ubuntu و سایر توزیع‌های استاندارد بر پایه لینوکس‌های ذکر شده قابل نصب و استفاده می‌باشد.

علت ارائه Ansible توسط شرکت ردهت:

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

وقتی تعداد سرورهای لینوکسی و CentOSها زیاد می شود برای مدیریت بهتر این سرورها باید از Ansible استفاده کرد. برای درک بهتر عملکرد Ansible با یک مثال بحث را ادامه می دهیم. وقتی تعداد زیادی VM Linux که با Distributionهای متفاوتی در یک سازمان هستند و در حال استفاده از آن ها هستیم و یک هشدار برای نسخه‌ه­ای منتشر می شود. اگر به زودی آپدیتی صورت گیرد احتمال اینکه مورد حمله سایبری  قرار بگیرند زیاد است.  

در حالتی که از ردهت انسیبل استفاده نشود باید برای تک‌­تک سرورها کدهای جداگانه‌­ای نوشته شود و هرکدام از Vmها به صورت جداگانه بروز شوند. مشکل این حالت طولانی­ شدن و پیچیده‌شدن فرایند است. حالا تصور کنید در این بین یک هشدار جدید برای یک مورد جدید نیز منتشر شود و یک تیم باید روی اصلاح و آپدیت مجدد سرورها تمرکز کند. این موضوع باعث می شود که به زمان و نیروهای زیادی نیاز باشد و تمرکز اصلی تیم های فنی برای توسعه را محدود کند. پس راه حل مناسب این است که به صورت مرکزی policy ها روی کلیه سرورها اجرا شود.

نکته مهمی که در مورد Ansible باید دانست این است که Agentless است. یعنی اگر یک سرور برای Ansible قرار دهیم دیگر نیاز نیست بر روی تک تک سرورها یک Agent نصب شود.

در انسیبل برای پیاده کردن Commandها بر روی تک تک سرورها باید از طریق زبان Yamel دستورات نوشته و اجرا گردد. درواقع کلیه دستوراتی که نوشته می شود و روی تک تک سروها از طریق انسیبل پیاده می شوند با یک زبان به اسم Yamel نوشته می شود.

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

همچنین بر بستر اینترنت کدهای Yamel ای وجود دارند که افراد می توانند از آنها استفاده کنند اما، همه این دستورات آماده ای که در اینترنت وجود دارند تست شده نیستند و امکان اشتباه در آن­ها زیاد است. برای حل این چالش شرکت ردهت تمام کدهای Yamel ای که وجود دارد را جمع آوری و تست کرده و آن ها را در ابزاری مانند Red Hat Ansible قرار داده است تا دغدغه تیم های فنی را در مورد زبان Yamel کم تر کند.

به صورت کلی، در منوی تحت وب محصول Red Hat Ansible همه نیازمندی­های سازمان برای مدیریت و خودکارسازی فرایندها در نظر گرفته شده مانند نصب یا حذف کردن یک نرم افزار روی سرورها، بروز رسانی و ………. . از سویی همه این کدهای تست شده Yamel در هر سیستم عاملی به غیر از سیستم عامل ردهت نیز قابل اجرا است.

 

Ansible Tower  چیست؟

شرکت ردهت، سیستمAnsible Tower  را توسعه داد تا از طریق آن بتوان کارهای تکراری را به صورت خودکار اجرا و مدیریت کرد.  Ansible Tower این امکان را به شما می‌دهد تا کاملا بر روی وضعیت جریان کار نظارت داشته باشید و به خوبی با سایر قسمت‌های Ansible کار می‌کند.

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