The argument started as a logo fight. Terraform on one side, Pulumi on the other, as if the cloud would behave once we picked the right binary.
Both tools do the same loop. You describe the resources. You preview. You apply. State records what actually exists. The two terminals below run that deploy side by side for the same S3 bucket. Speed and reset sit at the bottom.
Same loop either way: describe it, preview it, apply it, record it in state. Only the language you describe it in changes.
▶ Try the interactive demo on harun.dev
The loop is the product
I stop people when the debate is only about HCL versus TypeScript. The product is the loop. Pulumi can now run existing Terraform HCL too ( runtime: hcl ), so even the language is no longer a hard line:
Miss the preview and you get surprise destroys. Miss the state lock and two applies race. Miss who can read state and you leak database passwords. The CLI brand does not fix those.
Same bucket, two descriptions
Here is an S3 bucket both ways.…