Managed services are so much more than canned functionality
When the announcement of the new AWS Virtual Waiting Room crossed my social media feeds last week, my interest was immediately piqued as one of my clients has an upcoming requirement for such a feature, and since they’re already on AWS, this could be ideal!
However, once I read the release blog post, my excitement quickly subsided when I realised that this is not in fact a new managed service, but rather a set of open-sourced CloudFormation templates and Lambda zips that you have to deploy yourself. And the architecture that these templates define, as you might expect, is pretty complex:
This solution is effectively AWS doing the development of a service and handing over operations of it entirely to your team. Of course, deploying CloudFormation templates isn’t that hard and this could tempt some teams in, especially those who are reluctant to venture outside the AWS walled garden when choosing managed services. “Here’s a pre-made stack that gives us exactly the functionality we need!”
But the initial CloudFormation deployment is only the start of it. You’re now on the hook for:
- Rolling this stack out to all your environments
- Debugging all issues that come up with it
- Setting up monitoring on the key components of this service
- Learning the underlying AWS services used which your (serverless-oriented) team may not be familiar with (e.g. VPCs, Elasticache)
- Rolling out patches to CF templates and Lambda code as they’re made available in the open source repo
And because your team didn’t develop this in the first place, all of the above are harder since you don’t have any familiarity with the internal architecture and codebase.
Now I’m sure that this particular solution will still be valuable to organisations who have the engineering resources to handle these operational overheads. But this makes me really appreciate what we are getting from managed services and it acts as a good example of something which speeds up upfront development but comes with a significant (albeit delayed) ongoing operational cost.
Paul Swail
Indie Cloud Consultant helping small teams learn and build with serverless.
Learn more how I can help you here.
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.