Infrastructure as code for reproducible, versioned environments.
Terraform describes infrastructure as code, making servers and services versioned, reproducible and auditable. Before a change is actually applied, a plan shows exactly what would happen and can be reviewed by the team like any other code. Through providers Terraform talks to nearly every cloud and many further services, so you manage different platforms with the same language. That takes a lot of the old uncertainty out of building and rebuilding environments.
More in the documentationAs soon as your infrastructure grows beyond a couple of hand-clicked resources, we put it into Terraform. That lets us spin up a staging environment as an exact copy of production and tear it down just as cleanly. Changes then run through the same review process as the rest of the code, instead of vanishing into a cloud dashboard.
resource "aws_s3_bucket" "assets" {
bucket = "my-project-assets"
}
resource "aws_s3_bucket_versioning" "assets" {
bucket = aws_s3_bucket.assets.id
versioning_configuration {
status = "Enabled"
}
}Good to know
The Terraform state is the heart of it and belongs in a shared remote backend with locking, not on a single machine. Otherwise the next person applying at the same time overwrites your changes, and the state drifts from reality.
More tools we work with in the same area.
AWS
Scalable cloud services from compute and storage to container registry.
Google Cloud
A powerful cloud platform for modern workloads.
Azure
Microsoft's cloud, ideal within existing Microsoft ecosystems.
Cloudflare
CDN, DNS and edge functions for speed and protection worldwide.
Vercel
Optimised hosting for Next.js with a global edge network.
Docker
Reproducible environments through containerisation, from dev to prod.
You don't have to decide that, it's our job. Tell us about your plans.