Pulumi infrastructure-as-code goes universal to build cloud apps

We are excited to bring Transform 2022 back in-person July 19 and virtually July 20 – 28. Join AI and data leaders for insightful talks and exciting networking opportunities. Register today!

Cloud engineering software maker Pulumi has come up with a new service called CrossCode, a universal translation technology that turns Pulumi infrastructure and policy into code. While the universal tool won’t exactly promote universal understanding, it could make life a lot more peaceful for developers building cloud apps and infrastructure. The news was announced today at the Seattle, Washington-based company’s second annual PulumiUP conference.

CrossCode provides all cloud builders — developers and infrastructure experts alike — with the capability to tap into the use of any cloud in any language. This would be a first for the industry. Pulumi also announced support for any Java language (Java, Scala, Clojure, Groovy, Kotlin), as well as YAML, expanding its language support beyond .NET (C#, F#, PowerShell), Node.js (JavaScript, TypeScript), Go and Python. 

Java, one of the most pervasive protocols in the world, already brings infrastructure-as-code to millions of developers and has since the mid-1990s. YAML provides a simple declarative format, tapping into the full Pulumi platform and enabling simple use-cases and tooling. 

CrossCode makes cloud infrastructure universal

Pulumi’s CEO and cofounder Joe Duffy, a key player at Microsoft when it open-sourced .NET and released a distribution on Linux in 2008, explained that “when you think of (structural) things in the cloud, the equivalent is infrastructure.”

“You know: ‘I need a cluster,’ ‘ I need a network,’ ‘I need to build a modern cloud architecture’ – those kinds of structures,” Duffy said. “Code gives that to you right at your fingertips. But our approach was different from other tools out there. AWS has CloudFormation, Azure has ARM templates, HashiCorp has TerraForm. But nobody had taken everything we know about general-purpose languages and applied it to infrastructure code. And so, we built a multi-language runtime that does infrastructure code.” 

Pulumi CrossCode is the universal translation layer to Pulumi’s infrastructure-as-code engine that enables infrastructure-and-policy-as-code in the industry’s most-used programming languages. It converts any infrastructure as code format, including Terraform, CloudFormation, Azure Resource Manager and Kubernetes configuration, to any supported Pulumi language. It also interoperates with all existing infrastructure provisioned by any means, including other infrastructure as code systems, Duffy said.

All of these new capabilities integrate with the Pulumi Cloud Engineering Platform, which includes reusable multi-language components, secrets management, CI/CD integrations, policy as code and the Pulumi Registry. Pulumi accelerates practitioner productivity by making infrastructure-as-code infinitely easier for all development and operations teams to use, Duffy said. 

With the new support for Java, Pulumi expands its reach to the large community of Java developers (an estimated 10 million) who previously have not been able to use infrastructure-as-code to tame cloud complexity, Duffy said. As one of the most powerful and flexible programming languages due to its platform independence and widespread use in large organizations, Java is currently in use by more than 35% of developers, according to the 2021 StackOverflow Developer Survey. 

Pulumi YAML support bridges ‘dev and ops’ divide 

With new support for YAML, Pulumi enables a simpler, industry-standard markup format for expressing infrastructure-as-code that continues to tap into its multi-language ecosystem. YAML supports three common use cases; first, YAML allows for a simple entry point to infrastructure as code, when architectures are in the 10s of resources, with the ability to eject out of YAML into any of Pulumi’s supported languages as infrastructure becomes more complex over time. 

Secondly, shared services platform teams can define infrastructure with built-in best practices using the full capabilities of a general-purpose language – where advanced capabilities like encapsulation and abstraction are often warranted – while another team consumes those components from YAML. Lastly, YAML also provides a simpler data format for tooling scenarios where developers may want to generate or parse infrastructure-as-code definitions. Duffy said. 

Pulumi has also added new packages spanning cloud and software-as-a-service (SaaS) partners and components with support for Oracle Cloud, Databricks and EventStore, Duffy said. This adds to existing support for Amazon Web Services (AWS), Microsoft Azure, Google Cloud, Kubernetes, Auth0, CloudFlare, Confluent Cloud, Datadog, DigitalOcean, Docker, GitHub, Kong, MinIO, MongoDB Atlas, PagerDuty, Snowflake, Spot by NetApp and SumoLogic. 

Kubernetes clusters and serverless apps

Additionally, new components include out-of-the-box support for container applications, Kubernetes clusters, serverless applications and more. The new AWS Cloud Development Kit (CDK) on Pulumi allows any CDK package to be consumed from Pulumi. Each of these packages is available in all supported languages, Java and YAML included.

Pulumi launched all of these new capabilities at PulumiUP, its annual conference for the Pulumi community. All the new capabilities are freely available in Pulumi’s flagship infrastructure-as-code project, which recently surpassed 12 thousand stars on GitHub.

Originally appeared on: TheSpuzz