Happy (Serverless) New Year! 🎉
Welcome to Issue #70 of Off-by-none. Thanks for spending 2019 with us! 🙌
Last week, we shared some interesting serverless reads for your holiday reading list. This week, we’ll look back at the most popular links from 2019, I’ll share some of my plans for 2020, and we’ve got some great posts from the serverless community as well.
Looking back at 2019… 👀
A lot happened with serverless in 2019, so there were always plenty of stories, use cases, and tutorials to share. Last year I shared over 2,500 links to amazing content produced by the serverless community. I’ve analyzed the data, and here are the most popular links for 2019.
We started off the year with Forrest Brazeal’s excellent from relational DB to single DynamoDB table: a step-by-step exploration post. Then I showed you How To Use SNS and SQS to Distribute and Throttle Events. Mikhail Shilkov gave us insights into running Serverless at Scale and I shared a pattern for Throttling Third-Party API calls with AWS Lambda.
Berkeley published their View on Serverless Computing and said that “serverless computing will grow to dominate the future of cloud computing.” Then AWS released their Solutions site with vetted, technical reference implementations designed to help you solve common problems.
Rob Gruhl released a two-part series about Event-sourcing at Nordstrom and Kyle Galbraith explained How a Monolith Architecture Can Be Transformed into Serverless.
Ryan Jones outlined some Best Practices for Serverless Development, The New Stack told us that Static Sites with Gatsby were all the rage, and Ben Kehoe said that Serverless is a State of Mind. Peter Swain shared the AWS Serverless Tools You Can’t Live Without, AWS introduced Event Fork Pipelines, and Danilo Poccia gave us his Serverless By Design tool. While the Serverless versus Containers debate raged on, Chris Munns told us that AWS shaved 1/3 off the p99 on the Lambda service’s overhead latency.
The Serverless Chats podcast was launched, Trek10 took a pragmatic approach to Enterprise CI/CD on AWS, and I gave an (updated) First Look at the Aurora Serverless Data API (which is pretty sweet). Chris Munns attempted to share thirty serverless architectures in 30 minutes and Forrest Brazeal shared 5 tips he learned the hard way about CI/CD, AWS, and Serverless. I offered up some advice on how to switch from RDBMS to DynamoDB in 20 easy steps and Pulumi announced Crosswalk for AWS.
AWS announced EventBridge and told you how extending SaaS Application Data into Your AWS Environment will end the need for webhooks. Many people (including me) thought that it was a game changer. Jared Short thought it was the biggest thing since AWS Lambda itself, and Paul Johnston said it will change the way you build serverless applications. Philipp Müns even shared some Use Cases and Examples with us.
Trek10 gave us an AWS Event Source Wizard tool, Justin Pirtle told us 10 Things Serverless Architects Should Know, and Gojko Adzic shared a trick for Publishing Lambda Layers using SAR. AWS announced improved VPC networking for AWS Lambda functions just as Einar Egilsson complained that serverless was 15% slower and 8x more expensive.
AWS showed us how they built a production service using serverless technologies, and then Forrest Brazeal opined that there was no magic, just thorough execution. I shared my Dynamic Composer pattern, Paul Swail compared multi and single table approaches to designing a DynamoDB data model, and Ben Arena shared some thoughts on Error Handling in AWS Lambda and API Gateway.
The Dashbird launched a Cloud Knowledge Base and Toby Hede published some Serverless Patterns. Serverless, Inc. covered the New Lambda Features from pre:Invent, Rafal Wilinski shared some lessons learned using Single-table design with DynamoDB and GraphQL in production, and I released the DynamoDB Toolbox.
There were plenty of re:Invent serverless announcement recaps (like this one and this one), plus some good deep dives like Yan Cui’s The end of cold starts as we know it, Fernando Medina Corey’s post about AWS API Gateway v2 for HTTP, and Jared Short’s Lambda Destinations: What We Learned the Hard Way.
Alex DeBrie put together an Awesome DynamoDB repo and I shared my takeaways from AWS re:Invent 2019’s Amazon DynamoDB Deep Dive: Advanced Design Patterns talk by Rick Houlihan. We got an introduction to Serverless Microfrontends in AWS, we saw the the pros and cons and use cases of Cognito, and we went Under the hood of AWS Lambda.
I also put together a Best of 2019 episode of Serverless Chats that shares some of my favorite moments.
Serverless Reads 📖
Developing a Serverless Twitter Streamer and Performing Sentiment Analysis
2020 is going to be the year of use cases for serverless, and I think ones surrounding data processing are going to be extremely important. This post by Ryan Lenahan will show you how easy it is to start adding sentiment analysis to your data streams.
The Ultimate Guide to Backend Serverless Development
Sam Williams has put together the Ultimate Guide to Backend Serverless Development. If you’re looking for a thorough primer, this is worth taking a look at.
Serverless ETLs? Easy Data Lake Transformations using AWS Athena
I’m a big fan of Athena and what it allows you to do with massive amounts of data. It takes some planning to get your data stored correctly, but it’s worth the exercise and is a lot cheaper than running something like Redshift.
re:Invent 2019: A Very Late Recap on Tech Highlights, Conversations, Observations & News
This is a great post by Mark Fowler that echos many of my thoughts around re:Invent. His point about education is spot on. There is way too much to learn, and the average developer simply will not have the time. If companies want to get serious about the cloud, they’re going to need to find that time for their devs.
Provisioned Concurrency: The Silver Bullet to AWS Lambda Cold Starts
Sarjeel Yusuf has the lowdown on the new Provisioned Concurrency for Lambda. Chances are you’ll never need to use this feature, but it’s good to know that it’s there if you do.
Monolith, SOA, Microservices, or Serverless?
If you’re interested in the different architectural approaches, Jalel Tounsi does a good job explaining them… until he gets to serverless. While the information is mostly accurate, the idea of using “serverless” for only client-heavy apps or that long-running tasks are a problem, goes to show that serverless is evolving so fast that the content can’t keep up.
How Many Ways are there to Schedule a Task?
Michal Yanko’s post describes several ways to schedule tasks, and for some specialty cases, I’d generally agree. She even provides a nice little flow chart at the end to help you choose. However, for me, I default everything to a serverless solution first. If that doesn’t fit, then I’d look at other alternatives.
Thoughts from Twitter 🐦
Startup Guidance 2010s:
• Work 120 hours a week • Ignore profitability • Grow at all costs • Bay Area or bust • Hustle or die trying
• Work however much feels right • Focus on revenue • Build a sustainable company • Hire remote teams • Take care of yourself ~ Brenden Mulligan
I can’t express how much I love this tweet. There is no doubt that hard work and dedication are important factors to success, but there’s something to be said about slow and steady. Over my 20+ year career, I’ve found that focus and simplicity are the things that get you ahead. I just wish I had taken my own advice sooner.
Hypothetically, if one is to write a book about #serverless architectures on #AWS in 2020, what kind of content would you be most interested in? A runthrough of service features? Architectural patterns? Mini-projects to follow along? Learnings from real-world architectures? ~ Yan Cui
Hypothetically, I would be very interested in this book. My only concern with books on topics like “serverless”, however, is that what was true yesterday, may no longer be true today.
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.
January 24, 2020 – ServerlessDays Belfast
February 13, 2020 – ServerlessDays Cardiff
February 21, 2020 – ServerlessDays Rome
February 27, 2020 – ServerlessDays Nashville
April 6, 2020 – ServerlessDays Boston
Final Thoughts (of the decade) 🤔
This past year, I published 52 issues of the Off-by-none newsletter, 29 episodes of the Serverless Chats podcast, several open source projects, and a bunch of blog posts. I also worked with a number of consulting clients to help them on their serverless journeys. It was incredibly busy, but also extremely rewarding. I was honored to be named an AWS Serverless Hero and to be able to speak at several conferences around the world. Now the question is, how do I maximize my time and help the most people I can in 2020?
I’m excited to announce that I will be shifting the majority of my time and attention in 2020 to this newsletter and the Serverless Chats podcast, along with time dedicated to open source contributions, writing, and other forms of serverless content production. I’ll also be doing plenty of consulting, so if you need help with any of your serverless projects, please feel free to contact me. I’m ridiculously excited about all the opportunities this will bring, and I’m looking forward to sharing more with all of you in 2020.
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.
Happy New Year, 🍾🥂
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.