Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You might want to look into Terraform [1], which works across multiple cloud vendors, with pluggable open-source "providers" facilitating the communication with the backend cloud platform.

[1]: https://www.terraform.io/



Terraform is great but if you want to change to a different cloud provider you pretty much have to rewrite everything


Terraform is okay, if you don't value things like "loops that aren't an awful hack", but in 2019 Pulumi is significantly better and their cloud-agnostic implementation actually kinda works okay.


We should make an effort to redefine how we use 'infrastructure-as-code', because right now Pulumi/Troposphere/Azure PowerShell and Ansible/Terraform/etc. are indistinguishable when viewed that way, despite the former being much more useful.

Infrastructure-as-verisonable-flat-configuration-files should not be thought of as infrastructure-as-code.


Pulumi would be perfect if the community edition was simply self hosted without support vs free with a single user only. At a stingy small org, I have no hope of ever using it instead of simply installing Terraform when the starter edition excludes secrets management and the API.


It's a bit rocky and I've been filing bugs to help, but S3 state support is strictly no worse than Terraform's and supports secrets just fine.


That's good to hear! Admittedly the main issue for us is convincing others that 1 user at $50/month is justifiable.


S3 support's free. It definitely works well enough.


Haven't heard of Pulumi before your comment but will be sure to check it out now :)


> Terraform is great but if you want to change to a different cloud provider you pretty much have to rewrite everything

While true, the process is closer to a variable name refactor than to a complete re-write. With Terraform, you have the stack described in code and the resource names translate cleanly across cloud vendors. Certainly more so than a word doc describing infrastructure setup steps.


Yeah? If you build on top of popular open infra that is hosted by a variety of providers, it shouldn't be too hard. You can build on top of K8s, Postgres, and S3-alike APIs, then use Terraform to move across AWS, GoogleCloud and DO without having to rewrite a thing.


You still need to have pretty intimate knowledge of your stack provider though. Terraform is a way to formally express your infrastructure via code, but you still need to know how all of your components need to be configured and wired together. It doesn't give you any of that.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: