The company uses programming languages rather than markup languages like YAML or JIML to define infrastructure in cloud environments because it supports control flow. That means developers can define and manipulate infrastructure elements differently based on a variety of outcomes. They can abstract commonly used infrastructure definitions into classes or functions, and they can publish their definitions as packages for easy sharing. They can also apply standard testing tools and code reviews, CEO Joe Duffy explained.
Coders begin using the program’s CLI. It provides a range of different project types detailing the name of the cloud service and the name of the language (such as
aws-typescript). Coders choose one, name it, create an instance (known as a stack), choose a region for their chosen cloud service, and then store the infrastructure parameters in an index file in the language of their choice.
The system supports a range of cloud services, including AWS, Azure, the Google Cloud Platform, and DigitalOcean. It also supports Kubernetes environments.
Pulumi also provides a range of additional services to support its infrastructure coding feature. It includes a cloud-based management console for configuring identities and organizations, and assigning policies to them. It supports this by integrating identity and access management integrations from third parties. Developers can use its key management service to encode configuration information such as passwords or tokens, or they can use third party ones.
The product is available as a free Community edition, and in paid Team and Enterprise SaaS versions.