We use Pulumi at my current workplace and love it. Being able to use a real language (Typescript, in our case) allows us to create data structure abstractions to feed our Infrastructure-as-Code that make sense from a developer interaction point-of-view. Our abstractions are less leaky and more in-line with a well designed interface, ready for use by a team that doesn't need to know all the details. We can have developers write feature code and design services and just plug in simple details for new services in our stacks Yaml.However there is a gotcha. There are nearly infinite ways to setup your Pulumi codebase and there is no real prescribed structure outside of "create stacks". This can lead to a lot of time spent in architecting / implementing / testing different structures and abstractions which are not really a thing with Terraform. This can take time and can lead to refactors if you are not extremely intentional with your design.
No comments yet.