Fargate says ‘goodbye’ to Docker Engine… 😱
Welcome to Issue #85 of Off-by-none. Thanks for joining us!
Last week, we shared some new books and a YouTube channel for serverless fanatics. This week, Fargate gets an overhaul, we do some EventBridge storming, and learn some rules for DynamoDB modeling. Plus, we’ve got a ton of great posts from the serverless community.
Serverless News & Announcements 📣
Natively Debug AWS Lambda on your IDE!
Thundra allows you to natively debug your serverless applications on the cloud with their own permissions. Thundra’s online-debugger sets up a secure bridge between your AWS Lambda environment and your IDE. VSCode and IntelliJ IDEA are natively supported with plugins. For other IDEs, Thundra provides a portable client to foster the integration with any IDEs. Start debugging Node.js, Python and Java functions for free today!
AWS revamps Fargate serverless containers, but wait – where’s Docker Engine? Ah, ‘deemed unnecessary’
No more Docker Engine and added support for EFS. If you’re building a containerized application, this is a good place to start.
Stackery Expands Serverless Security and Continuous Delivery Capabilities
I love seeing platforms like Stackery starting to handle automated deployments. Setting up CI/CD with serverless always seems to be a patchwork of duct tape and popsicle sticks, so having trusted platforms manage it for you, is a huge win for any serverless developer.
Good Morning Serverless Guest Signup
Do you have something to say about serverless? Sign up to be a guest on on Tom McLaughlin’s Good Morning Serverless Show.
Serverless Stories 📖
Going Serverless with Node.js and Clean Architecture
I like this post by Everton Nishiyama because it perfectly captures how I feel every time I start to build a new serverless application and am staring at a blank canvas. I have several standards and practices that I follow, but every app is an evolution for me, and I’ve yet to find myself using the exact same structure more than once.
Reducing Serverless Integration Test Runtime on CI
Rob Cronin recounts how his team dramatically reduced their integration tests from 40 minutes to only 7 by implementing strategies like stack reuse and parallelization.
A serverless app that texts me positive COVID-19 news
Gwyneth Pena takes you through her process for creating a serverless app using Azure Functions and Twilio to only text her COVID-19 stories with a positive sentiment.
Serverless Use Cases 🗺
Building a netlify lambda function to turn twitter lists into email digests
This is a great example of simple automation that’s a perfect use case for serverless. A little bit of Lambda and some managed services can produce all kinds of interesting tools.
Send Organizational AWS Health Events to Amazon Chime or Slack
This is another great solution that aggregates all your AWS Health alerts using a scheduled Lambda function and then sends them to your Chime or Slack channel.
emailThis bookmark using serverless API
Thought this was a clever hack for circumventing ads within your link collector. Shantanu Oak created a simple bookmarklet and serverless API to forward urls to his bookmarking service.
Host a Podcast with Airtable and Serverless Framework
I’m clearly partial to podcasts, so I like this use case using Airtable as the backend datastore. Not sure I’d want to build my own solution in this case, but there are plenty other things that an Airtable/Serverless duo could handle.
How to fix Cloudfront CORS font Issue with AWS Lambda@Edge
Highly specific use case here, but whether it’s Lambda@Edge, Cloudflare Workers, or any serverless edge provider, there are so many more possibilities beyond just simple header manipulation.
Serverless Concepts 🏗
Very informative post by Zac Charles that fully explains different ways to handle S3 uploads and gives a comparison of proxies vs presigned URLs vs presigned POSTs.
Hit the 6MB Lambda payload limit? Here’s what you can do.
If you’re interested in more info about uploading S3 files, check out Yan Cui’s post.
Testing Serverless Workflows
Joel Lutman makes the case for adding regression tests to your serverless applications and provides some detail as to how one might achieve that. I’ve always loved how easy it is to spin up separate test stacks with serverless.
Handling large Step Function payloads
If you are passing really large payloads between transitions in Step Functions, G.J. den Hertog shows you a small trick to avoid hitting the 32,768 character limit.
Lambda Data Stores: Which One to Pick
Serkan Özal enumerates the datastore options that you can use with Lambda. Although this isn’t an exhaustive list, the major players are outlined. He also gives you a few guidelines for when you might use each.
Serverless Tutorials 👷♀️
Great article by Ben Ellerby about “EventBridge Storming” to help teams define events and service boundaries for their serverless apps. I think I’ve tried every “method” for doing this, and ones similar to Ben’s workshop approach have been most effective.
Getting started with Microsoft Azure
If AWS went away tomorrow, at least we’d have Azure. Amber Wilkie does an excellent job outlining the the basics of building serverless apps using Microsoft Azure. Great introduction if you want to see what Azure has to offer.
Right Way to implement a Serverless Node.js application on AWS (Part 1)
So, I’m always suspicious of blog posts that describe the “right way” to do something, and my spidey sense was not wrong this time either. It’s good to see that the team at Zolo is starting to build serverless applications, but like many a first attempt, they are building Lambdaliths. Not the worst way to get started, but far from the “right way”, for many reasons.
Translating documents at enterprise scale with serverless
Great use case from James Beswick. The best thing about posts like this are the repeating patterns that can be used for various types of workloads.
Serverless Reads 🤓
The Ten Rules for Data Modeling with DynamoDB
If you want to get a taste of the amazing content in Alex DeBrie’s new DynamoDB book, take a look at this post he wrote for the Trek10 blog.
Platforms for Serverless at Edge: A comparison
Davide Taibi and his research team compare the characteristics and issues of the major edge computing platforms that provide serverless compute support, outline some considerations for each, and point out some open issues. Excellent read.
I/O Runtime and the Future of Serverless at Adobe
I thought this was an interesting read to see how Adobe is thinking about serverless. There’s an incredibly important point they make, which is the need to move away from Docker to more densely pack compute (like Cloudflare and Fastly do). If you’ve been paying attention, you may have noticed that more and more “serverless” implementations are moving to this type of isolation model. Of course, there is still one very popular container orchestration system that isn’t following suit. 🤷♂️
Open source worse practices? Serverless Inc. as an example of what can go wrong when you don’t keep up with your developer community
I think Stephan Schulze makes some valid points, but at the same time, there is more context that needs to be considered here. I’m a big fan of the Serverless Framework, and my experience has always been positive. I also know how hard it is to maintain an OSS project. The free version of the Framework is truly a gift to the serverless community, and like all startups, limited resources force you to make hard choices. Maybe a better protocol for faster responses is warranted, but I think the vast majority of developers are happy with the management of the framework.
Videos, Podcasts, and Live Streams… 📹
Watch at your leisure: Optimize Lambda Performance for your Serverless Applications – Tech Talk
In less than 45 minutes, AWS Serverless expert James Beswick shows you how to fine-tune your Lambda functions to get the most out of your applications. He offers ways to improve your application throughput, reduce latency, and lower overall cost. He also dives in to some of the newest features that allow you to find the most precise fit for your application’s needs, including improved VPC networking and Provisioned Concurrency.
Serverless Chats – Episode #44: Data Modeling Strategies from The DynamoDB Book with Alex DeBrie
In this episode, Jeremy chats with Alex DeBrie about why he wrote the DynamoDB Book, what are some key concepts to keep in mind when modeling data, and how using the right strategies can help you create more powerful single table designs. Watch on YouTube.
Foobar: Let’s practice together for the AWS Cloud Practioner Certification
Marcia Villalba takes a group of live viewers through practice questions for the AWS Cloud Practitioner Certification. It was really fun to watch, so check out her channel to find out when the next one is.
Real World Serverless – #6: Serverless at TotallyMoney with Nick Blair and Steve Westwood
Another great episode with Yan Cui chatting with the team at TotallyMoney. Lots of really great info in here about troubleshooting Provisioned Concurrency.
Migrating existing monolith to serverless in 8 steps
Can’t get enough Yan Cui? Watch this excellent presentation that goes through the steps to migrate your existing monolithic application to serverless.
New from AWS 🆕
Amazon Cognito Identity Pools now supports Sign in with Apple
Amazon Cognito Identity Pools now supports Sign in with Apple, providing another social identity provider for customers who use Cognito for receiving temporary AWS credentials.
Amazon ECS and AWS Fargate support for Amazon EFS File Systems now generally available
Amazon Elastic Container Service (ECS) tasks running on both Amazon Elastic Compute Cloud (EC2) and AWS Fargate can now mount Amazon Elastic Filesystem (EFS) filesystems.
AWS Fargate launches Platform Version 1.4
This latest version enables several new Fargate features including EFS endpoints, 20 GBs of ephemeral storage, and new network performance metrics in Amazon CloudWatch Container Insights.
Amazon RDS Proxy with PostgreSQL Compatibility (Preview)
Amazon RDS Proxy is now in preview for Aurora PostgreSQL and RDS PostgreSQL. I have some clients that’ll be very happy about this.
Serverless Tools 🛠
Off to a great start with AWS Organizations
This is a great article by Olaf Conijn that discusses strategies for setting up and managing AWS Organizations, but even better is the tool his team built for managing orgs using Infrastructure-as-Code.
Examples of various Lambda function integrations with API Gateway and CORS enabled
Having trouble with CORS from your frontend apps? Nader Dabit open sourced starter functions with CORS enabled for GO, Node, Python, .NET, and Java.
SAR Application to Bootstrap an AWS Cloud9 IDE
Need to bootstrap an AWS Cloud IDE? Thanks to Richard Boyd, there’s a SAR app for that.
Thoughts from Twitter 🐦
I’m stacking up a lot of #serverless content in the coming weeks across all levels, everything from getting started to the deepest of dives! I hope you’ll join me for some (or all!) of these sessions ~ Rob Sutter
Rob always delivers amazing serverless content. This tweet lists out a bunch of upcoming things he’s working on and how/when you can access them.
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.
April 2-May 31, 2020 – Sessions with SAM: Live Twitch sessions by Eric Johnson (every Thursday at 10AM PDT)
April 22, 2020 – From Monolithic to Modern: MasterStream’s Serverless Transformation with Stackery (webinar)
April 20, 2020 – ServerlessDays Auckland (Postponed – new date pending)
April 21, 2020 – Failover CONF: A virtual event on reliability 🗣
April 21, 2020 – Nordic Serverless Observability Special Meetup (virtual)
April 23, 2020 – ServerlessDays Vienna (Rescheduled to September 24th) April 24, 2020 – ServerlessDays Paris (Canceled)
April 29, 2020 – ServerlessDays Virtual
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 Metin Kale (@awsserverless). Metin is a Cloud Engineer at Generali Global Assistance North America, and an AWS Certified Developer. You might be familiar with Metin’s tweets (he’s the man behind the All Serverless Twitter account) posting about the latest news, tools, events, and other exciting developments happening in the serverless community. He’s also presented at AWS community events, and has been involved in various serverless meetups within the Chicago area. Thanks, Metin, for helping us grow the serverless community! 🙌
Final Thoughts 🤔
I hope you’re all staying safe out there. I know my family has started to go a bit stir crazy (and please don’t ask about the 2,000 piece puzzle we put together that was missing 10 pieces! 😡), but hopefully we’ll see brighter days soon.
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.
P.S. 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.