Overview Pricing Tutorials Docs GitHub Try Cloud Request Demo Infrastructure as Code Safely provision and manage multi-cloud infrastructure at any scale. Get Whitepaper Get Started Shift from manual, error-prone provisioning to automated provisioning at scale. The Challenge Manual provisioning is slow, error-prone and difficult to scale. BEFORE Reduced agility from ticketing queues, manual workflows using Point-and-Click GUIs & APIs Increased cost with “cloud waste” or over provisioning Increased risk with more chances for human error. Best practices are followed on a “best effort” basis using tribal knowledge The Solution Automate provisioning using Terraform infrastructure as code. AFTER Increased agility with reduced time to provision from weeks to minutes with automated workflow Control costs systematically as users and applications scale Reduce risk and discover errors before they happen with code reviews and embed provisioning guardrails Capital One How the Capital One operations teams builds infrastructure for thousands of developers across hundreds of VPCs and multiple regions with Terraform. Read Case Study Infrastructure as Code resource "google_compute_instance" "server" { name = "server" machine_type = "g1-small" zone = "us-centrall-a" disk { image = "ubuntu-1404-trusty-v20160114e" } } resource "dnsimple_record" "hello" { domain = "example.com" name = "server" value = "${google_compute_instance.server.network_interface.0.address}" } Infrastructure as Code Use HashiCorp Configuration Language (HCL), a simple human-readable configuration language, to define a desired topology of infrastructure resources. Configuration can also be defined in JSON for programmatic generation and application integration. VCS Integration Write, version, review, and collaborate on Terraform code using your preferred version control system. Integrate with Terraform Cloud and Enterprise to automatically validate configuration changes and trigger Terraform. Link changes made with Terraform to the associated changes in version control. Workspaces Workspaces decompose monolithic infrastructure into smaller components, or "micro-infrastructures". These workspaces can be aligned to teams for role based access control. View all workspaces across cloud providers, teams, and environments through one pane of glass. Secure and audit all workspace changes. Variables Granular variables allow easy reuse of code and enable dynamic changes to scale resources and deploying new versions. All variables are encrypted, protected by access controls, and retrieved as needed during the provisioning process. Runs Terraform uses two-phased provisioning a plan (dry run) & apply (execution). Plans can be inspected prior to execution to ensure expected behavior and safety. Terraform runs can be applied from the GUI, using the API, or from the CLI to preserve the same workflow used with OSS. A policy check step is applied to a plan. Infrastructure State The state file is a record of currently provisioned resources. State files enable a versioned history of the infrastructure and are encrypted at rest. Versions can be inspected to see incremental changes. Remote state storage and management enables teams to share state, prevent more than one change at a time, and view a versioned history of all infrastructure changes by a team. allowed_machine_types = [ "nl-standard-1", "nl-standard-2", "nl-standard-4", ] Policy as Code Sentinel is a policy as code framework to automate multi-cloud governance. Require every provisioning run to enforce security, compliance, and operational best practices. Avoid manual code review which reduces agility and is error prone. Clustering BETA Clustering allows for all API requests, background processes, and Terraform runs to be distributed across the cluster, supporting any number of concurrent end-users and runs. Modules consistently a provision a cluster across availability zones by default with Terraform Enterprise across three or more nodes for zero downtime for common failure events. Terraform CLI, Cloud, and Enterprise Features Learn more about provisioning infrastructure as code and provisioning features with Terraform CLI, Cloud, and Enterprise. View Features Contact Sales I agree to HashiCorp’s Privacy Policy.* Subscribe to Newsletter PROVISION Multi-Cloud Infrastructure SECURE Multi-Cloud Security CONNECT Multi-Cloud Networking RUN Multi-Cloud Orchestration PRODUCTS Terraform Vault Consul Nomad Vagrant Packer Boundary Waypoint Sentinel RESOURCES Blog Tutorials Community Events Integrations Library Partners Podcast Support Training COMPANY About Us JobsWE'RE HIRING Press Center Brand Contact Us System Status Cookie Manager Terms of Use Security Privacy Trademark Policy Trade Controls stdin: is not a tty We use cookies & other similar technology to collect data to improve your experience on our site, as described in our Privacy Policy and Cookie Policy. Manage PreferencesACCEPT