January 17, 2023
Only have a few minutes? Check out this week's MOST POPULAR links as chosen by our email subscribers.
In our previous issue, S3 objects got automatically encrypted, we saw an action-packed Q4 serverless recap, and we looked at why keeping stateful and stateless resources together makes a lot of sense. This week, AWS Lambda gets a Maximum Concurrency for SQS, we learn the importance of “first principle thinking”, and we ponder the need for visual infrastructure design tools. Plus, we have plenty of serverless content from the community.
Some big news this week was the announcement that AWS Lambda now supports Maximum Concurrency for Amazon SQS as an event source. Using SQS as an event source for Lambda has become a staple in many architectures, but ever since the feature was released back in 2018, there have been “issues” that required a complex dance of setting the right concurrency, visibility timeouts, and maxReceiveCount. So, does this solve the Lambda+SQS issue? According to Zac Charles, it does!
In other serverless news, Allen Helton has published the first episode of the new Ready, Set, Cloud podcast with guest Khawaja Shams of Momento. As you can probably tell, I love fresh serverless content.
Keeping tabs on other interesting things happening in the overall serverless ecosystem, DataStax has acquired a machine learning services firm called Kaskada, with the intent to use streaming events to train ML models. Also, Dashbird introduced custom event monitoring for serverless applications, letting you track domain and business events and turn them into time-series metrics. I wonder about the merging of observability data and business analytics as it pertains to the audience. 🤔
In other clouds, apparently there are some improved Durable Functions coming to Microsoft’s Azure Functions service. And, Google Storage Transfer Service now supports serverless real-time replication capability and can copy data from S3 by subscribing to change events.
Measuring Java 11 Lambda cold starts with SnapStart – Part 5 priming, end to end latency and deployment time
Vadym Kazulkin continues his series on SnapStart by exploring additional optimization techniques like “priming.” If you’re a Java person looking to squeeze out every bit of performance from your Lambda functions, you can’t afford to miss these posts.
Retry of Messages Using Amazon EventBridge Pipes, Amazon SQS, And AWS Step Functions
Great observations by Javier Mendoza about a caveat of using DLQs with SQS when it’s used as the source for Amazon EventBridge Pipes with Step Functions Standard Workflows as the target.
Decoupling Microservices with AWS EventBridge Pipes
Speaking of EventBridge Pipes, Christian Bannes does a great job explaining how to use them to transform data into standardized domain events.
Yes, S3 now encrypts objects by default, but your job is not done yet
Yan Cui points out why using the new default S3 encryption might not give you the optimal level of security for your objects.
API Mismatch: Why bolting SQL onto noSQL is a terrible idea
Chris Armstrong very wisely points out why SQL interfaces to NoSQL systems should be avoided at all costs. Totally agree with him.
Function URLs and Keeping AWS Lambda Warm and Healthy
I know that “Lambda Warmers” used to be a good idea and I also know that lots of folks still like to use them. I think there is still a time and a place for them in certain low traffic use cases, but 1) cold starts are getting better, 2) there is an official AWS solution now (though not cost optimized), and 3) they can actually cause more cold starts when you have consistent traffic.
SQL doesn’t need the “Single Table Design” but Composite Primary Keys
Not really serverless specific, but if you’re an SQL geek, Franck Pachot has a really interesting piece on how to optimize joins using Composite Primary Keys. But seriously, are joins really scalable?
Arguments for Separate Stacks
EJ Ozyazgan advocates for using a shared API Gateway with separate underlying stacks. There are some solid arguments for doing this, but I’m still a big fan of having separate API Gateways per service. You can always use regional endpoints and CloudFront if you want to share a domain.
A Practical Guide to Implementing Amazon EventBridge
Waleed Rafi has a rather in depth piece that outlines both the benefits and steps to get started with one of my favorite AWS services.
Serve binary content with AWS Lambda and AWS CloudFront, managed by Terraform
Fun tutorial from Samy Ouaret that walks you through setting up this fairly common use case using Lambda URLs.
Daily expenses: Serverless with AWS
I love creative use cases like this. Daniel Alejandro Figueroa Arias stitches together some serverless services to automatically convert banking emails to expense tracking records in a Google Sheet.
How to Use the Strangler Fig Pattern in Serverless Stack
Another great use case for incrementally adding serverless into your existing workloads. Julien Bras shows you this pattern with SST.
How I Built An Open Source Serverless Newsletter Platform
Allen Helton shares how he dealt with Revue’s newsletter platform shutting down by building his own. As you probably know, I had to do something similar.
Pagination in DynamoDB: Tips, Tricks and Good Practices
Rahul Advani shows you how to deal with the ins and outs of paginating results from DynamoDB.
Build AWS Lambda Container Image with AWS CDK
Comprehensive tutorial by Ran Isenberg showing you how to use them, and more importantly, if you really should.
Building with AWS OpenSearch Serverless
Martyn Kilbryde shares his experience building with it, his sticker shock and realization that, while it’s a great service, it isn’t positioned in the market to solve the vast majority of small to mid-sized use cases.
The Good, Bad & The Ugly of AWS Lambda
Lots to agree with in this post by Geethika Guruge, but not sure I’d consider statelessness to be “bad” per se. There are lot of benefits to this, plus there are plenty of ways to inject state that “traditional” distributed systems must deal with as well.
Every Google vs OpenAI Argument, Dissected
There’s just too much to get into here, but if you really want to, check out this piece by Shawn “swyx” Wang.
The FIRST Principles For A Successful Serverless Adoption
“With first-principles-thinking, you look at the fundamentals and think differently to build solutions to business problems enterprises try to solve with serverless as their technology enabler.” Excellent post by Sheen Brisals.
Marcia Villabla explains the AWS Serverless Badge, the new certification to validate your serverless knowledge, and how to get one for yourself.
Adrian Cockcroft hosts a fireside chat with David Anderson, Mark McCann, and Micheal O’Reilly (coauthors of The Value Flywheel Effect). If you want to know how serverless can revolutionize your business, you might want to spend some time listening to these experts.
Julian Wood and James Eastham discuss building .NET 7 high performance Lambda functions on the most recent episode of Serverless Office Hours.
Here are a few additional AWS announcements from last week that caught my attention:
serverless-cloudformation-changesets-v3 by AJ Stuyvenberg
Natively deploy to CloudFormation via Change sets, instead of directly. Allowing you to queue changes and safely require escalated roles for final deployment. Updated to support serverless v3.
Go Serverless with Nimbus: An Open-Source Tool for AWS Lambda Developers
Nimbus allows you to monitor and visualize your AWS Lambda functions and APIs with ease.
Debate: Is SaaS considered serverless?
James Luterek shared a video asking this question, which is the exact question Kelsey Hightower asked in 2018 in his Serverless Days New York keynote. Back then, I would have said, “of course it’s not serverless.” Now I’m not so sure.
“Keep seeing a certain doomed product being built over and over. Why? It’s a funny mix of getting certain things absolutely right while missing something a bit obvious.” ~ Dax Raad
Bit of a harsh criticism from Dax here, but he’s not entirely wrong. Perhaps read-optimized abstractions aren’t the best tool for everyone, but I’d argue that neither is IaC. Which raises the question, are “Drag and Drop” infrastructure tools a side effect of increased developer responsibility? I try to answer this in this week's premium edition.
Upcoming Serverless Events 🗓
February 28, 2023 – ServerlessDays Belfast
March 10, 2023 – ServerlessDays ANZ
June 7, 2023 – ServerlessDays Paris
This week’s star is Katie Raby (@KatieARaby). Based in Liverpool, England, Katie is currently a Software Engineer at Cinch. She is an AWS Serverless Community Builder and recently completed her AWS Certified Solutions Architect Associate exam. She’s passionate about women in tech and also does coding bootcamps to teach and support tech newcomers. In 2022, she set up Cinch’s Lunchtime Lightning Talks to facilitate knowledge sharing and increase public speaking confidence. Always striving to learn more and share that knowledge with others, thanks for embodying what the Off-by-none Serverless Star of the Week is all about, Katie!
It was another busy week for me. Lots of amazing things happening behind the scenes at Ampt. We’re aiming to get the private beta launched in February, so make sure you sign up for the waitlist if you’re interested.
See you next week,
Jeremy
I hope you enjoyed this newsletter. We’re always looking for ideas and feedback to make it better and more inclusive, so please feel free to reach out to me via Twitter, LinkedIn, or email.
Stay up to date on using serverless to build modern applications in the cloud. Get insights from experts, product releases, industry happenings, tutorials and much more, every week!
We share a lot of links each week. Check out the Most Popular links from this week's issue as chosen by our email subscribers.
Check out all of our amazing sponsors and find out how you can help spread the #serverless word by sponsoring an issue.
Jeremy is the CEO and Founder of Ampt and an AWS Serverless Hero that has a soft spot for helping people solve problems using serverless. He frequently consults with companies and developers transitioning away from the traditional “server-full” approach. You can find him ranting about serverless on Twitter, in several forums and Slack groups, hosting the Serverless Chats podcast, and at conferences around the world.
Off-by-none is committed to celebrating the diversity of the serverless community and recognizing the people who make it awesome. If you know of someone doing amazing things with serverless, please nominate them to be a Serverless Star ⭐️!