Pulumi is an open source platform for building and deploying cloud infrastructure and applications in your favorite language on any cloud.
Describe your resources in code—VMs, networks, databases, containers, Kubernetes clusters and workloads, serverless functions—and the CLI safely and reliably manages your cloud resources using an infrastructure-as-code approach.
By using general-purpose languages for infrastructure as code, you get all the benefits of real languages—IDEs, abstractions, and reuse thanks to functions, classes, and packages, debugging, testability, and more. The result is greater productivity with far less copy and paste, and it works the same way no matter which cloud you're targeting.
Other approaches use YAML, JSON, or bespoke DSLs (Domain-Specific Languages) that you need to master and convince your team to use. These "languages" fall short of general purpose languages, since they lack abstractions and reuse, and reinvent familiar concepts like package managers. Worse, these solutions are usually unique to every given cloud that you need to target.
Pulumi's SDK is fully open source and extensible, enabling you to participate in a rich ecosystem of libraries that ease common tasks, ranging from containers to serverless to infrastructure, and everything in between. Languages and clouds are supported using an extensible plugin model, enabling public, private, and even hybrid cloud support.