Hacker News new | ask | show | jobs
by vageli 2379 days ago
> I really hope this book has some discussion regarding Pulumi in addition to the normal Terraform discussion. My team switched over to Pulumi recently after using Terraform for a couple of years and it's so much easier to work with. It would be a shame if it is not at least included in the discussion.

Could you speak more to some of the ways it was easier to work with? How was the transition and what was the migration strategy?

2 comments

Total IaC n00b here.

3 weeks ago I set up our AWS infrastructure with Terraform but somehow I never got it to work correctly (somehow the AWS Elastic Beanstalk health checker never turned green).

Just this week I decided to migrate to Pulumi and after a few very explanatory good error messages I got it to work. I'd say Pulumi's error messages are superior.

Another major benefit of Pulumi is that you can use typescript (and others) to script your setup. Terraform supports some scripting [1] but you have to take a few hours to learn it, and it never will be as powerful as plain ts/js/py.

[1] https://www.hashicorp.com/blog/hashicorp-terraform-0-12-prev...

Just looking between the two (where I'm at we've adopted Terraform), I wish where I'm at would switch to Pulumi as well. After seeing the contortions required under Terraform when someone strays from Terraform's pre-conceived notions embedded into HCL DSL, I'm convinced that at-scale (>200 servers, arguably >100 servers), there is no satisfactory way around the "learn to code" requirement in devops at this layer interacting with infrastructure.
It doesn't seem to have the same level of provider support though. I would rather pick a tool thats well supported by cloud providers if I need to use it for production stuff.
Extremely good point, thank you for making it!

Where I'm at, we just so happen to only be in the initial phases of a cloud strategy, and it happens to align with Pulumi's current support of AWS. So Pulumi's execution of a multi-vendor solution will bear keeping a close eye upon.

We're likely in for a few years yet of fragmented API wars amongst the cloud vendors, before the value extraction from uncoordinated API's levels off enough that a more universal API is adopted for a progressively-larger "core cloud" of defined services (we're kind of seeing that with cloud object storage for example), W3C-style.

Not sure what you mean. I don’t think there will be any api wars; likely providers will support tooling that can talk to their apis. This is currently the case for Terraform where different cloud officially support the tf modules. If they start supporting Pulumi, that would be when I would be comfortable switching to the tool.
It's a sad day when the tool you are using to call an API over HTTPS has to be supported by AWS for people to use it.
There's absolutely nothing sad about setting expectations over quality of service for infrastructure management tools. HTTP as a protocol wasn't designed to be e.g. the language for expressively communicating complex state changes when managing cloud infrastructure.

A better analogy, would be if e.g. the NFS protocol spec wasn't enough to use NFS file systems, but required vendor support to work correctly.

I know that Pulumi can use Terraform providers, at least. I'm not sure how good the integration is or if it's in the main way of doing things, though. I'd love to hear more details if anyone here has used it.