Terraform

Terraform is an infrastructure-as-code tool created by HashiCorp that uses declarative configuration files to provision and manage cloud resources across providers like AWS, Azure, and Google Cloud. It distinguishes itself with a state file that tracks real-world infrastructure, enabling safe updates and drift detection. Companies like Uber and Slack use Terraform to automate deployment of multi-cloud environments, handling workloads such as Kubernetes clusters and serverless functions. A key technical detail is its use of HCL (HashiCorp Configuration Language), which supports interpolation and loops but requires careful state management to avoid conflicts.

Also known as: tf, hashicorp-terraform
🧊Why learn Terraform?

Use Terraform when managing complex, multi-cloud infrastructure that requires consistent provisioning and lifecycle management, such as setting up a hybrid cloud environment for a financial services company. Avoid it for simple, single-server deployments where shell scripts or cloud-native tools like AWS CloudFormation are more straightforward. A recognized weakness is state file handling, which can lead to conflicts in team environments if not properly managed with remote backends like Terraform Cloud.

See how it ranks →

Compare Terraform

Related Tools

Alternatives to Terraform

Other Containers & Infrastructure

View all →
.env
.env is a file format and tool used to store environment variables, which are key-value pairs that configure application settings like API keys, database URLs, and other sensitive or environment-specific data. It allows developers to separate configuration from code, making applications more secure and portable across different environments (e.g., development, testing, production). Tools like dotenv in Node.js or python-dotenv in Python parse .env files to load these variables into the application's environment at runtime.
.htaccess
.htaccess (Hypertext Access) is a configuration file used on Apache web servers to control directory-level settings, such as URL redirection, access control, and performance optimizations. It allows developers to override global server configurations for specific directories without modifying the main server configuration files. This file is commonly used for tasks like password protection, custom error pages, and enabling features like mod_rewrite for URL manipulation.
.htaccess
.htaccess (Hypertext Access) is a configuration file used on Apache web servers to control directory-level settings, such as URL redirection, access control, and performance optimizations. It allows developers to override global server configurations for specific directories without modifying the main server configuration files. This file is commonly used for tasks like enabling HTTPS, blocking IP addresses, or setting custom error pages.
.htaccess Redirect
.htaccess redirect is a server-side configuration technique using the .htaccess file on Apache web servers to manage URL redirections, such as redirecting old URLs to new ones, enforcing HTTPS, or handling errors like 404 pages. It operates through directives like Redirect, RedirectMatch, and RewriteRule, allowing developers to control traffic flow without modifying server-wide settings. This method is essential for SEO, user experience, and maintaining link integrity during website migrations or updates.
.NET Interactive
.NET Interactive is an open-source tool that enables interactive programming experiences across multiple languages (C#, F#, PowerShell, SQL, HTML, JavaScript) within notebooks like Jupyter, Visual Studio Code, and Azure Data Studio. It allows developers to create and share executable documents that combine code, visualizations, and narrative text, facilitating data exploration, documentation, and teaching. The tool integrates with the .NET ecosystem, providing rich output capabilities and extensions for data science and machine learning workflows.
.NET Profiling Tools
.NET profiling tools are software utilities used to analyze the performance, memory usage, and behavior of .NET applications during execution. They help developers identify bottlenecks, memory leaks, and inefficiencies by collecting data on CPU usage, garbage collection, thread activity, and method execution times. These tools are essential for optimizing .NET applications to ensure they run efficiently and reliably in production environments.