šŸ’· The Frugal Architect

Reflections on Werner Vogels keynote session at AWS re:Invent

I was lucky enough to head over to Vegas earlier this month for AWS re:Invent. We had a couple of speaking slots to talk about the work weā€™ve done at Monzo over the last year, and it was my first taste of a conference of this size. Iā€™d say surreal is the word.

While there, I had the opportunity to go to Werner Vogelsā€™ keynote (itā€™s worth a watch if you have the time - even just for the production value!). He spent a big chunk of it introducing ā€œThe Frugal Architectā€.

This resonated with me personally as a few years back I had one of those moments of realisation that the AWS bill was getting too big. Ever since, a day hasnā€™t passed without me contemplating cloud cost optimisation.

This post is a roundup of the key themes Vogels introduced, with a sprinkling of how I think this applies to engineering teams (with an obvious bias towards Platform given my current responsibilities šŸ˜„).

(On a lighter note, I found it amusing yet insightful to hear the CTO of a leading cloud provider emphasise the importance of controlling spend ā€“ but better spent with them than a competitor, I guessā€¦)

3ļøāƒ£ Three pillars of frugality

I like the way he grouped the key laws into three pillars of Design, Measure, and Optimise.

Iā€™m intending to use these deliberately with my teams next year as I think it provides a nice condensed way of thinking about cost optimisation. I also think the law themselves do a good job of framing cloud frugality as something that every engineer needs to care about, not just the team who operate the platform. Letā€™s briefly dig in to each of these pillars.

šŸŽØ Design

But how do you do this? For me this means treating cost as a first class citizen regardless of what area of the business youā€™re working in. My experience running platform teams that abstract away complexity for engineers (so they can focus on building great products for customers and not solving infra-related problems) is that we can often abstract away the cost from them too. If you operate a central platform, thereā€™s a risk cost becomes your problem to solve rather than something thatā€™s considered upfront by the teams building.

Aligning cost to business makes sense to me - do you understand the true cost of offering your product/feature? Establishing how much youā€™re willing to spend on operating a product or feature is a key first step - and you can make the right trade offs from then on.

A genuine question that Iā€™d love to hear from you about ā€“ how do you integrate cost considerations into your design processes?

šŸ“Š Measure

I think this pillar is obvious (especially if youā€™ve had to solve any kind of cost problem in the past). If you donā€™t know what youā€™re spending, you canā€™t track it. And if you canā€™t track it, how will you know what to optimise?

If youā€™re watching Vogelsā€™ talk back, I really liked the example used about the identical houses in Amsterdam who had wildly varying energy consumption. Turns out that the houses who had their energy meters visible in the hallway for residents consumed significantly less energy than the ones who had theirs in the basementā€¦

šŸ“‰ Optimise

ā€˜Cost optimisation is incrementalā€™ is probably my favourite law of them all. Reaffirming that cost optimisation is never ā€˜doneā€™ is an important message for teams internally. Set up your observability, put sensible thresholds and alerts in place, and keep deliberately chipping away at it - just as you would your technical debt. Sounds super obvious, rightā€¦but are you doing it?!

šŸ¤¾ Frugal architecture in practice

Embracing the role of a frugal architect isnā€™t just about cutting costs. Itā€™s more than that - itā€™s about every engineer taking responsibility for making sustainable, well considered decisions about how and when to build.

Broadly I felt validated that Iā€™m approaching the problem of cost control and optimisation in the ā€˜rightā€™ way so far. It provides a useful framework that we can apply in our environments to make the point that spending money sensibly is the responsibility of all engineers.

Iā€™d love to hear from you about the various tools and approaches youā€™ve found effective ā€” feel free to share your insights with me via the channels below! šŸ™

X ā€“ LinkedIn ā€“ email

All images in this post were generated using DALL-E

*****

Ā© Copyright 2024 - Luke Briscoe


ā˜• Made using the Pudhina theme by Knhash šŸ› ļø