Off-by-none: Issue #222

February 21, 2023

Only have a few minutes? Check out this week's MOST POPULAR links as chosen by our email subscribers.

AWS accounts should be cattle 🐂

In our previous issue, asynchronous Lambda functions got some much needed metrics, SAM Connectors (probably) took my advice, and we asked where serverless devs are spending most of their time. This week, AWS adds more account lifecycle controls, App Runner learns to share more, and serverless gets bash’d. Plus, there’s plenty of awesome content from the serverless community.

Serverless News & Announcements 📣

There were a few announcements from AWS recently that stood out to me. For instance, you can now programmatically manage enabled and disabled opt-in AWS Regions on AWS accounts. I strongly believe AWS accounts need to become cattle, easily spun up and torn down like CF stacks, versus the way AWS still makes you mostly treat them like pets. It seems to be slowly moving in that direction, but not fast enough.

Also, AWS App Runner added service level concurrency, CPU and Memory utilization metrics, which is fantastic. I really like App Runner, and I truly hope AWS continues to invest in this service as an alternative to ECS with Fargate.

And speaking of investing in services, AWS Step Functions added integration for 35 services including EMR Serverless. This is such an amazing service and it just keeps getting better. I wonder if there is some friendly internal competition with the EventBridge teams? 😜

Amazon Kinesis Data Streams for Amazon DynamoDB now supports AWS CloudFormation for Global Tables. I’m still a bit surprised every time I see CloudFormation support added to an AWS service or feature. It really should be on their release requirements checklist.

In other cloud news, Cloudflare is deprecating Wrangler v1 in favor of the more feature-rich v2, you can now get visibility into the cost and performance of queries with Fauna Logs, and our friends at Momento published a nice post giving some background on the founders and why they built a serverless cache you can add to your stack before lunch.

Serverless Concepts 🏗

Get me there faster
Daniele Frasca is trying to squeeze as much performance out of serverless as possible, and in this article he looks at how Amazon CloudFront and AWS Global Accelerator can reduce latency to your endpoints.

Why Use Message Brokers?
There are lots of reasons, and David Boyne shares them visually with you.

Fargate vs Lambda: The Battle of the Future
I just discovered this post recently and thought it did a pretty good job comparing the two serverless compute environments. The author mentions that the line between serverless and containers is starting to fade, which I fully agree with, but until that happens, it still makes sense to pick the right one for your workload.

3 ways to manage concurrency in serverless applications
Yan Cui gives some very helpful context for understanding how, when, and why you need to manage concurrency in your Lambda functions.

AWS SDK for Java 2.x asynchronous HTTP clients and their impact on cold start times and memory consumption of AWS Lambda
I’m not a big fan of Java, but I found this post by Vadym Kazulkin to be quite interesting, especially how he ties it back to SnapStart.

OpenTelemetry on AWS, beyond instrumentation and into resource attributes
Modern application developers should have a string understanding of observability and how to instrument your code. Michele Mancioppi gives us a nice overview of OpenTelemetry and why context is important.

Serverless Tutorials 👷‍♀️

DynamoDB Stream fan-out to multiple Lambda functions with EventBridge Pipes and EventBus
Very cool pattern by Zied Ben Tahar that’s useful in getting around issues caused by too many subscribers to a DynamoDB Stream.

Serverless: Create a Lambda Function with Go, Part 1 & Part 2
For all you Go fans, Dmitry Vasiliev gives you a high level tutorial for getting started with Lambda.

Connect Cloudflare To AWS Api Gateway
More complicated than it probably should be, but a helpful tutorial by Amirhossein Soltani that shows you how to front API Gateway with Cloudflare.

Building an AWS Lambda Telemetry API extension for direct logging to Grafana Loki
If you want to build your own Lambda Telemetry API extension, this tutorial by Gernot Glawe has you covered.

Serverless Amazon Location Service
Lee James Gilmore teaches you how to enrich customer address data with geospatial information to calculate delivery times. Very cool.

A serverless app to send public domain gutenberg.org ebooks to your Kindle with one click!
I love little serverless solutions like this. Joe Stech shows you how to build your own serverless utility app.

Serving the Serverless with Google Cloud Run
I know we’re all big fans of AWS, but Google Cloud Run is quite amazing. Rahul Dubey gives you a quick tutorial if you want to try it out.

Implementing reactive progress tracking for AWS Step Functions
This is a great architecture example that uses WebSockets to communicate the status of a long running process back to the user. A little feedback goes a long way with impatient users. 😉

Using DuckDB in AWS Lambda
Tobias Müller shows you how to get the open-source DuckDB up and running in a Lambda function. Doesn’t seem ready for primetime just yet, but it’s always fun to see people push Lambda.

Don’t miss out on the cloud revolution, learn serverless on AWS the right way
Not sure it’s the “right way”, but certainly a helpful starter for those new to AWS serverless. Just note that “it will require you to create an AWS account and a credit card, but don’t worry, it’s free to start!” Famous last words.

Creating a Unique Constraint with DynamoDB
DynamoDB is very flexible, but also lacks a number of features many RDBMS users take for granted. Jason Wadsworth highlights one of these and gives you some ways to implement it yourself.

Serverless Reads 🤓

Detecting solar panel damage with Amazon Rekognition Custom Labels
Super powerful use case that shows how versatile serverless can be, especially when coupled with IoT and help from a productized ML service.

Behind the Scenes at AWS – DynamoDB UpdateTable Speedup
Jeff Barr explains how AWS made some internal optimizations to make updating DynamoDB tables 97% faster. Remember when your self-hosted versions of other software did that automatically for you? Yeah, me neither.

Don’t under-provision your Lambda functions!
Just a friendly reminder from Ben Heymink that there is a very good reason for Lambda providing you with that memory knob.

Improved EventBridge Latency Opens Up New Use Cases at PostNL
Fascinating article by Luc van Donkersgoed that explains why a few hundred milliseconds of added latency can make a huge difference.

5 Tips for Building the Best Developer Experience Possible
Allen Helton shares his thoughts on the importance of DX. Honestly, any tool or service that doesn’t have this as their top priority should seriously rethink their strategy.

Why we can’t stop talking about ChatGPT
I wrote up some additional thoughts on ChatGPT/Bing Chat and why it’s likely going to bring about the end of the world. 😂 It’s not quite that dramatic, but hopefully makes people stop and think before we just let it run wild.

How CyberArk Implements Feature Flags with AWS AppConfig
Great post by Ran Isenberg that outlines the entire process of implementing feature flags as well as lays out some important best practices.

How to Connect Business and Technology to Embrace Strategic Thinking (Book Review)
Danilo Poccia offers his review of Dave Anderson’s excellent handbook for modern cloud application organizations.

Podcasts, Videos, and more 🎧

AWS App Runner – Deploy your apps from GitHub to Cloud in Record Time
Marcia Villalba teaches you how to lift and shift existing containerized apps to the amazing AWS App Runner service.

Building an Open Source Newsletter Platform
Allen Helton shares his recent talk from the Boston Serverless meetup that walks you through the entire process of setting up his newsletter platform.

Multi-tenant serverless SaaS | Serverless Office Hours
Julian Wood is joined by several fellow architects to discuss how best to design and build multi-tenant SaaS solutions on top of serverless compute models.

AWS Cattle vs Pets 🐂 🐶

It’s been almost a year since AWS announced that AWS Organizations now provides central AWS account closure to enable easier end-to-end account lifecycle management. As I wrote at the time, “There are still limits to the number of accounts that can be closed over a 30 day period, and while I appreciate this as a first step, AWS accounts under AWS Organizations need to be completely disposable.” I share some more thoughts in this week's premium edition.

New from AWS 🆕

AWS had a bunch of other noteworthy announcements this week:

Serverless Tools 🛠

serverless-bash-plugin – A Serverless Framework plugin that allows writing Lambdas in Bash by Arseny Yankovsky. Is this useful? Maybe, maybe not, but I love that Arseny put it out there.

DynamoDB Shell – ddbsh is a simple CLI for DynamoDB modeled on isql, and the MySQL CLIs by Cagdas Ozbey.

Thoughts from Twitter 🐦

I’m not saying that certifications aren’t useful, but I totally agree that fundamentals matter. 🤷‍♂️

Upcoming Serverless Events 🗓

February 23, 2023 – Serverless Brno, Czech Republic Meetup (in person)

February 28, 2023 – ServerlessDays Belfast

March 10, 2023 – ServerlessDays ANZ 🗣️

June 7, 2023 – ServerlessDays Paris

Serverless Star of the Week ⭐️

This week’s star is David Boyne (@boyney123). David is a Senior Dev advocate at AWS where he helps people learn about event-driven architectures and serverless. You can find his serverless teachings and helpful visuals on Serverlessland where he explains topics like “Understanding Idempotency” and “Bounded Context with Event Architectures”. He’s also currently undertaking the task of writing a book centered around how to learn Amazon EventBridge and you’ve no doubt seen several of his online articles featured here in Off-by-none. Thank you for continuing to enrich the serverless community with your teachings and ideas, David!

Final Thoughts 🤔

Thanks for reading this week’s newsletter. I’m putting some final touches on my “Serverless = Developer Experience” talk for ServerlessDay ANZ, and I’d love to get your thoughts on things to include. What do you love about the serverless developer experience? What do you hate about it? If you could change one thing, what would it be?

Let me know,
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 TwitterLinkedIn, or email.

Previous Issue

Issue #221February 14, 2023

Next Issue

Issue #223February 28, 2023

Sign up for the Newsletter

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!

 

This Week's Top Links

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.

 

About the Author

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.

 

Nominate a Serverless Star

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 ⭐️!