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


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Right now, feels like meh to me

    by Florin Jurcovici,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Have used TF, have not used Pulumi. Many people complain about TF's ... less than perfect HCL. True, it may not be perfect, but it's a DSL quite fit for the purpose. I'm quite sure I'd end up defining my own, even worse DSL, if I had to use a general purpose language to define infrastructure. A DSL is the most productive way to deal with complex domain logic, and there is such logic in infrastructure setup. Therefore, I don't see the capability of using general purpose languages for defining infrastructure, without a dedicated, specialized DSL, as an advantage for pulumi. You are always more productive with something you already know, but a specialized tool, even if it requires some initial learning, always makes you more productive at what it's built for, after you've learned it, than a generic tool.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p