If you are looking to migrate away from HashiCorp Terraform Cloud or Terraform Enterprise, here is a growing list (in no particular order) of possible options and specific migration resources to assist in your journey.
There isn’t much need to go into the back story on the inspiration for this post, but I hope at least one person or company finds it helpful.
Disclaimer: If you want to be added to the list and I missed an option, send me a note.
Self-managed Infrastructure as Code (IaC) Deployment: Set up your own infrastructure and deployment pipeline using self-managed tools like Terraform CLI, GitLab, Jenkins, or AWS CloudFormation.
GitOps: Adopt a GitOps approach where infrastructure changes are versioned and applied automatically based on changes to a Git repository using tools like Flux, Argo CD, or Jenkins X.
Cloud Provider-Specific Tools: Utilize cloud provider-specific infrastructure management tools like AWS CloudFormation, Azure Resource Manager, or Google Cloud Deployment Manager to transition away from Terraform.
Ansible: Use Ansible, an automation tool, for infrastructure provisioning and configuration management. Ansible allows you to define and apply infrastructure changes using declarative YAML-based playbooks.
Pulumi: Consider migrating to Pulumi, an open-source infrastructure as code tool that allows you to define and manage infrastructure using familiar programming languages like JavaScript, Python, or Go.
Cloud Native Tools: Embrace cloud-native tools and services offered by your cloud provider, such as AWS Cloud Development Kit (CDK), Azure Resource Manager templates, or Google Cloud Deployment Manager.
Vendor-Specific Migration Tools: Explore vendor-specific migration tools that help transition infrastructure from one IaC tool to another, such as the Terraform Import tool provided by HashiCorp or similar tools offered by other vendors.
Manual Configuration: Transition to manually configuring your infrastructure using web-based consoles or command-line tools provided by your cloud provider.
Infrastructure Automation Frameworks: Investigate other infrastructure automation frameworks like Chef, Puppet, or SaltStack, which offer configuration management and infrastructure provisioning capabilities.
Custom Scripting: Develop custom scripts using your preferred programming language to automate infrastructure provisioning and configuration changes based on your specific requirements.
Continuous Delivery Platforms: Companies battling the CICD space such as Harness, Armory, and OpsMx also offer ways to deploy Terraform.
Terra* Options: There is a growing list Terra______ (fill in the blank) that don’t find themselves to fit in any of the above categories such as Terragrunt, Terrateam, Terramate, Terrakube, Terraspace.
Open Source Options: One option has been around for a while called Atlantis, a terraform pull request automation platform and another is newcomer Digger, an open source GitOps tool for Terraform.
Terraform Automation & Collaboration Software (TACOS): TACOS like Spacelift, Scalr, and Env0 provide a framework for solving the problems with operating IaC at scale.
Here are a few recent blogs to assist with your migration journey:
How to Migrate From Terraform Cloud to Spacelift https://spacelift.io/blog/how-to-migrate-from-terraform-cloud
Recommendations for Migrating from Terraform Cloud
https://www.env0.com/blog/migrate-from-terraform-cloud-to-env0
More Recommendations for Migrating from Terraform Cloud
https://www.env0.com/blog/recommendations-for-migrating-from-terraform-cloud
Migrating Terraform state from Terraform Cloud to S3
https://blog.marcolancini.it/2023/blog-migrate-terraform-state-from-terraform-cloud-to-s3/
Remote State Migration with Terrakube
https://docs.terrakube.org/user-guide/remote-state-migration
Terraspace Cloud vs Terraform Cloud
https://terraspace.cloud/docs/vs/tsc-vs-tfc/
Migrating State Data Off Terraform Cloud
https://nedinthecloud.com/2022/03/03/migrating-state-data-off-terraform-cloud/
Migrating to Terrateam
https://terrateam.io/docs/migrating/terraform-cloud
System Integrator & Services:
CloudPosse
https://cloudposse.com/jumpstart-devops-accelerator/
https://cloudposse.com/faqs/why-do-you-recommend-spacelift/
GitHub Repos:
https://github.com/spacelift-io/spacelift-migration-kit
https://github.com/Scalr/terraform-scalr-migrate-tfc
https://github.com/env0/customer-tools/tree/main/migrations/tfc-to-env0-migration/s3-backed-state
It's essential to carefully plan and evaluate the migration strategy based on your existing infrastructure, requirements, and preferences. Consider the learning curve, migration effort, and compatibility of the chosen alternative with your existing environment.
PS. I’ll add more examples and resources as I discover them or as people send them my way.
Top comments (0)