re:Covering from re:Invent… 🤯
Welcome to Issue #67 of Off-by-none. I’m so glad you joined us.
Last week, I was at AWS re:Invent in Las Vegas. It was a five day assault on the senses, but loaded with great announcements and amazing people! In this issue, we’ll look at a few of the big serverless announcements from the big show, and as always, share plenty of content from the serverless community.
Let’s get to it! 👍
When you want someone to catch you up on everything that happened at re:Invent 2019… 🚂
Explore all the new features and services announced at AWS re:Invent 2019
Who better to get all the info from re:Invent from than AWS themselves? Every year AWS puts together a site that wraps up all the major announcements and even makes them searchable. So if you want a source of truth, here it is.
Takeaways from AWS re:Invent 2019’s Amazon DynamoDB Deep Dive: Advanced Design Patterns (DAT403)
Rick Houlihan delivered another mind-bending edition of his Advanced Design Patterns for DynamoDB talk at re:Invent this year. I had some thoughts on it and provided 12 key takeaways.
AWS re:Invent 2019 – Serverless Announcements Recap
Renato Byrro covers all the major serverless announcements in this post. It also includes some links to more detailed posts about some of the items.
Amazon RDS Proxy makes it easier to use SQL in Serverless
Alex DeBrie from Serverless, Inc. shares why the Amazon RDS Proxy is an important improvement for lots of serverless users. He argues (rightfully so, IMO) that RDBMS starts to lose a bit of the serverless feel, and maybe DynamoDB is still a better first choice.
re:Invent 2019 – AWS API Gateway v2 for HTTP
This was another release that had several people talking. Fernando Medina Corey explains what is changing with resources, authorizers and CORS.
When you really want Provisioned Concurrency… ⏱
There was a ton of buzz around the release of Provisioned Concurrency. So much so, that I think everyone wrote something about it. Yan Cui’s post, It’s the end of the cold start as we know it, is definitely my favorite. There were several others as well, all with varying perspectives:
- Control your AWS Lambda with Provisioned Concurrency
- Provisioned Concurrency: The Last Cold Start Bender!
- Provisioned Concurrency: What it is and how to use it with the Serverless Framework
- The hidden cost of Lambda provisioned concurrency pricing
- AWS warms Lambda devs’ hearts, promises end to cold starts
- Solve The Cold Start Issue with Lambda Provisioned Concurrency
Thinking outside the box, as he tends to do, Michael Hart figured out some insane trickery to use provisioned currency and the 10 seconds of free init time to save you a ton of money. Even though this works, Michael suggests not using it for production. It’s worth the read: Shave 99.93% off your Lambda bill with this one weird trick.
Serverless News & Announcements 📣
Launching Webiny Serverless Form Builder
The team at Webiny continues to add improvements to their platform. The latest enhancement brings us a serverless form builder that supports everything from simple contact forms, to more complex lead generation forms.
Azure Functions 3.0 go-live release is now available
The go-live release for Azure Functions 3.0 is now available, so it’s now possible to build and deploy 3.0 functions in production. Functions 3.0 brings new capabilities including the ability to target .NET Core 3.1 and Node 12.
Browser Functions: A new serverless platform using Web Browser execution engines
This is pretty cool. The project still looks a bit early, and there are several limitations, but the concept is very interesting.
Serverless Use Cases 🗺
Halving our AWS Lambda bill with parallel processing in Python
There are a lot of use cases like this where sometimes little tricks can end up saving a lot of time and money. In a perfect world, these Lambda functions could just be run as separate parallel processes, but given the current billing model, I think “hacks” like this work just fine.
Bringing our Comic Relief Values to life with IoT, Amplify and Serverless
I love the idea of this use case. Anything that gives you a chance to play with IoT toys and serverless has got to be worth it, right? I’m sure there are ways to adapt this use case using just the buttons, but with more sophisticate IoT devices, the possibilities are endless.
Serverless Concepts 🏗
Serverless Microfrontends in AWS
I keep hearing more and more about “microfrontends”, and in this article, Ashan Fernando specifies some ways to host them using serverless AWS technology.
Fine-tuning your Lambdas
Catherine Shen has a great post that outlines some ways to troubleshoot and reduce the iterator age of your Kinesis streams.
Migration to Serverless – microservices use case
Serkan Özal walks you through a hypothetical migration to serverless. I always like to see how people envision serverless representations of microservices.
Awesome DynamoDB ?
Interested in all things DynamoDB? Alex DeBrie keeps trying to one up me and win Rick Houlihan’s favor. This time he created an Awesome DynamoDB repo on GitHub with links to all the greatest DynamoDB resources. There are a lot of very useful links in here.
How Do You Test Serverless Functions?
Lots of things stay the same when testing serverless applications, but it’s also possible to do some pretty amazing things. John Gilbert outlines the tools and processes he uses to test his serverless applications.
Serverless Tutorials 🏗
Microservices with Serverless & AWS Lambda Layers
Markus Wagner shows you how to build a microservice using Lambda Layers to store and share your dependencies. I think Lambda Layers work really well within a single microservice, but not so well when you start sharing them across microservices. This is mainly due to the way they’re versioned.
Building a serverless GraphQL API with Node.js, AWS Lambda and Apollo
Not everyone wants to use AppSync (although you should definitely look at it if you haven’t yet), so sometimes building your own serverless Apollo server makes sense. Thomas Maximini gives you all the details in his post.
Using system packages and custom binaries in Google Cloud Functions.
Google Cloud Functions and Lambda share some similarities, one of them being that they are just running on top of an OS that can execute custom binaries and system packages. We’ve seen a lot of posts about this for Lambda, but this is the first one that caught my eye on GCP.
How to model Amazon DynamoDB databases with NoSQL Workbench
Ratul Saha uses the example given in Alex DeBrie’s excellent talk from re:Invent to show us how to use the new NoSQL Workbench for DynamoDB.
Serverless Reads 🤓
Why Container Devs Need to Care about re:Invent 2019’s Serverless Launches
Strap in for Tim Wagner’s take on what all the serverless launches at re:Invent mean, why they’re important to the adoption of serverless, and what was missing.
Five Things to Take Away From re:Invent 2019
Nothing really about serverless in here, but an important read nonetheless.
The M-shaped software
If you haven’t been paying attention to Web Assembly, now might be the time. Michael Yuan explains why WASM could be the middleware that connects software with specialized hardware.
What I’ve Learned in 4 years at AWS re:Invent
Thinking about going to re:Invent next year? This piece from Nick Gottlieb sums up re:Invent perfectly, so it might convince you, or change your mind.
Lambda Destinations for synchronous invocations · Issue #1 · stojanovic/random
Slobodan Stojanovic put together a compelling argument for letting Lambda Destinations handle “synchronous” invocations as well. Lots of interesting use cases in here with some insights as to how they solve them now.
Reflecting on re:Invent — The Human Side of Serverless
If you’ve never met Farrah Campbell from Stackery, make a point of it. She’s a wonderful human being that is doing a world of good for the serverless community. She also makes a great co-host for serverless parties at re:Invent. 😉
When you prefer a multimedia experience… 📽
Serverless Chats – Episode #26: re:Inventing Serverless with Chris Munns
In this episode, I chat with Chris Munns about all the new serverless product releases from AWS re:Invent 2019, the ongoing feature improvements AWS continues to make, and how his team plans to bring serverless to everyone in 2020.
Where Does Serverless Fit in Cloud Native?
Shayne Boyer talks with Jeff Hollan about how serverless fits into this whole cloud native thing. There is a healthy mix of skepticism from Shayne, but Jeff does a great job laying out the benefits and discussing the tools that are available through Azure to make it easier.
When the teams at AWS can finally get some sleep… 🛏
Amazon API Gateway Offers Faster, Cheaper, Simpler APIs Using HTTP APIs (Preview)
HTTP APIs are BIG! Besides the massive cost reduction, the latency is much lower. There are limitations with this new product, but I think we’ll see those eased over time. And for the majority of use cases, this will work just fine.
AWS Lambda announces Provisioned Concurrency
Here is another big one. I think it’s a stop gap, trying to provide counter-arguments to the serverless naysayers, but there will be use cases for this that could open up a whole new set of low-latency, synchronous applications.
Introducing Amazon RDS Proxy (Preview)
I want my, I want my, I want MySQL. I still love RDBMS, as do millions of developers around the world. So the ability to use connection pooling from Lambda functions (so we don’t flood our databases with unnecessary connections) is a game-changer. Expect to see lots of other RDS-compliant database engines working with this soon.
Introducing AWS Step Functions Express Workflows
I’ve shied away from Step Functions for many use cases simply because of the cost and throughput limitations. Express Workflows changes that (with some caveats, of course), making orchestration, function composition, and other state machine capabilities much more accessible.
Introducing the Amplify DataStore, a persistent storage engine that synchronizes data between apps and the cloud
A queryable, on-device data store for web, IoT, and mobile developers using iOS, Android, and React Native. Plus it has some amazingly smart cloud synching.
Introducing Amazon SageMaker Studio – the first integrated development environment (IDE) for machine learning
If you’ve been puzzled by machine learning, this new SageMaker Studio could be your saving grace. I haven’t tried it yet, but the docs make it look incredibly easy. Just be careful not to accidentally build Skynet with it. 🤖
AWS announces UltraWarm (preview) for Amazon Elasticsearch Service
It’s still not serverless Elasticsearch, but it is a big improvement to the daunting costs that was the typical hot storage. The analysis capabilities on ES are great, so it might be worth taking another look if you dismissed it in the past.
Introducing The Amazon Builders’ Library
No excuses. Drop everything that you are doing and go read these documents. Your future self will thank you.
AWS launches Fargate Spot, save up to 70% for fault tolerant applications
This might be as important an announcement as spot instances were for EC2. You need to orchestrate them with ECS, but for the right kinds of workloads, this could be very, very useful.
Thoughts from Twitter 🐦
Here’s a YouTube playlist of DynamoDB-related sessions from AWS re:Invent 2019… And we’re waiting for a few more videos to be uploaded. ~ @DynamoDB
There were a bunch of great session on DynamoDB at re:Invent this year. If you love DynamoDB (or want to), this YouTube playlist will give you a ton of insight.
If you’re looking to get started with #serverless, I’ve put together a body of work over the past year that starts with functions & expands much deeper, going into philosophy & building serverless apps leveraging things like auth, db, & storage. Check out these resources… ~Nader Dabit
Nader Dabit had a good thread that links to all the resources he’s worked on over the years about serverless. Lots of really great stuff in here.
Upcoming Serverless Events 🗓
There are a lot of upcoming serverless events, webinars, livestreams, and more. If you have an event you’d like me to mention, please email me.
December 13, 2019 – AWS re:Invent Recap – Serverless Edition (Webinar)
December 14, 2019 – ServerlessDays Fukuoka Japan
December 20, 2019 – Using Relational Databases with AWS Lambda – Easy Connection Pooling (Webinar)
January 24, 2020 – ServerlessDays Belfast
February 13, 2020 – ServerlessDays Cardiff
February 21, 2020 – ServerlessDays Rome
February 27, 2020 – ServerlessDays Nashville
Serverless Star of the Week ⭐️
There is a very long list of people that are doing #ServerlessGood and contributing to the Serverless community. These people deserve recognition for their efforts. So each week, I will mention someone whose recent contribution really stood out to me. I love meeting new people, so if you know someone who deserves recognition, please let me know.
This week’s star is Eric Hammond (@esh). Eric is one of the OG AWS Serverless Heroes and a legend among early AWS adopters with his work on community AMIs and the creation of user-data scripts for EC2. Way back when serverless first became a thing, Eric started writing and sharing serverless tips and insights via his blog, GitHub and Twitter. Five years later, he’s still front and center at all the most important serverless re:Invent talks, live tweeting and sharing his knowledge with the community. But the thing I really love about Eric’s work, is just how thoughtful his posts and Tweets are. He constantly shares other people’s work and builds people up. Thank you for all you do, Eric. We need more of this in the world! 🙌
Final Thoughts 🤔
This was only my second re:Invent, but I somehow ended up being even more exhausted this year! I met with a number of great AWS teams and am now even more excited about the future of serverless. EventBridge is becoming an absolute staple, Lambda Destinations is moving us closer to the promise of “only writing business logic”, and new products, like RDS Proxy, Express Workflows, and HTTP APIs, are starting to open up a whole new world of possibilities. There is a lot of complexity being added with all this, but 2020 could be the breakout year for better abstractions.
I hope you enjoyed this issue of Off-by-none. Please send me your feedback and suggestions as they help to make this newsletter better each week. You can reach me via Twitter, LinkedIn, Facebook, or email and let me know your thoughts, criticisms, or (perhaps) even how you’d like to contribute to Off-by-none. If you like this newsletter, and think others would too, please do me the honor of sharing it with friends and coworkers who are interested in serverless.
Share this newsletter with your friends and coworkers!
Off-by-none is a weekly email newsletter that focuses on the technical details of building applications and products in the cloud using serverless technology. Together we can become better developers and product people by making fewer mistakes as we learn from each other. Off-by-none is the idea that we can become exceptional at what we do, if we are willing to put in the work. Join me on this journey as we help the community work to develop best practices, share our ideas, and learn to build better cloud-based software.
I respect your privacy and I will NEVER sell, rent or share your email address.