Welcome to the latest edition of Mission Infrastructure, your monthly tour of the infrastructure-as-code world. In this issue, we delve into the matrix-like world of multiplayer IaC, where state management becomes less about storage and more about aligning people and systems. We bring order to the chaos with some insightful blog posts and Multiplayer IaC: Solving State, People, and Process-Level IaC Challenges, a live webinar on March 12th.
We also bring you recent videos on Hashicorp’s Resources Under Management (RUM) pricing and Terraform Modules. Plus we’ll give you the inside story on our latest product updates.
As you scale Terraform, you usually encounter the same obstacles: remote state management, secrets ending up in state, configuration drift, module sprawl, slow plans and applies, and safe promotion across environments. Read Mariusz Michalowski’s article to learn how to deal with 13 of the biggest Terraform challenges, with practical tips to help you build faster, safer workflows.
What is Terraform state and why do you need it? In this article, Flavius Dinu and Jack Roper explore these questions and examine best practices for storing, organizing, and isolating your state files. They also show you how to reference the remote state utilizing a data source, and how to use the terraform state command to manipulate the contents of the state file.
Storing your Terraform state files in a secure, accessible location ensures a more efficient and organized development environment. And, as your cloud infrastructure scales, harnessing the power of remote state optimizes your workflows and creates a solid basis for scalable, consistent, dependable infrastructure deployments. Read Sumeet Ninawe’s article to learn an effective approach to setting up and managing Terraform state remotely.
Using a remote backend to store your Terraform state files enables collaboration with other developers on the same Terraform configuration. The key concept that enables harmonious collaboration is state locking. In this article, Mattias Fjellström explores the concept of state locking in Terraform, why it’s important, how to enable it with common remote backends, and best practices for state locking.
Using Terraform and the Terraform CLI to define IaC and the specific infrastructure components of your chosen cloud platforms might seem easy initially. But when you start getting into complex, real-world scenarios, you quickly encounter issues around managing sub-production and production environments. In this article, Flavius Dinu and Sumeet Ninawe explain various aspects of managing multiple environments using Terraform.
Looking for practical insights into how you can scale from backend state to explicit collaboration and stack dependencies as you scale your IaC? Register for Multiplayer IaC: Solving State, People, and Process-Level IaC Challenges, featuring Tim Davis, Technical Product Marketing Manager at Spacelift.
As you expand, you pay more, and with Terraform Cloud/Terraform Enterprise, that can turn infrastructure scaling into a budgeting issue. In this video, we analyze HashiCorp’s Resource Under Management (RUM) pricing model, why it raises costs as your Terraform state grows, and how that can discourage engineering best practices such as multiple environments, ephemeral stacks, and modular architectures.
Terraform modules enable standardized infrastructure as code, eliminate copy-paste configurations, and make it significantly easier to enforce best practices across teams. In this video, we explain Terraform modules, why you should use them (DRY, standardization, compliance/security), how to design them properly (structure, inputs/outputs, documentation, testing), and how Spacelift helps you scale module usage across your organization with a module registry, CI, versioning, and access controls.
“Infrastructure rarely breaks because of bad tools, it breaks because of untested assumptions. Subscribe to learn my hard-won lessons from scaling systems at Facebook and Google, the highs and lows of co-founding OpenTofu and Spacelift, and everything in between.”
Marcin Wyszynski, Co-founder @ Spacelift & OpenTofu
Spacelift now supports native state management inside Terragrunt! Previously, you had to use remote state configurations if you wanted to use Terragrunt inside Spacelift. With Terragrunt support now generally available in Spacelift, we now offer Spacelift-managed state and Terragrunt Show command support.
When multiple teams in a complex organization share a Spacelift account, spaces often end up with the same name in different branches of the hierarchy. Without the ability to customize the subject claim, those spaces produce identical OIDC tokens, making it impossible for cloud providers to tell them apart and apply the right permissions. You can now customize the OIDC subject claim that Spacelift includes in tokens generated for cloud provider authentication.
Templates provide a self-service approach to infrastructure provisioning, enabling application developers to deploy infrastructure without deep IaC or Spacelift knowledge. They focus on enabling end users to deploy infrastructure through a simplified, form-based interface. Unlike Blueprints, which are a creation tool that generates stacks that then live independently, Templates are a lifecycle management tool that maintains control over deployed infrastructure