زیرساخت مبتنی بر کد

زیرساخت مبتنی بر کد (IaC یا آی‌ای‌سی) فرایندی برای مدیریت و پروویژنینگ مراکز دادهٔ رایانه‌ای از طریق فایل‌هایی با قابلیت خوانده شدن توسط ماشین به جای تنظیمات سخت‌افزاری یا ابزارهای تعاملی لحظه‌ای تنظیمات است.

زیرساخت فناوری اطلاعاتی که توسط این فرایند مدیریت می‌شود هم شامل تجهیزات فیزیکی مانند سرورهای بیرمتال است و هم شامل ماشین‌های مجازی و منابع پیکربندی مرتبط.

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

آی‌ای‌سی در پاسخ به نیاز به دشواری ناشی از محاسبات سودمند و چارچوب‌های نسل دوم وب رشد کرد. در سال ۲۰۰۶، درست چند ماه قبل از راه اندازی سرویس آمازون ایی‌سی۲ خدمات وب آمازون و نسخه ۱ چارچوب روبی آن ریلز مشکلات گسترده‌ای در مقیاس چندین شرکت ایجاد کرد که قبلاً تنها در شرکت‌های بزرگ و چند ملیتی تجربه شده بود. با ظهور ابزارهای جدید برای مدیریت این عرصه که همیشه در حال رشد بوده‌است، ایدهٔ آی‌ای‌سی متولد شد. ایدهٔ مدلسازی زیرساخت مبتنی با کد، و سپس داشتن توانایی طراحی، پیاده‌سازی و دیپلوی زیرساخت‌های نرم‌افزارهای کاربردی با بهترین روش‌های شناخته شده هم مورد توجه توسعه دهندگان نرم‌افزار و هم مدیران زیرساخت آی‌تی قرار گرفت. توانایی بکارگیری زیرساخت مبتنی کد و استفاده از ابزارهای مشابه هر پروژه نرم‌افزاری دیگر، به توسعه دهندگان امکان می‌دهد برنامه‌ها را به سرعت دیپلوی کنند.

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

مواد و روشها 
دو روش در آی‌ای‌سی وجود دارد: "پوش" و " پول". تفاوت اصلی در روش پیکربندی سرورهایی است که باید پیکربندی شوند. در روش "پول" سروری که قرار است پیکربندی شود تنظیمات را از سرور مدیریت دریافت می‌کند و در روش پوش، سرور کنترل‌کننده پیکربندی تنظیمات را به سیستم مقصد ارسال می‌کند.

یادداشت

جستارهای وابسته 
 مدیریت پیکربندی
 تنظیم و ارکستراسیون
 دوآپس

منابع 

توسعه نرم‌افزاری چابک
رایانش ابری
فرایند تولید نرم‌افزار
مدیریت پیکربندی
مهندسی سامانه‌ها
نرم‌افزار به مثابه خدمت
ویکی‌سازی رباتیک