Our serverless superhero this week is Matthew Wilson, principal software engineer at Instil and AWS Community Builder. Matthew has been taking the community step-by-step through his build of a serverless car insurance app. He covers much more than just the nuts and bolts, but also strategies to help companies adopt serverless. Thank you, Matthew, for taking us on your serverless journey!
Many of us are full swing into asynchronous development. However, for some of us building completely asynchronously with modern approaches isn’t a possibility. We often have requirements to integrate with legacy systems that require some form of callback or poll instead of using standards like a WebSocket. Zied Ben Tahar wrote a great article wading through the details of building an endpoint that returns the result of a task via a provided callback url. It’s a great design that has lots of applicable use cases. He built his design with security in mind, which makes this feel like a production-ready solution.
Making enhancements to an existing endpoint can be tricky, especially when your app is under heavy production load. If your endpoint is backed by something like a Step Function workflow, it becomes even more difficult to make sure you don’t break any existing executions. Lee Priest shares with us how he updates existing workflows safely using step function express workflows. I really like the message he drives in this article. It’s easy to get blinded by the excitement of building something new, but the truth is - most of your time will be making enhancements to existing software.
I’ve found myself building the same utility Lambda functions over and over again in my side projects. So I decided to consolidate them and release a serverless toolbox. This blog post covers the initial functions, how to execute them, and what you need to get started. These are good references to build your own or you can use them directly in your projects. If you have a function that you use every day and want to include, please open up a pull request!
If you’re as excited as I am about Lambda response streaming, you’ll love the new episode of AWS Bites by Luciano Mammino and Eoin Shanaghy where they cover everything there is to know about this new feature. Not only do they talk about the capabilities of it, but they also dive into what streams are and how they work in Node.js. I learned a lot from this and feel like it’s a necessary listen if you’re thinking about implementing streams.
Which is better, SAM or the CDK? In the newest episode of the Ready, Set, Cloud podcast I attempt to come to a conclusion with Matt Martz. We go back and forth on some cool concepts of each of the IaC frameworks, making comparisons and finding gaps that make one more approachable than the other. So which is better? Listen to find out.
Serverless apps lead to hyper-focus on operational costs. The services that power our app are inexpensive in isolation but can add up quickly when strung together and operated at high scale. Last week, a new episode of Real World Serverless was released where Yan Cui and Erik Peterson talk about optimizing your AWS cloud spend. They spotlight some common spending mistakes and talk about ways you can keep your costs down.
You can now build Lambda functions using Python 3.1! It’s always exciting when a new runtime is officially supported by Lambda. Lots of significant updates in this version of Python will make development much easier and faster in the future.
AWS Amplify now supports push notifications for mobile apps. This is a pretty cool update that gives developers quick and easy access to a powerful capability.
Momento had two big releases last week. They launched their new web console and SSO login via Gmail and GitHub. This new set of features is incredibly powerful, allowing you to create caches, set/get values, and issue API tokens directly from a web interface.
A particularly helpful article I found last week was from Mohammed Izzy about event filtering. His article covers the different event filtering syntax for the various data sources in AWS. Not having used all of them before, I was under the incorrect impression they were all the same. But no, turns out some of them are pretty drastically different than others. This is a great resource for a quick reference on how to connect your services in the most efficient way possible.
Boris Tane had a great thread last week on Twitter about how observability cuts through the clutter and identifies failure modes and component interactions. He dissects the word “observability” into four major components and shares a quick reference guide he made to help keep our serverless apps from exploding in complexity.
this is what a typical small serverless event-driven application looks like— boris tane (@boristane) April 19, 2023
a few lambdas, an API Gateway, some SNS, SQS and S3 action here and there
but unless you're intentional about it, understanding how exactly these components interact and the failure modes can be hard pic.twitter.com/WzOysoiphL
It’s conference season! Many serverless conferences are going on right now with amazing speakers sharing their insights all over the world. Be ready for an influx of mind-blowing sessions in the upcoming weeks.