1. Docs
  2. Concepts
  3. Compare to...
  4. Cloud Templates

Pulumi vs. Cloud templates

    Several cloud providers offer their own form of infrastructure-as-code, typically by way of JSON- or YAML-based templating solutions. Examples include AWS CloudFormation for Amazon Web Services and Azure Resource Manager (ARM) for Microsoft Azure. Template files containing cloud resource configurations are usually uploaded to a hosted service in the target cloud, which then processes the files to create, update, or delete cloud infrastructure resources as necessary.

    While these template-based solutions are often easy to get started with, they can be cumbersome in practice and hard to maintain at scale, and they generally only apply to a single cloud provider. Pulumi takes a different approach that allows you to use general-purpose programming languages like TypeScript, Python, C#, Go, and Java, and markup languages like YAML, to manage your infrastructure, and do target any cloud using a consistent programming model. For example, with Pulumi, you can:

    • Use Azure Machine Learning in combination with AWS EC2, Amazon ECS, and AWS Lambda
    • Provision GKE Kubernetes clusters and deploy Kubernetes apps into them
    • Combine Let’s Encrypt SSL certificates, Cloudflare DNS configuration, and AWS compute resources, all in the same program

    Unlike many of these provider-specific services, Pulumi is open source and community-driven. To learn more about how Pulumi compares to some of these services in detail, see the following comparison docs:

      Introducing Drift Detection, TTL Stacks, and Scheduled Deployments. Learn More.