No one size fits all: True also for selecting IaC tool

No one size fits all: True also for selecting IaC tool

Serverless applications are architected using different components and using Infrastructure as Code (IaC) helps with provisioning the resources used by the Serverless applications using a developer workflow. This improves the developer journey from getting started on a Serverless hello world application to a complex production grade Serverless application.

Previously, I had authored why IaC should be the direction for Serverless applications.

IaC and IfC tools

When we talk about Infrastructure as Code (IaC) or Infrastructure from Code (IfC), today there is an overwhelming number of options of tools that focus on either IaC or IfC for Cloud and specifically Serverless.

Curious about making a choice of infrastructure tool

Infrastructure tools have been the core of different developer workflows and how the development teams leverage these tools. And the different pillars which make your case about a tool stronger are -

Support for services

The coverage of different services the tool has for you as a developer to be able to build applications that can use different services on Cloud providers. This poses a challenge for the tool to be in sync with the Cloud providers.

Integration with CI/CD pipelines

The tool would be the ideal choice when it can integrate well into the CI/CD pipelines to automate the infrastructure provision in different environments either natively or using different plugins.

Developer experience

The Developer Experience (DX) of the tool which makes it easier for developer to adapt and help with a smooth for defining, testing, deploying the resources for your Serverless application. This also relates to how the tool can have a positive impact to the developer productivity.

Learning curve

If the tool introduces a steep learning curve about the tool and it's feature usage making it harder at one or more stages of the developer journey to build Serverless or cloud applications in general.

Readily available patterns

Today, GenAI has taken over different segments of a development process, while the tool can leverage that to enable frequent patterns or completion of different default properties for the resources either with the tool's native capability or as GenAI capability making it easier and increasing time to deploy.

Community and support

The DevTools are driven by a community that can help with unblocking a developer and also enabling with latest happenings and best practices. It makes it an easier choice for developers to try and also adapt when there is support and peer contributions to improvise the tool.

Your voice about I a/f C tools

I've been evaluating several IaC and IfC tools in the last few months, and to understand the love for these tools, I ran polls on LinkedIn, Twitter, and also my Newsletter.

Look at the poll results -

Serverless Infrastructure tools poll on Twitter.

Terraform is widely adapted given that it is adapted for cloud applications in general, and the swift support with declarative IaC with Serverless services too and the fact that Terraform is already cloud agnostic makes the adoption much easier.

Serverless Infrastructure tools poll on LinkedIn.

One thing that stood out was specifically how Serverless Framework and CDK are the popular choice for infrastructure for Serverless applications. Some of the key callouts were of declarative YAML on Serverless Framework and programming constructs with CDK.

In this blog series, I will look into different IaC and IfC tools that enable you to build Serverless applications with a much better experience than what it was a few years back, so tune in!

Learn about Serverless I a/f C DevTools

Personally, have been a big AWS SAM user so here are a few blogs about SAM -

And about how Serverless workloads also works with more configurations rather than complex application code.