Weekly Journal 90 - Pulumi Redux
Over the past week I have managed to import most of my personal cloud resources into Pulumi. Having spent more time working with the tool, I have observed a few items of interest.
The documentation is a little anemic
Compared to Terraform]1, the Pulumi documentation is pretty sparse. The provider docs in particular lack anything beyond the most basic of examples. Similarly the getting started guides and the architecture guides would benefit from deeper explanations of how Pulumi works and why Pulumi exists.
Provider support is limited
Terraform has a huge list of providers for various services. Pulumi has providers for most of the major cloud services, but if you are using something that is a little less mainstream, it likely isn’t supported by Pulumi yet. Pulumi does have an API that looks like it would be relatively easy to wrap a Terraform provider, but I haven’t tried it out yet to confirm.
It’s fully open source
Unlike Terraform, Pulumi looks to be fully open source. Terraform holds back certain features as proprietary add-ons for customers paying for an enterprise plan. This includes thee Sentinel policy tool and the managed hosting tool. Pulumi makes all of their tools available as open source. If you want to self host the state management service, you can do that with Pulumi. Pulumi also provides an automation API that can be used to embed Pulumi into your own systems. If you want to build a developer portal that provisions cloud resources, Pulumi allows you to do that without having to shell out to run their CLI tool.
It also looks like Pulumi accepts outside contributions to their projects. They don’t require a contributor license agreement, and will accept code contributions to their core products. Terraform seems to discourage attempts to contribute to the core tools, though they do accept contributions for providers and documentation.
Pulumi is still a relatively young tool compared to others in this space. I am confident the documentation and provider support will continue to improve. I really like Pulumi’s open source stance and the fact they aren’t an open core company. For that reason alone I will be sticking with Pulumi.