Our serverless superhero this week is Ro Ndimofor, developer at Serverless Guru and AWS serverless hero. Ro is a great writer, often writing about Step Functions (my favorite service), CDK, and AppSync on his blog. Thank you, Ro, for being a wonderful role model and educator!
We know it’s important with serverless applications to design for retry. Everything fails all the time, so we need to account for it! Ran Isenberg published a blog post on API idempotency using AWS Lambda powertools. He breaks down the architecture of an idempotent endpoint, then shows how to build it with the CDK. Ran goes on to show two different implementations for idempotency checking and offers his recommendation on how to approach it yourself.
Lee Gilmore provided us with a sobering article last week asking if serverless lock-in and spiraling complexity are worth it. He talks about the good and bad, comparing what software development was 10 years ago vs today. He also brings up the many components of a production-ready serverless application, casting away the “serverless is simple” myth. No spoilers here - this is a great read where he determines if serverless is worth it given the baggage.
There was an AI hackathon recently that drew the attention of a powerhouse group of people. Matt Morgan, Julian Michel, Johannes Koch, and Danielle Heberling grouped up to create the AWS Speakers Directory using a slew of AWS serverless services and AI tools. In the post, Matt talks about the project, why they made certain decisions, and even provides detail about their data model. It’s a super cool breakdown of a tremendous build.
I’m a big fan of ephemeral environments. Spin one up when you need it, destroy it when you don’t. This helps prevent drift in a dev environment and guarantees you’re always starting fresh with whatever is in your
main branch. Matt Martz has been making some wonderful advances in this paradigm. In a post from last week, he introduced the destroyer stack which is a centralized destruction mechanism that deletes resources that aren’t in use. It’s all triggered off a configurable TTL and backed behind the
@aws-community/ephemeral package to use directly in your CDK applications.
Yan Cui published an article last week that made me scratch my head. He poses the question “are we getting infrastructure all wrong in the serverless era?” It’s a great question where he poses a few good fundamental points on infrastructure and how we consider it as it relates to business logic. This one is a puzzler and I expect we’ll get a polarizing response from it.
Episode 13 of the Ready, Set, Cloud podcast released last week with Alex Kearns. Alex and I discuss app modernization and cloud migration. We cover what the difference is, some strategies around getting into the cloud, and how to beat modernization paralysis.
S3 now provides restore status of Glacier objects when using the List API. Since loading things out of Glacier is an async process, this will provide a nice way to inform users how far along you are when doing a retrieval.
The internet is constantly buzzing about generative AI and all the new things you can do with it. We’re treading into dangerous territory where it’s hard to determine if something is created by a human or by AI (don’t worry, my newsletter is still written by hand). Stephen Sennett wrote a delightful article on how he built a serverless AI content detector. He walks through his creative process and details exactly how he built it. It’s a fun read with lots of pictures and humor throughout.
The Lambda godfather, Julian Wood, released a 23-part video series on Lambda fundamentals last week. This is something we all have a chance to learn a few things about one of our favorite services.
🆕🚀📢Want to speed up your cloud development? My new 23-part video series: "AWS Lambda Fundamentals" starts from the beginning, showing you what you can build with Lambda and how it works. https://t.co/pEDc9IcXyf #Serverless #aws #lambda #programming pic.twitter.com/GLFBn3zGUu— Julian Wood (@julian_wood) June 28, 2023
Do you use Lambda layers? I feel like everyone who uses them has a different motivation. If you do, reach out and tell me how and why. If you don’t, I’m curious as to why not. Send me an email or reach out on Twitter!