Photo by Jefferson Santos on Unsplash

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

    🩺
    Architecture & Process Review

    Built a serverless app on AWS, but struggling with performance, maintainability, scalability or DevOps practices?

    I can help by reviewing your codebase, architecture and delivery processes to identify risk areas and their causes. I will then recommend solutions and help you with their implementation.

    Learn more >>

    🪲 Testing Audit

    Are bugs in production slowing you down and killing confidence in your product?

    Get a tailored plan of action for overhauling your AWS serverless app’s tests and empower your team to ship faster with confidence.

    Learn more >>