Rewrite Pulumi vs. Terraform comparison page#18704
Conversation
Replace the marketing-style Terraform comparison with a neutral, feature-by-feature comparison covering language, providers, state, secrets, execution, modularity, policy, and adoption paths. Adds a reusable what-is-pulumi shortcode (HTML and markdown variants). Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
Your site preview for commit 922dd3e is ready! 🎉 http://www-testing-pulumi-docs-origin-pr-18704-922dd3e0.s3-website.us-west-2.amazonaws.com |
Docs reviewThe rewrite is a clear improvement — much cleaner structure, the feature table is genuinely scannable, and the adoption-paths section is the most concrete the page has been. Comments below focus on places where the "neutral" framing (per the PR description) slips back into the old marketing voice, plus a couple of factual nits. Neutral framing slipsThe PR's stated goal is to replace the marketing copy with a neutral comparison. A few phrases still read like positioning:
Asymmetric treatment
Factual / accuracy
Small structural notes
Shortcode pairingThe HTML and markdown shortcodes ( LinksSpot-checked the internal links — @claude — mention me if you'd like another pass after revisions, or want me to focus on a specific concern (e.g., further tightening the neutrality language, or proposing a consolidated Execution/Automation API section). |
Lighthouse Performance ReportCommit: 922dd3e | Metric definitions
|
CamSoper
left a comment
There was a problem hiding this comment.
Nice tightening of this page — the rewrite is much more skimmable than the marketing-heavy original, and every internal link checks out (verified the 17 doc paths and 4 anchors locally).
A few things I'd want to see before approving:
Language list — call it ".NET" rather than "C#"
The shortcode and the table cell list "Python, TypeScript, JavaScript, Go, C#, Java, and YAML". Pulumi's .NET SDK supports C#, F#, and VB — they all target the same MSIL, so the umbrella term ".NET" covers all three without making the bullet longer. The current wording reads as a regression vs. our own language docs (content/docs/iac/languages-sdks/dotnet/_index.md lists "C#, VB, F# (.NET)" in the title and menu name).
Affects:
layouts/shortcodes/what-is-pulumi.html:1layouts/shortcodes/what-is-pulumi.markdown.md:1content/docs/iac/comparisons/terraform/_index.md:40
Neutrality vs. positioning
The PR description promises a "neutral, feature-by-feature comparison," but the page opens with "Pulumi's provider ecosystem is on par with Terraform's for the major hyperscalers and ahead of it for Kubernetes and Azure" (line 30). That's positioning, not neutral framing. Either soften the claim to fact-only ("Pulumi's Kubernetes and Azure Native providers are generated from upstream API schemas") or update the PR description to acknowledge the lens — both are fine, but the body and the description should match.
Selective native-provider call-out
The page names Kubernetes and Azure Native specifically, but AWS Native and Google Cloud Native also exist. Either include them or qualify why these two are highlighted (e.g. "the most mature schema-generated native providers"). As written, a reader could come away thinking only two clouds get native-provider treatment.
Em-dash density
17 em-dashes in 53 added lines is heavy enough that you might want to convert some to commas, parentheticals, or colons for rhythm. Not a blocker — just easier on the eye.
Happy to look at v2 whenever you're ready.
|
Pausing on this for now per @alexleventer's wishes because the page sees such heavy traffic. Will open PRs for other tools first. |
Replace the marketing-style Terraform comparison with a neutral, feature-by-feature comparison.
Changes
content/docs/iac/comparisons/terraform/_index.mdwith sections for what each tool is, a comparison table, key differences, and adoption paths (coexistence, Pulumi Cloud as TF state backend, consuming TF providers and modules, conversion, import).what-is-pulumishortcode in HTML and markdown variants underlayouts/shortcodes/.