Terraform

An open-source infrastructure as code (IaC) tool by HashiCorp.

Terraform, HashiCorp tarafından geliştirilen açık kaynaklı bir Infrastructure as Code (IaC) aracıdır. Kullanıcıların bildirimsel bir yapılandırma dili (HCL - HashiCorp Configuration Language veya JSON) kullanarak altyapıyı tanımlamasına ve sağlamasına olanak tanır. Terraform, birden çok bulut sağlayıcısı (AWS, Azure, Google Cloud gibi) ve şirket içi ortamlarda altyapıyı güvenli ve verimli bir şekilde oluşturmanıza, değiştirmenize ve versiyonlamanıza olanak tanır. Temel iş akışı, yapılandırma dosyaları yazmayı, değişikliklerin yürütülmesini planlamayı ve altyapı kaynaklarını oluşturmak veya güncellemek için bu değişiklikleri uygulamayı içerir. Terraform, yönetilen altyapının mevcut durumunu izleyen bir state file tutar, bu da artımlı değişiklikler yapmasına ve drift tespit etmesine olanak tanır. Modülerliği, kapsamlı provider ekosistemi ve çeşitli platformlarda tutarlı bir iş akışına odaklanması, onu karmaşık altyapı dağıtımlarını yönetmek, provisioning'i otomatikleştirmek ve altyapı tutarlılığını ve tekrarlanabilirliğini sağlamak için güçlü bir araç haline getirir.

        graph LR
  Center["Terraform"]:::main
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Bilgi testi

1 / 4

🧒 5 yaşındaki gibi açıkla

Terraform, bulutta bilgisayar sistemlerinizi oluşturmak için bir blueprint gibidir. Tam olarak ne istediğinizi (sunucular, veritabanları ve ağlar gibi) yazarsınız ve Terraform bunu sizin için otomatik olarak oluşturur ve daha sonra güncelleyebilir.

🤓 Expert Deep Dive

Terraform's declarative approach contrasts with imperative IaC tools by focusing on the desired end-state rather than the sequence of commands to achieve it. Its state management is crucial; the state file acts as a real-time mapping of configured resources to actual infrastructure objects. This state allows Terraform to perform diffing operations, identifying discrepancies between the configuration and the live environment for planning and applying changes. Providers are plugins that abstract the APIs of various cloud and service providers, enabling Terraform's multi-cloud capabilities. The execution plan generated before applying changes provides a critical safety net, detailing resource creation, modification, and destruction. Advanced features include modules for code reuse, workspaces for managing multiple environments, and a registry for sharing modules and providers.

📚 Kaynaklar