Infrastructure as Code
Infrastructure as Code - IaC رویکردی در مهندسی نرمافزار و مدیریت سیستمهاست که در آن بهجای پیکربندی دستی سرورها، شبکهها و سایر منابع زیرساختی، همهی تنظیمات و منابع مورد نیاز سیستم بهصورت فایلهای متنی (کد) تعریف میشوند. این فایلها میتوانند شامل تعریف سرورها، پایگاههای داده، شبکهها، لود بالانسرها و حتی تنظیمات امنیتی باشند. هدف IaC این است که زیرساخت همانند نرمافزار قابل نسخهبندی، بازتولید و خودکارسازی شود. در نتیجه با نوشتن و اجرای این کدها، زیرساخت در هر محیطی (توسعه، آزمایش، تولید) دقیقاً بههمان شکل ساخته میشود، بدون خطاهای انسانی و با سرعت بسیار بالاتر.
با استفاده از IaC، تیمها میتوانند کل چرخهی استقرار (Deployment) را خودکار کنند، بهسادگی محیطهای مشابه بسازند و در صورت نیاز به بازگردانی یا تغییر، نسخههای قبلی را بازیابی کنند. ابزارهایی مانند Terraform، Ansible، CloudFormation و Pulumi از مهمترین فناوریهای مورد استفاده در این رویکرد هستند. این مفهوم باعث ایجاد قابلیت DevOps واقعی میشود، زیرا زیرساخت همانند کد نرمافزار در سیستمهای کنترل نسخه (مثل Git) نگهداری میشود، بازبینی میگردد و از طریق خطوط CI/CD بهطور خودکار در محیطهای مختلف مستقر میشود. نتیجتاً IaC به سازمانها کمک میکند زیرساختی پایدار، تکرارپذیر و مقیاسپذیر داشته باشند.