Been checking out Pulumi, and I'm having a hard time understanding what Pulumi can offer outside of what is already available in AWS cdk. I've looked at some tutorials and such, but I still haven't seen what I think is a big difference. Could someone enlighten me?
06/15/2022, 4:54 PM
When defining infrastructure, you have 2 experiences: the authoring experience (ie how does it feel to write the infrastructure code) and the execution experience (what does it feel like to provision the infrastructure you've written)
AWS CDK's authoring experience is similar to Pulumi's, in that you get to use node/python/go/dotnet/java to write your infrastructure
The big difference is the execution experience. Pulumi calls the AWS API directly, and is much faster. AWS CDK transpiles down to cloudformation templates and is very very slow. One of our customers did a case study where they measured the performance improvements here: https://www.pulumi.com/case-studies/panther-labs/
In addition this, execution experience for cloud formation is very rigid, you dispatch the template and...wait. WIth Pulumi you can choose your execution experience, either via the traditional CLI way or use automation API to define your own execution experience: https://www.pulumi.com/automation/ This talk I did which is Go specific talks a lot about this:
There are lots of little features I can point to which are (in my opinion of course) better than CDK, but the main value driver is there
Thanks a ton for the resources! I'll check them out
06/15/2022, 8:07 PM
This may not matter for you, but lots of companies/orgs end up working with multiple cloud platforms/service providers. In that case, Pulumi’s support for multiple providers is a big plus over a provider-specific tool like AWS CDK.