8 ms·
People use Hashicorp and Pulumi not to use AWS by api but to provide options to move to other providers easily.
by neximo64 5y ago
People use Hashicorp and Pulumi not to use AWS by api but to provide options to move to other providers easily.
- rad_gruchalski 5y agoIf it only was so easy to move! Sure, one tool, one configuration format but it’s not so easy to simply change some configs and move. Even going for the provider lowest common denominator implies maintaining different configurations.
- VWWHFSfQ 5y agoI don't think the (theoretical) ability to move to another infrastructure provider is the main motivation to use those tools. It might be a supporting motivation. But definitely not the real reason why they're using it. Hardly anybody actually changes their infrastructure provider anyway
- dfinninger 5y agoIn most places I've been, Terraform was used more for documentation than mobility. Sure, you don't need to unlearn Cloudformation if you switch to GCP, but you have a ton of AWS-specific stuff in your TF config that's going to need to be ported to the appropriate counterparts in your next cloud. But having a documented change history in Git for (almost) everything was much more useful than theoretical mobility.
- streetcat1 5y agoI think that the main usage pattern for a tool like terraform is be able to version control your config, and , on the way, apply the git flow/git ops to infra changes (infra as code).
- mdeeks 5y agoTerraform has multi-cloud support but it is not cloud agnostic. You have to rewrite your terraform for the things that you want to move to another provider. Moving to other providers is unfortunately rarely easy except for all but the most basic infrastructure.
- OJFord 5y agoPersonally I use Terraform because it's multi-provider not so I can switch, but so that I can use whatever I want concurrently. I have no interest in using CloudFormation for the AWS parts, and then.. what, Terraform anyway for any other provider? (Even if CF were on par, which IMO it isn't.)
- AzzieElbab 5y agoIn what world does TF or pulumi code written for Aws runs on gcp or azure? I mean, maybe you can cook something with ts and pulumi but it is not realistic
- 015a 5y agoI think this is really similar to the "we use kubernetes so we don't get locked into AWS" argument; true in theory, never pans out in practice. I'd hazard that the number of engineering orgs using a single Terraform "stack" (repository? domain? whatever) to manage resources across multiple providers is in the single-digit percentages. The ability to transfer knowledge has non-zero benefit, but the reality is; that knowledge is 10% "Terraform & HCL", 90% "AWS Resource Configuration & Best Practices". 90% of it doesn't transfer, and most of the remaining 10% could be learned quickly enough. Maybe it enables you to transfer CI/tooling between cloud providers should your org switch. Probably the most reasonable argument. I think the core of what you're saying is actually right, for the same reasons that the kubernetes statement above is right; AWS is really becoming its own isolated world. Terraform on AWS makes less and less sense, as their in-house options like CF, CDK, SAM, etc evolve maturity beyond what TF is capable of. TF (and Pulumi) (like Kubernetes) is for everything else.
- scoopertrooper 5y agoYou'd pretty much have to start from scratch switching between clouds even with Terraform. All the providers map pretty closely to the underlying nature of the resources defined in other clouds.
- Tehnix 5y agoI'll honestly just say it outright: this is horrible advice. People using this argument has clearly never needed to be multi-cloud. If you can ever, ever, ever, avoid being absolutely forced into this, you should. Being able to move fast on infrastructure has such big implications, and being multi-cloud basically means that you can only rely on an extremely minimal subset of features that completely align across the clouds (hint: the less managed stuff).