This week’s serverless superhero is Lars Jacobsson, Head of Infrastructure at Mathem.se and AWS Community Builder. Lars regularly takes it upon himself to make developer experience better for everyone with his open source tools like the Step Functions SDK Autocomplete VSCode extension and EventBridge pattern generator CLI. Without Lars, the serverless community would be set back a few ticks because of how much easier he is making development. Thank you Lars for everything you contribute to the community!
Alex Kearns kicks us off with a tutorial I hold dear to my heart - retrofitting Step Function workflows to replace Lambda functions with direct SDK integrations. He aptly names is post moving to functionless Step Functions and walks us through a real world example of using not only SDK integrations, but the recently released intrinsic functions as well. It’s a great reference for how we should be building workflows going forward.
When building Lambda functions, an easy but unsafe practice we see all too often is storing secrets in environment variables. On the surface it might seem like the correct thing to do compared to hardcoding it in the function, but it’s considered an anti-pattern. If you’re doing this, Jannike Wempe has you covered with his post on how to securely use secrets in AWS Lambda. He goes into detail why environment variables are a bad place to store secrets and guides us through implementing an alternative using the CDK.
Jeremy Daly shares his thoughts on whether serverless can really save polar bears. It’s an open-thought article on the sustainability benefits of building serverless applications. He explains his stance on the topic and makes some thought-provoking points that make you scratch your head on the current state of the compute world.
Have you ever built an API and wondered if your updates should be a PUT or a PATCH? What’s the difference? Last week, I (Allen Helton) explain the difference between PUT and PATCH and describe how you’d implement them in a serverless application. Your mileage will vary based on your use cases, but it’s good to understand the basic difference between the two.
There’s been a lot of discussion around caching lately, and Alex Debrie helps us further those conversations with his post on 3 crucial caching choices: where, when, and how. This post focuses on decisions you have to make to select the right cache for your needs. This is part one of a series where he will talk about specific implementations of caching solutions.
AWS Glue can now integrate with git, opening the door to easily version Glue jobs. This is a great production feature for companies that use glue to perform ETL tasks regularly as part of their business model.
Lambda can now filter events from Amazon MSK, Self-managed Kafka, and Amazon MQ as event sources. This is a big cost saving opportunity to only trigger functions to run based on the content received from these data streams.
Serverless is all about events. They are the primary channel for communication across microservices. Making sure events have properly defined schemas is a difficult but highly-important task. Last week, Lee James Gilmore published a blog post with an extremely detailed solution on how to validate EventBridge schemas from both a producer and consumer standpoint. He explains every component of a complete enterprise architecture around events and as usual, offers us a reference project in GitHub. Lee is basically building our apps for us at this point 😄.
You know those problems that sound easy but actually aren’t when you go to implement them? Akshat Vig explains why deleting data in S3 is one of those problems and how to effectively build a system that can do it safely.
Ever worked on deleting data in S3? Deleting data is a hard problem because you need to ensure correct data is deleted. What if you could make s3 object deletion a reversible decision ? A 🧵 explaining a design on how to do this @ scale— Akshat Vig (@akshatvig) October 12, 2022
We’re getting some fantastic content from amazing writers. If you’re interested in contributing or need some ideas on content to produce, let me know! I’m always happy to help and offer guidance whenever possible.