Self-Service Infrastructure

Enable users to easily provision infrastructure on-demand with a library of approved infrastructure

Increase operator productivity and developer agility with self-service provisioning

The Challenge

Developers have to wait for operators to provision and assign dedicated infrastructure.


  • Increased costs from over-provisioning and unused or orphaned infrastructure
  • Reduced productivity from Developers waiting on operations to provision/scale infrastructure
  • Increased risk from many users provisioning infrastructure and manual, error-prone processes

The Solution

Library of versioned and validated infrastructure templates to be consumed for on-demand provisioning.


  • Increase developer agility by allowing developers to provision their own self-service infrastructure without an operator bottleneck
  • Increase operator productivity by allowing them to serve more infrastructure request with predefined modules
  • Reduce risk with a single workflow to secure, govern, and audit regardless who provisions
Terraform Abstractions for Safety and Power

The journey to safely and efficiently executing 30-50 infrastructure changes per day with Terraform infrastructure as code.

Using the Terraform infrastructure as code approach to build a workflow that is simultaneously powerful and safe—not to mention far more reliable than making changes manually.

Read Case Study

Terraform Features

module "vpc" {
  source = "terraform-aws-modules/vpc/aws"
  name = "my-vpc"
  cidr = ""
  azs             = ["eu-west-1a", "eu-west-1b", "eu-west-1c"]
  private_subnets = ["", "", ""]
  public_subnets  = ["", "", ""]
  enable_nat_gateway = true
  enable_vpn_gateway = true
  tags = {
    Terraform = "true"
    Environment = "dev"


Encapsulate groups of resources to create reusable blocks of infrastructure. Modules allow users to specify variable inputs and consume infrastructure without being experts in the details.

Module Registry

Module Registry

A library of community modules from partners, contributors, and HashiCorp.

Private registry of customized modules versioned, validated, and approved for internal use by the organization.

Configuration Designer

Configuration Designer

A GUI-based workflow to combine modules and define variables for users to provision infrastructures without having to write infrastructure as code.

# Mandatory instance tag rule
instance_tags = rule {
    all aws_instances as _, instances {
        all instances as index, r {
            all mandatory_tags as t {
                r.applied.tags contains t

Policy as Code

Policy as code checks ensure inputs are valid and govern the self-service workflow.



Leverage the Terraform API to integrate the provisioning workflow into an existing CI/CD pipeline or custom automation tooling.

ServiceNow Service Catalog

ServiceNow Service Catalog

A native integration for ServiceNow Service Catalog makes it simple for IT Operations to use Terraform Enterprise for provisioning, policy enforcement, and logging of all infrastructure requests. Anyone in the organization can use ServiceNow Service Catalog to request infrastructure.

Terraform CLI, Cloud, and Enterprise Features

Learn more about provisioning infrastructure as code with Terraform CLI, Cloud, and Enterprise.