Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Reducing the Friction in Multi-Cloud Deployments, Pulumi Launches 1.0 Platform

Reducing the Friction in Multi-Cloud Deployments, Pulumi Launches 1.0 Platform


In a recent blog post, Pulumi has announced the release of Pulumi 1.0, a modern infrastructure as code (IaC) platform that allows organizations to reduce the challenges associated with managing multiple cloud deployments. Their solution includes using consistent tooling based on popular programming languages like TypeScript, JavaScript, Python and Go, in order to define infrastructure. In addition to SDK support, Pulumi also provides a SaaS Management console for configuring identities, organizations and policies.

Pulumi provides support for the major public cloud providers, including Microsoft Azure, Amazon Web Services (AWS), Google Cloud Platform (GCP), Kubernetes and Digital Ocean. 

An SDK has been provided that supports core infrastructure management, including "stack management" that enables developers to promote code between environments. State storage can be used to manage state across AWS S3, Azure storage, GCP storage or the filesystem. Environment configuration can also be managed using Pulumi across environments. In addition, Pulumi provides a key management service (KMS) for storing secrets, passwords and tokens across AWS KMS, Azure KeyVault, GCP KMS or HashiCorp Vault.

Some of the advantages that Pulumi claims to offer over traditional IaC approaches includes the ability to use their tools as abstractions over low level SDKs and APIs e.g. engineers work with a generic cloud key-value store SDK, rather than a AWS DynamoDB or Google Cloud Datastore SDK. This reduces the number of implementations required across multiple cloud deployments. Additional flow control is also available, since developers can use some of their favorite languages to construct if statements, for loops and case statements. 

While Pulumi uses imperative languages, it is declarative under the hood. The Pulumi engine orchestrates all CRUD operations. Additional capabilities are available in the Pulumi service that include identity integrations with GitHub, SAML/SSO with Active Directory, Okta and more. Rest APIs and Webhooks are also available for additional automation. Pulumi has published several samples for different cloud providers in their GitHub repository.

Pulumi is used by many different organizations that span startups to Global 2000 enterprises. One of their customers includes Mercedes-Benz Research & Development North America. Dinesh Ramamurthy, an engineering manager, explains why they have chosen Pulumi:

I needed a solution that cut across silos and gave our developers a tool they could use themselves to provision infrastructure to suit their own immediate needs. The way Pulumi solves the multi-cloud problem is exactly what I was looking for.

Another aspect of the Pulumi solution is focused on enabling organizations to be agile when working with multi-cloud deployments, and providing the ability to leverage DevOps practices to release code frequently. Harrison Heck, head of DevOps at an eCommerce company called Linio, explains how they use Pulumi in their DevOps practice:

As the largest eCommerce platform in Latin America, our infrastructure has to be highly stable, well-documented and agile. With Pulumi, we're able to develop new infrastructure, change existing infrastructure and more with greater speed and reliability than we've ever had before. Pulumi has allowed us to simplify and automate our workflow, ensuring that changes that are made have been reviewed the same way that they are for our applications.

Pulumi is not the only startup trying to address the challenges associated with multi-cloud deployments. HashiCorp recently released Terraform Cloud that seeks to solve many of these same problems.

Rate this Article