Terraform vs Pulumi - DSLs Are Better

preview_player
Показать описание
Just a "quick" video about why I disagree with Lee's comments on DSLs and DSLs in general. I especially wanted to highlight a few issues with using imperative languages to define infrastructure. I go on and on a bit, so brace yourself ;-)

(Note: Lee is awesome and I love his work.)
Рекомендации по теме
Комментарии
Автор

I suppose it depends on the organisation. We're a fairly small business and I think terraform is massively overkill. Only one person (me) understands the HCL which means I'm the bottleneck, however we are a python company and have lots of python engineers. Pulumi probably makes more sense for us, as we just need to get things working quickly and terraform slows us down a lot.

syrusk
Автор

I have worked with both. TF is messy unless you're infra is extremely simple. The power of a true language is great to have

Fernando-smk
Автор

To quote you « I don't know JavaScript » and to quote again (like minutes earlier) « Go read the documentation ».

aminnairidev
Автор

I've been wanting to use pulumi for a while now, but mostly in a homelab environment for further learning of language I already have interest for. As for infrastructure at work I'd still rather use terraform, although right now there's no real reason for that either as the infrastructure is mostly defined with cloudfront and right now there's no real reason to change that just for the sake of change.

Though this video did get me to wondering about how well pulumi works with yaml over imperative languages.

Either way that was an interesting perspective on the matter.

Tulah
Автор

Two teams can implement TF very differently too.

shmmh
Автор

I feel that code is way better but Pulumi is too expensive.

Go read the documentation is the shittiest thing to say when in most programming languages it’s completely Obvious what is being done if you write good clean code

HCL isn’t even a good DSL..

Learning a coding language when you know one is super easy. It’s not a problem at all.

astronemir
Автор

For pulumi, when a company hires engineers, they would include Python as a requirement if they were to use Python for Pulumi. I think the premise of Polyglot is either not understood or the content creator is so much vested in Terraform that there is lack of acknowledgement for anything else and deliberate discreditation attempt for other options.

Pulumi is created for developers. Period. If you continue to apply a infrastrcuture only lens to it, you will continue to find the holes as you described in this video, and will continue to misguide people that are less informed. Please acknowledge the communities that these two tools (Terraform and Pulumi) are designed for.

I am not in any way associated with Pulumi. Just a developer benefiting from its approach.

aknotthemali
Автор

If we want developers to own the "you built it, you run it" mantra, we better code the infrastructure in a language they already familiar with. Terraform has serious limitations with providers, e.g. you can't defer their initialisation nor you can create a loop to dynamically iterate to create them (e.g. if you have to apply something for a dozen of regions, you will end up with a dozen copypasta). Not to mention TF providers are resource hungry, it is not unheard of a having a small TF run that eats more than 16GB RAM for no apparent reason.

JanosFeher
Автор

Aren't most programming languages just DSLs for Software Development? 🤔

jamesbelchamber
Автор

I think both of lee briggs and your statement is right. I feel that lee is come from a software development background, I assume because he also state that he contribute quite much into terraform code. Me myself is also a soft dev, and from our perspective is learning new DSL or new languange for spesific task is quite tiring, when I start to learn Terraform, all the keyword is really strange to me, I never use this term before haha, but pulumi make IaC more approachable by me, since it using the same keywords/term/syntax that I used everyday.

But after I watch your video from the infrastructure engineer or devops perspective, I agree that by using pulumi is introduce unnecessary options, where one company comfortable using JS as their IaC, but the other say use Golang for example.

Just writing this comment make me wonder which technology I will invest to learn more haha, not really want to switch career into devops or anything, just wanted to learn tech to make my personal app deployment easier, but who knows maybe I can use it in my professional work too

m.iqbalmaulana
Автор

I do prefer crossplane. And I do not like pulumi because it is too loose

stanislauyan
Автор

If you have complicated infrastructure requirements terraform isn't the best fit. Terraform doesn't have a debugger. So if you I would much rather write complicated logic with a language with a debugger, and `terraform console` is pretty limited.

jordanstewart
Автор

As long as we can all agree that Heat sucks lol

kevinc.
Автор

Hcl is such a handicapping tool. The idiotic type system is the bane of my devops life.

ytdlgandalf
Автор

Promising channel but very bad mic quality

murtadha