Top 5 serverless updates of November 2022
Table of contents
- 5. SNS supports payload-based filtering
- 4. Cross-account workflows with AWS step-functions
- 3. EventBridge supports OR and advanced filters
- 2. EventBridge scheduler
- 1. X-ray support for Eventbridge and SQS!
It's that time of the year again! While the rest of the US is preparing for the Christmas holiday season, next week tens of thousands of AWS engineers will be unwrapping some special gifts of their own. AWS re:invent, the largest AWS convention of the year, is packed with new releases, features and, maybe most importantly, lots of swag.
I myself will focus on all serverless developments this week. Since even within that domain it's easy to miss out, I wanted to give a quick overview of the biggest releases of November so you're all up to date before the big show starts.
A top 5 overview of the biggest serverless releases BEFORE reinvent
5. SNS supports payload-based filtering
A nice feature that allows subscribers to an SNS topic to conditionally receive the event based on the payload of the event. Previously you had to set up AWS EventBridge and connect it to SNS. This feature will simplify your event driven architectures!
4. Cross-account workflows with AWS step-functions
If you're following AWS best practices, you've probably set up multiple AWS accounts for all your workloads. AWS platform teams often have to create workflows that span multiple accounts. Now, with cross-account support for running AWS Step functions life becomes much easier!
Keep stateful parts of your workflow or secrets in a central AWS account, and let other accounts easily read and write to it using this feature! So long, cross account secret replication!
3. EventBridge supports OR and advanced filters
EventBridge allows you to send events to other services like AWS lambda, SNS, ECS, Kinesis, third party API's and more. You can filter which events go where using event filters. Previously you only had a few filtering options, while for anything more complex you needed to write custom lambda code. Now, you can use much more filtering capabilities, most notably the OR operator. This allows you to write simple rule engines with native EventBridge capabilities. The full list is now:
- Prefix matching
- Suffix matching
- Anything-but matching
- Numeric matching
- IP address matching
- Exists matching
- Equals-ignore-case matching
Like mentioned in the AWS documentation, OR matching can be used as follows:
{
"detail": {
"$or": [
{ "field1Example": [ { "numeric": [ ">", 0, "<=", 5 ] } ] },
{ "field2Example": [ { "numeric": [ "<", 10 ] } ] },
{ "field3Example": [ { "numeric": [ "=", 3.018e2 ] } ] }
]
}
}
2. EventBridge scheduler
Now this is really cool! Previously you could only use EventBridge for scheduled jobs or jobs based on an event emitted by your own application. This made it hard to orchestrate long-running events, in which something needed to happen minutes, hours or days after another event has occurred. Step functions was typically used for this using its wait
task. However, at large volumes Step Functions can get crazy expensive. With $50 per 1M executions for a minimalistic standard workflow, a decently sized event-based app with millions of events per hour can get costly.
With EventBridge Scheduler, you pay just $1.00 per 1M scheduled invocations per month, and you don't have to manage the infrastructure of a step function (it's not much, but still)!
1. X-ray support for EventBridge and SQS!
OMG! It finally happened. After more than 3 years of looking at this open Github issue, SQS with lambda polling supports x-ray trace headers. And not only that, EventBridge too!
Before this release, x-ray broke up traces of your application if you were using SQS or EventBridge integrations, basically making the service not useful for it's sole purpose: end-to-end tracing of event-driven applications.
This release finally seems to make x-ray an actually usable service for event-driven applications. Great work guys!!
More to come
If you found this helpful, make sure to follow CloudNation on linked-in for more serverless updates for back-end, platform and data engineering.
--
This blog also appeared on cloudengineer.hashnode.dev