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:

AWS Virtual Waiting Room architecture

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.

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 >>