با ظهور DevOps، بسیاری از سازمان ها شروع به انتقال مدیریت زیرساخت خود به یک فرمت ذخیره سازی امن تر و برگشت پذیر کرده اند. بنابراین، ما شاهد ظهور اصطلاح "زیرساخت به عنوان کد" هستیم. این اصطلاح، که گاهی اشتباه فهمیده میشود، روشی بسیار فانتزی برای گفتن است که دقیقاً همانطور که کدهای منبع خود را نسخهای کنترل میکردیم، اکنون زیرساختهای خود را نسخهسازی میکنیم. رشد این کلمه کلیدی با رشد محاسبات ابری و مدلهای استقرار بهعنوان سرویس و پرداخت بهموقع فراهم شد.
Infrastructure-as-Code - نمای کلی
ابتدا، سازمانی را در نظر بگیرید که زیرساخت آن در محل مستقر شده است. این امر مستلزم آن است که سازمان یک مطالعه کامل از الزامات خود و رشد بالقوه ای را که انتظار دارد برای تطبیق با هزینه های سخت افزاری و زیرساختی در سال های آینده انجام دهد. در صورتی که به دلیل برخی از عناصری که پیشبینی نشدهاند - به هر دلیلی، افزایش (یا کاهش) کاربر)، نیازهای وصله نرمافزاری، و غیره - نیاز به ارتقای زیرساختهای خود داشته باشند، تقریباً همه چیز را باید دوباره مستقر کنند. در روشهای کلاسیک، این امر با رویکرد آبشاری برای اصلاح همه چیز دنبال میشود. این می تواند منجر به نیاز سرمایه گذاری هنگفتی شود و به دلیل تاخیر در انطباق منجر به انتشار کند تولید شود.
با ابر، این تغییر کرده است. فروشندگان Cloud از همه این عناصر برای ما مراقبت می کنند و با DevOps چندین ابزار برای مدیریت زیرساخت معرفی کرده اند (از این به بعد در وبلاگ به عنوان IaC ذکر می شود). ابزار IaC به تیم های عملیاتی اجازه می دهد تا در مقیاس عمل کنند در حالی که
- استقرار زیرساخت ها را به این ابزارها بسپاریم.
- مدیریت تنظیمات برای ماشین های مجازی و موتورهای محاسباتی.
- پشتیبانی از نحو اعلانی برای ایجاد و مدیریت منابع.
- قابل کنترل بودن نسخه مانند هر کد دیگر، در قالب متن.
این ویژگیها برای ابزارهای IaC، تیمهای عملیاتی را قادر میسازد تا زیرساختهای خود را مدیریت کنند و در صورتی که زیرساختهای آنها به خوبی کار نمیکند، یا بودجه از تقاضاهای زیرساخت بهروز پشتیبانی نمیکند، به مرحله قبلی برگردند. در این پست، من دو گزینه پیشرو در صنعت برای مدیریت IaC را مورد بحث قرار میدهم، یکی الگوی ARM مایکروسافت آژور و دیگری سرویس ارکستراسیون منابع Alibaba Cloud یا به اختصار ROS است.