IaC is becoming table stakes for new cloud services

I love seeing developers building new cloud services to serve other developers. I occasionally get asked by folks in the cloud/serverless space to try out their product and while I often don’t have much time to do so, when I do there is one comment that I regularly make: how can I set this up with Infrastructure-as-Code?

Putting aside the value proposition of the functionality your service may deliver, for it to get in the door, it needs to fit into standard software delivery processes. Otherwise it will be much harder for professional software teams (i.e. your best paying future customers) to adopt and may only ever be used in solo hobby projects.

Serverless is making it easier than ever to automatically spin up isolated development and testing environments on an adhoc basis and developer expectations are being set according to this. Your hosted service needs to fit into this delivery model, otherwise it will completely break this experience.

In practice, this means providing a method of automating the provisioning and configuration of whatever resources your service provides. Ideally this is some form of Infrastructure-as-Code file that I can add to my repo (probably with an associated CLI package) but at a minimum it requires you providing a control plane API which dev teams can use to write scripts to create and configure what resources they need for each of their environments.

This may seem like a nice-to-have feature for an early stage startup and there is of course some development work required to enable IaC for your service, which will be at the expense of let’s say more functional features.

But to me, it’s a sign that you are serious about developer experience and sets you apart from all the other services that still don’t offer this. Personally, if I was building a new cloud service targeted at a serverless-oriented developer audience, I would lead with an IaC-first approach and treat web UI click-ops capabilities as nice-to-haves that I can build out later.

If it isn’t there already, IaC will soon become table stakes for developer-focused cloud services.

— Paul

Join daily email list

I publish short emails like this on building software with serverless on a daily-ish basis. They’re casual, easy to digest, and sometimes thought-provoking. If daily is too much, you can also join my less frequent newsletter to get updates on new longer-form articles.

    View Emails Archive

    Free Intro Call

    Book a free 30-minute introduction call with me to see how I can help your team with serverless.

    Select a time for our call

    🛫 Serverless Launchpad

    Ready to start building your new AWS serverless project but need help with getting everything setup?

    The Serverless Launchpad is a done-for-you DevOps service installed in under a week. You get a leading-practice multi-account AWS environment, a scaffolded codebase and architecture including the common AWS serverless services, isolated cloud environments for individual developers, automated delivery pipelines right through to production and much more. Everything is IaC, extensively documented and handed over to your developers.

    Learn more >>