Terraform ابزاری برای مدیریت زیرساخت به‌صورت کد (IaC) است. در این مقاله با نحوه کار ترافورم، مزایا و کاربردهای آن در DevOps آشنا می‌شوید.

terraform چیست؟

Terraform ابزاری متن‌باز از شرکت HashiCorp است که مفهوم «زیرساخت به‌عنوان کد» (Infrastructure as Code یا IaC) را عملی می‌کند: به‌جای تنظیم دستی سرور، شبکه و منابع ابری از طریق پنل گرافیکی، همه این‌ها را در فایل‌های متنی تعریف می‌کنید و Terraform آن‌ها را به‌صورت خودکار می‌سازد.

Terraform چطور کار می‌کند؟

شما در فایل‌هایی با فرمت HCL (HashiCorp Configuration Language) توضیح می‌دهید که چه منابعی می‌خواهید (مثلاً «یک سرور مجازی با ۴ گیگابایت رم در لوکیشن فلان»)؛ Terraform این تعریف را می‌خواند، با ارائه‌دهنده ابری (Provider) مربوطه ارتباط برقرار می‌کند و منابع را دقیقاً مطابق تعریف شما می‌سازد.

چرا Terraform محبوب است؟

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

Terraform برای چه کسانی مناسب است؟

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

جمع‌بندی

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