October 18, 2022
Only have a few minutes? Check out this week's MOST POPULAR links as chosen by our email subscribers.
Welcome to Issue #205 of Off-by-none (Community Edition)! π This issue is sponsored by our friends at Momento.
In our previous issue, AWS re:Invent session reservations went live, we learned why event schema validation is important, and we saw what happens when abstractions go wrong. This week, Webiny launches a Headless CMS+, AWS upgrades event source mappings, and we look at serverless platform engineering. Plus, we have some awesome serverless content from our amazing community.
Listen to the Open Source Startup Podcast from Twitter Principal Engineer, Yao Yue, and Momento cofounder, Daniela Miao, about how Twitter’s open source caching framework empowers Momento Serverless Cache. They discuss what it’s been like for Momento to launch on top of an open source project owned by the Twitter team, and the importance of a vibrant developer community! SPONSORED
The team over at Webiny has introduced the Webiny Enterprise Headless CMS+. The post also explores the challenges they’ve faced trying to classify what exactly Webiny is, because existing labels don’t quite do it justice. I know exactly what they are going through.
I’m sure there are plenty of recent announcements from Google that I’ve missed, but I did come across this post from Matt Campbell about Google Cloud Deploy adding support for Cloud Run. I’m not in that ecosystem, but unification of tools seems like a solid strategy.
AWS Lambda now supports event filtering for Amazon MSK, Self-Managed Kafka, Amazon MQ for Apache ActiveMQ, and Amazon MQ for RabbitMQ as event sources. Filtering was already available for SQS, DynamoDB, and Kinesis, so this seems to round out currently supported event source mappings for Lambda. Other event triggers work differently (generally attached to the publishing service), but it’ll be interesting to see if they make a move to consolidate the underlying semantics to make everything an event source mapping. π€
Alex DeBrie has a great post that discusses the three crucial caching choices: where, when, and how.
Pedro Cabido shares some more advanced Lambda concepts.
Allen Helton explains when to use PUT vs PATCH in this Serverless API Essentials piece.
Quick and straightforward comparison of Lambda@Edge and Cloudfront Functions by Marin Radjenovic. It doesn’t go deep, but it’s probably just enough info to help you rule out one over the other.
Excellent wrap up from Steve Bjorg sharing lessons learned on optimizing .NET on AWS Lambda. This is part 9 in a series that thoroughly examines the topic and shares the insights with others. I’m not a .NET person, but I appreciate Steve for taking the time to put this information out there.
Finally, Yan Cui compares Lumigo and AWS X-Ray for all your serverless observability needs. Yes, it’s a vendor piece, but there’s always something to learn from Yan and his experience.
So many serverless tutorials, and some interesting use cases, that I think are worth sharing.
André Fontenele shows you how to run R from AWS Lambda with a Docker container, Cem Onan explains how to get notified when specific errors occur in Lambda Function executions, and Matteo Depascale shows you all you need to know about Amazon Cognito triggers.
Shivang Chauhan had multiple posts this week including all you need to know about DynamoDB Global Secondary Indexes and how to become a DynamoDB Ninja.
And speaking of DynamoDB, Christopher Bong from Canva Engineering shares how his team built a simple, fast, and scalable reverse image search using perceptual hashes and DynamoDB. Very cool stuff.
Josh Armitage explains how to lock AWS Lambda Execution Roles, which should highlight that a) proper IAM configurations are complex, and b) security in the cloud should be your top priority from day 1.
There was this tutorial on using AWS Step Functions to implement the SAGA pattern, an AWS Amplify CLI Installation Guide (M1/M2 2022 Mac Edition) by Brian Hough (because I’ve never installed an AWS command line tool without issue), and JV Roig’s Serverless Analytics, Part 2: Collection Phase and Partitioning.
Yaswanth Mareddy shared this approach to creating an auto-incrementing key in DynamoDB, which I think is correct.
And last but not least, Alex Kearns shows you how to move to functionless Step Functions with this tutorial that discusses the power of new intrinsic functions.
Lee James Gilmore explains why Serverless is TOUGH but GREAT using acrostics. His sentiments are spot on, but even he admits that he had to take some liberties to make the acronyms work. π
And while we’re talking about acronyms, Keith McClellan writes about CAKE as being the New (Stateful) Serverless Stack. CAKE stands for CockroachDB Serverless, Authorization/authentication, Kubernetes, and Event-driven serverless platforms. There’s one ingredient in there that doesn’t make it seem worth the calories. π°
Justin San Juan shared a post on proactive or reactive provisioning and which is better in serverless systems. It goes a little deeper than I’ve typically seen, but regardless of the solution, this is why we should still be talking about cold starts.
Arjun RC talks about writing code for server”less” systems and why it’s different. Leverage the built in capabilities of the cloud to handle things like retries and timeouts, because your code can’t catch those things.
And finally, I tried to answer, “Can serverless really save polar bears?”
Marcia Villalba continues her series on Exploring event-driven patterns, this time focusing on event streaming with Amazon Kinesis.
Dave Anderson from Serverless Craic chats with BMK Lakshminarayanan about Value Engineering.
Amazon Web Services Build a Java Event-driven Serverless App with Amazon CodeWhisperer | Amazon Web Services
We’re (hopefully) still a few weeks away from the barrage of pre:Invent announcements from AWS, but it’s always fun to take a closer look at announcements this time of year to see what major announcements they might be hinting at. π
ServerlessSpy – CDK-based library for writing elegant, fast-executing integration tests on AWS serverless architecture and an additional web console to monitor events in real time.
ts-dynamodb-attributes-transformer – Code transformer plugin powered by TypeScript Compiler API that transforms TypeScript object to Amazon DynamoDB attributes.
Wrapper.js – An open source configurable wrapper script, made with JavaScript that aims to speed up development and deployment of web apps.
lambda-cache – Simple caching for AWS Lambda.
A excellent thread about platform engineering, the limits of marketing, and the primacy of context-specific solutions.
— Charity Majors (@mipsytipsy) October 12, 2022
Platform engineering is simply not a product you can package and buy, and to the extent we reduce it to one, it *loses* what makes it most valuable. https://t.co/ekkC8c1SPu
I have a lot of thoughts on “platform engineering”, especially in a serverless context. I shared more in this week’s premium edition.
If you have an event, webinar, etc. that you’d like me to mention, please email me.
October 18-19, 2022 – Datadog Dash Conference
October 19, 2022 – AWS Community Day Germany
October 20, 2022 – Personalizing your web apps with Fauna & Netlify (webinar)
November 28 – December 2, 2022 – AWS re:Invent
There is a very long list of people who are doing #ServerlessGood and contributing to the Serverless community. These people deserve recognition for their efforts. So each week, I will mention someone whose recent contribution really stood out to me. I love meeting new people, so if you know someone who deserves recognition, please nominate them.
This week’s star is Srushith Repakula (@srushithr). Srushith is the Head of Engineering at KonfHub, a one-stop platform for technical conferences built on AWS stack. His first taste of serverless was participating in the “AWS Chatbot Challenge” and since then, he’s become an AWS Serverless Hero and founded the Tirupati AWS User Group along with the first serverless-focused meetup group in Bangalore (there are over 6,000+ members across both groups!) Srushith also started Serverless Saturdays, a monthly webinar focusing on everything serverless and helping developers not only kick start their serverless journey, but also provide an opportunity to get access to learnings and experiences from experts across the globe. Thank you for continuing to grow the community, Srushith!
I hope you’re enjoying the community edition of the newsletter, but there is a lot more in the premium edition every week. We’d love your support! Plus, did you know that I publish my extended commentary to my blog at JeremyDaly.com? It’s delayed by a couple of weeks so our premium members get it first, but check out what you’ve been missing.
See you next week,
Jeremy
I hope you enjoyed this newsletter. Weβre always looking for ideas and feedback to make it better and more inclusive, so please feel free to reach out to me via Twitter, LinkedIn, or email.
Stay up to date on using serverless to build modern applications in the cloud. Get insights from experts, product releases, industry happenings, tutorials and much more, every week!
We share a lot of links each week. Check out the Most Popular links from this week's issue as chosen by our email subscribers.
Check out all of our amazing sponsors and find out how you can help spread the #serverless word by sponsoring an issue.
Jeremy is the CEO and Founder of Ampt and an AWS Serverless Hero that has a soft spot for helping people solve problems using serverless. He frequently consults with companies and developers transitioning away from the traditional βserver-fullβ approach. You can find him ranting about serverless on Twitter, in several forums and Slack groups, hosting the Serverless Chats podcast, and at conferences around the world.
Off-by-none is committed to celebrating the diversity of the serverless community and recognizing the people who make it awesome. If you know of someone doing amazing things with serverless, please nominate them to be a Serverless Star βοΈ!