Hacker News new | past | comments | ask | show | jobs | submit login

Hi, thank you for the slides and repo - lots of good material there. Just in case I've failed to clarify my intention: I'd really like to know the upsides of "Pulumi". I'm sure it was built for a reason (i.e dissatisfaction wrt other tools). I just don't have the bandwidth to blindly invest myself in tech without some promise that something will end for the better for me or my company. Thanks!



The main upside is that it's just regular code. This is more natural for some folks, but mainly the advantage is that you can build abstractions. So, you can build a component that's built up from lower-level resources in AWS. For example, directly setting up API Gateway requires a specific setup (and can be error-prone), so there's a Pulumi library for that.

My colleague wrote a blog post with more of the technical motivation: https://medium.com/@lukeh/programming-the-cloud-e795cafffc2b, and there's also this Twitch live-coding video: https://youtu.be/DM8Wd4f1MNA


Terraform also lets you create abstractions via modules (admittedly with less flexibility than arbitrary code). I'm still not quite seeing the value proposition here over Terraform.


Well, as it was said, it's using a (several) full-fledged programming language(s). If you are a firm believer in the "declarative" ideology you might see this as a drawback. On the other hand I can see from Terraform issues on Github that people sooner or later want something more turing-complete including loops etc. Then you might as well use a real programming language instead of jumping through hoops and trying to emulate stuff like that in your declarative language.


How do you share and publish terraform modules? Can you pip install a bunch of common configurations, and compose them together with your own app?

It sounds like the value add for this tool is being able to describe your infrastructure as code rather than configuration, with all the benefits of code over configuration (diffs, loops, package managers, variables, etc).


Terraform modules are loaded from local fs, github, or central tf registry - much like pip or npm in spirit.




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

Search: