Our serverless superhero this week is Maxime David, software engineer at DataDog and AWS Community Builder. Maxime is the mastermind behind lambda-perf - a site that compares AWS Lambda cold start times of all the available runtimes. He makes great content on YouTube, mostly focusing on Rust development. Maxime is a great serverless advocate that brings practical use cases right into your hands. Thank you, Maxime, for all you do for the community!
I’m big into automation and have a particular soft spot when it comes to enhancing the blogging experience. Jimmy Dahlqvist shared a post where he describes how he built audio into his blog with Amazon Polly. This is a great feature for those of us who prefer to listen rather than read. I love that there’s no additional work for him to get audio in his posts from now on. It’s all done automatically and even updates his blog post source code with links to the content!
The pinnacle of software automation is a self-healing system - software that sees errors and knows exactly what to do to avoid service disruption and provide a resilient experience. Pubudu Jayawardana gave us an amazing example with his post on self-healing apps with Lambda destinations and EventBridge. He steps through his architecture that shows how the system identifies and solves problems and explains why destinations are better than simple DLQs in error scenarios.
Benjamen Pyle wrote an article last week on how to subscribe SNS to EventBridge pipes. He talks about the reality that we all face - not all software is greenfield - and how to refactor existing serverless code to use new features like EB pipes. This is a great way to keep your software on the cutting edge and to take advantage of performance and cost-saving updates. His source is written in the CDK and available on GitHub.
Ben Kehoe sums up the meaning(lessness) of serverless well in his post last week. It’s a short read that begs the question, “does the term really matter?” This is a good reminder that serverless is a mindset and not so much a technical definition.
I always perk up when I see a serverless use case come out of left field (that’s a baseball reference meaning unexpected). I noticed Andrea Falzetti was trying to do something I haven’t seen before. He needed to run Node.js and Python in a single Lambda function. He didn’t go into detail why but he tackled his problem by building a custom runtime that contained both Python and Node in it. While I wouldn’t advocate following the same route as Andrea (it sounds like a good use case for Step Functions to me), it’s a great reminder that AWS has provided the tools for you to extend their services in almost any way you can imagine.
Yan Cui wrote about the biggest problem with EventBridge Scheduler and how to fix it. As you might already know, one-off schedules do not clean up after themselves. They hang around indefinitely until you delete them yourself. Yan offers an alternative to a solution created by Pubudu Jayawardana to make for a simpler clean-up. He suggests using Lambda destinations for removing one-off schedules after execution. It’s a great idea for schedules that trigger Lambda functions. For one-off schedules that trigger other services, you’re still on your own for cleanup.
I had an interesting experience a couple of weeks ago around a “REST API” that allegedly existed for a service I use regularly. Spoiler alert - it was not RESTful. Nor was it documented. It inspired me to write an opinionated post about why API specs are the backbone of successful development. It’s not serverless related, but if you’re building serverless software, you likely have endpoints that need documenting. Enable your consumers to build better and faster by creating high-quality API specifications.
S3 now has aliases for object Lambda access points. This enables content to be tailored on retrieval for specific end users and use cases. It opens the door for easy content moderation and redaction on the fly. Great new feature on S3’s 17th birthday!
Content creation is hard work and the community never stops amazing me with how much high-quality content it produces. A particularly impressive example was Kristi Perreault last week. She committed to a week-long 90 days of DevOps takeover for serverless and published a blog every day. She covers foundational serverless in her own words, with posts about what serverless is, serverless compute, serverless storage, serverless APIs, and serverless orchestration. There’s a lot of ground covered in this impressive feat. Thank you Kristi!
Marc Brooker shared a presentation talking about how S3 uses massive scale to even out bursty workloads. The entire video he shares is worth the watch, but Marc links directly to the part where they talk about how multi-tenant storage enables some of the incredible capabilities S3 has to offer. It’s always fascinating to get a peek under the covers of some of the world’s best software.
The whole of Andy Warfield's talk "Building and Operating a Pretty Big Storage System (My Adventures in Amazon S3)" is great, but this bit about the economics of multi-tenant storage systems is super important: https://t.co/HWJGzrmdju— Marc Brooker (@MarcJBrooker) March 16, 2023
I will be in London from April 19 - 27, if you want to meetup please let me know! I’m giving talks at several user groups and conferences while I’m there and hope to see many of you in person!