Serverless Picks of the Week
Issue #75: So Much Step Function Love

Serverless Superhero

Our serverless superhero this week is Ken Collins, Principal Engineer at Custom Ink and AWS Serverless Hero. Ken pushes the mold with Ruby and has been working on some incredibly cool work with WebSockets and Lambda. He posts regularly about AI and is a great follow to stay up to date with learnings around both serverless and AI. Thank you Ken, for everything you do for the community!

Tutorials

Without fail, I learn something new every time I read an article by Arpad Toth. Last week was no exception with his article on implementing item-level access control to DynamoDB tables. He shares how to restrict items with IAM policies enriched with details from Cognito. It’s an impressive way to lock users down to only being able to see their content.

Step Function error handling can be a bit confusing. The service offers a hefty amount of support for retrying and routing to fallback states when things go wrong, but it’s not exactly intuitive. Maurice Borgmeier wrote an article on how he approaches handling errors and retries in Step Functions. It’s a good explanation of the tools you have available and an interesting walkthrough of a practical example.

Benjamen Pyle writes great content. He always breaks down complex concepts simply and provides working code so you can try his ideas yourself. Last week was no exception with his post on DynamoDB streams and EventBridge pipes enrichment. He describes the workflow this pattern solves and explains why it is the epitome of serverless :) One thing I want to remind people of before implementing this pattern - no more than two processes should be reading from the same stream shard at the same time. This can result in throttling and an inconsistent experience. Each EventBridge pipe you attach to a stream is considered a process.

Interesting Reads

Who doesn’t love a migration story? Marcin Sodkiewicz shared a story about a recent migration from a multi-region API to a serverless “API”. He talks about the problem he had with a big, cumbersome API, and what he did to approach the problem and ultimately solve it in a creative way. I love reading things like this. Out-of-the-box solutions always encourage others to think much in the same way and lead to innovative new results.

Last week I published a walkthrough of an interactive reaction app I built that allows my audience to react to slides in my presentations. This app was based on Michael Liendo’s emoji thrower project, which he wrote about earlier this year. I took his idea, made it generic, and attempted to simplify the architecture a bit. I’m really happy with how it turned out and hope it makes my presentations going forward a little more fun.

Step Functions recently started supporting versions and aliases for workflows. Marcia Villalba tells us what that means, why it’s important, and shows how to utilize them in a video on her YouTube channel. As always, it’s a great comprehensive explanation and available in both English and Spanish.

New Releases

If you’ve been following along with Ampt, you might have seen they announced launch day is September 20, 2023 that’s not even three weeks away! Congratulations to the Ampt team on getting to launch!

AWS App Runner now supports Bitbucket as a source code repository. This is an awesome service that can connect directly to a repo, convert it into a container, and run it in a load-balanced environment without any container management from you. Awesome to see this service is growing!

AWS AppSync released an improved module for JavaScript DynamoDB resolvers. It’s now even easier to interface with DDB in your GraphQL APIs (and it was already pretty easy to begin with).

AWS Step Functions made some enhancements to the Workflow Studio including making it easier to bounce back and forth between code and the designer, running executions from the designer, and some more advanced start templates.

Spotlight

I advocate regularly for using Step Functions over Lambda whenever possible. So it’s always a breath of fresh air to get validation from others when they say the same thing, like fellow AWS Hero Ro Ndimofor. Last week, he published an article on improving performance with express Step Functions. He moves a big, multi-responsibility Lambda function to Step Functions and compares the debugging experience along with the performance of his workflow. The results may surprise some of you.

Tip of the Week

There are lots of articles out there comparing the different notification services inside of AWS. But I just love the way Jimmy Dahlqvist presents content both visually and textually (if that’s a word). He explains the primary use cases in easy-to-understand terminology and gives us a good reminder of when to use these powerhouse services.

Last Words

I attended the DevOps Days DFW conference last week and had my eyes opened on what DevOps really is. I’ve been sitting here at my machine for years thinking serverless has killed it and that it’s the responsibility of app teams to deploy their solutions to the cloud. But it’s not just about deployment. It’s about scaling processes, standardizing best practices, and taking cognitive load off of builders. It was a great conference and I’m happy to say I have a new outlook on the practice as a whole.

If you’d like to make a recommendation for the serverless superhero or for an article you found especially useful, send me a message on Twitter, LinkedIn, or email.

Happy Coding!

Allen

Join the Serverless Picks of the Week Newsletter

Stay up to date with the best content serverless has to offer, learn about the latest updates to AWS serverless services, and get to know community superheroes, catered by AWS Serverless Hero Allen Helton. New issue every Monday.
Click here to see past issues.

Join the Serverless Picks of the Week Newsletter

Thank you for subscribing!
View past issues.