I’ve been using a series of Lambdas Function, APIs Gateway, Dynamos DB, and other sundry “serverless” services that I pluralize very strangely to build a series of microservices that combine to form the newsletter production pipeline that powers the thing that you all know as “Last Week in AWS.” Recently it was time to make a few fixes to it, wherein I stumbled across a particular variety of challenge that while not new, definitely feels like the serverless value proposition exacerbates it.
“Serverless” has become a catch-all term that’s been watered down enthusiastically, particularly by AWS offerings that look an awful lot like “serverfull” products to most of its customers, so let me clarify what I mean here. There are challenges around the margins, but basically I’m talking about services that are fully managed by the provider, charge only for what you use while they’re running, and scale to zero. Part of the benefit here is that once you have a service built on top of these technologies working, AWS handles the runtime patching, the care and feeding of the environment, and in practice I find myself not touching these things again for years at a time.
When I started out as an independent consultant in 2016, I spun up an AWS account. When I took on a business partner and reformed as The Duckbill Group, that account became the core of our AWS Organization, and today we largely view this as legacy / a pile of technical debt. These days everything we build gets its own dedicated AWS account or series of accounts, but this original account has a bunch of things in it that are for a variety of reasons challenging to move.