Codementor Events

Say Goodbye to Cloud Templates and hello to Pulumi

Published Aug 08, 2020Last updated Aug 12, 2020
Say Goodbye to Cloud Templates and hello to Pulumi

Ever heard the term ‘Infrastructure as Code (IaC)’? If not, I suggest that you read more about it before continuing. Let’s quickly see why IaC is important and how it can make a developer’s life easier.

What is Infrastructure as Code (IaC) and why do we need it?

Simply put, it is a way of describing and managing your hardware infrastructure with human-readable code. Years ago, DevOps engineers had a hard time trying to automate and execute infrastructure related tasks such as setting up, scaling up, etc. It was mostly shell scripts which saved their day. With cloud giants like AWS and AZURE stepping into the game, the idea of ‘Cloud Templates’ was born, and it spread among developers faster than the great plague.

AWS introduced CloudFormation, their own common language to provision AWS resources (debatably) with a snap. To paraphrase what they advertise, it’s a simple text file to create and manage resources in your cloud environment. Microsoft Azure provides a similar service through the Azure Resource Manager tool. You can write Azure Resource Manager Templates to provision your cloud resources.

0

These cloud templates are without a debate, powerful and undoubtedly save a lot of time. But it needs some effort to learn and understand all these descriptor languages despite their complexity. Especially if you are working on multiple cloud platforms, it will take a considerable amount of time to learn numerous configuration syntaxes and isn’t life too short to do something like that? So what if you could write all that infrastructure management code in your favourite programming language? Now you might say almost all major cloud vendors provide SDKs for popular programming languages. But still, there are several complexities you’d have to deal with. These SDKs including many other community-developed third-party libraries offer direct access to cloud APIs. They surely can be used to provision cloud resources, but the reliability factor depends on the developer. The developer still has to manage them manually without a proper structure, and that kind of open-code provisioning is considered to be error-prone and problematic. So let me ask again, what if you could write all your infrastructure management code in your favourite programming language and manage your resources across multiple cloud platforms? Say hello to Pulumi!

What is Pulumi?

Pulumi is an opensource platform to deploy and manage your cloud infrastructure in your favourite programming language on multiple cloud platforms. In simple words, it’s a swiss army knife for cloud infrastructure management.

0

To begin with, it’s 100% opensource and free, and it currently supports almost all major cloud platforms such as AWS, Azure, Google Cloud Platform, Kubernetes and OpenStack. Pulumi is written in a way which you can follow proper Infrastructure as Code practices to deploy and version your deployments. Also, it has a flexible programming model which will allow you to take advantage of abstractions and reuse your code. If you’re a DevOps engineer, you know how crucial it is to have a proper Continuous Delivery (CD) system to deploy changes to production seamlessly. So has Pulumi got it covered? Yes, you guessed it right! You can integrate Pulumi with your existing ALM and SCM systems to continuously deliver to multiple cloud platforms with ease.

Pulumi Cloud Framework

The Pulumi Cloud Framework package lets you program infrastructure and your application logic using high-level cloud programming modules. It also enables you to write cloud-agnostic applications which you can deploy across a variety of cloud platforms. At the moment it only supports AWS, and they are planning to extend support to all major cloud platforms. The Pulumi Cloud Framework adheres to the serverless architecture which allows you to build applications with minimal fixed resources and full scalability.

Originally published on Medium: Say Goodbye to Cloud Templates and hello to Pulumi

What is Infrastructure as Code?
Pulumi vs. Custom Cloud Solutions
Pulumi Cloud SDKs
Pulumi source code

Discover and read more posts from Dileesha Rajapakse
get started