A Weekly Newsletter By Jeremy Daly

Off-by-none: Issue #100

July 28, 2020

Celebrating 100 Issues! 🥳🥂

Welcome to issue #100! Thanks for being here! 🎉

Last week, we got a Q2 serverless recap, someone realized that NAT Gateways were expensive, and we learned how to model our serverless apps in a way that allows us to evolve them more easily.

This week, we’re celebrating the 100th issue of Off-by-none with what you’ve come to know, expect, and hopefully love: the many, many great serverless articles, projects, and tools from our community. But what’s more: I’m taking the time to reflect on the wonderful community we’ve built here, in your inbox, and sharing some ways I hope to improve your newsletter experience.

I’ve always wanted this newsletter to recognize the community’s vast and great work, and be inclusive and representative of those who are in it. I want you to feel like you’re a part of this newsletter and that you can see yourself in this community. To better accomplish that, I’m in the final stages of launching the new Off-by-none website. Though I’ve still got some work to do on it, it’s the vision of the site I am most excited about. I hope that it will be a place where I can facilitate more engagement, invite more submissions, ideas, and stars, and better amplify the many voices that make this community so great. If you have any suggestions, as always, please feel free to let me know, as I want the Off-by-none site to truly be a place for all of us. 🙌

Serverless News & Announcements 📣

TriggerMesh helps you do more with serverless
Connect GitLab with Confluent and Zendesk, or connect these and dozens of other apps with AWS services like Kinesis, SQS, SNS, and Cognito. Even integrate with EventBridge. Join the Beta program today! Sponsored

Cloudflare launches Workers Unbound, the next evolution of its serverless platform
Oh wow, this looks amazing. Workers Unbound is meant for more complex and longer-running processes and operates at a fraction of the cost of Lambda, Azure Functions, and Google Cloud Function.

The AWS Serverless Application Model CLI is now generally available
In case you don’t know, the AWS SAM CLI is the command line tool companion for AWS SAM templates. It provides developers local tooling to create, develop, debug, and deploy serverless applications, and now it’s finally GA.

The Node.js Runtime
FYI, Google Cloud Functions now support Node.js 12 (in beta). I’d love to see Google become more competitive with some of their serverless offerings. Node 12 was released over a year ago.

Epsagon Further Accelerates Growth with New Investment from DTCP
Congrats to the team over at Epsagon! This latest investment brings their total funding to $30M which will help them increase their team to service their growing customer base. Apparently observability in the cloud is getting very popular.

Serverless Stories 📖

We went serverless with our new startup. And you should (probably) too.
I totally agree. Ankit explains why he chose serverless and what some of the benefits are. He gives some reasons when not to go serverless, but I think we’ve addressed those objections many times over.

A Plumber’s Guide to Cloud
Great post by Daniel Singletary, who took his experience as a plumber and applied the same troubleshooting methodology to complete Forrest Brazeal’s “Cloud Resume Challenge”.

A micro API in Firebase and Cloudflare Workers
This was a fun little experiment by Braeden Smith that compared building a simple micro API for loading an image in both Firebase and Cloudflare Workers. Fun Fact: Cloudflare won.

Serverless Use Cases 🗺

Serverless magic links with AWS Cognito
Here’s a really interesting use case for serverless that takes advantage of Cognito’s multi-factor login support to allow for temporary “magic links”. Thomas Schoffelen explains how secure it is, how it scales, and provides some code for a proof of concept.

Functions as a Service — A simple use case
Need to catch a webhook and publish a message to the Slack API? Pavel Pratyush explains why serverless is the perfect solution for this simple use case.

Processing PGP Encrypted Data in AWS Lambda using Python.
Here’s an interesting serverless use case. Mayank Madhukar shows you how to use python-gnupg to decrypt emails from an S3 bucket using Lambda.

Serverless Concepts 🏗

Monitor & Debug Serverless with 30-Second Auto-Instrumentation
Complete observability over your serverless environment with no code changes required. With one-click distributed tracing, Lumigo lets you effortlessly find & fix issues in serverless and microservices environments. Get serverless-specific smart alerts before they impact performance or cost. Sign up for a free account and get up & running in minutes. Sponsored

Real-time Data Processing With Kinesis Data Analytics
Nick Van Hoof and David Smits put together an excellent post that shows the serverless architecture they use to track, analyze and alert on traffic jams in Belgium using (near) real-time analytics processing. Very cool stuff.

Breaking Down Serverless Anti-Patterns
Parts of this post by Sarjeel Yusuf are a bit hard to follow, but the overall point should be well taken. We have to think and operate differently when building serverless applications, and in many circumstances, best practices are still a moving target.

Connecting Accounts with AWS Event Bridge
I like John Gilbert’s overall approach here, especially separating subsystems at the AWS account level to create bulkheads to contain the blast radius. I’m curious if there might be an alternative approach that doesn’t require upstream subsystems to know about other subsystems? Perhaps creating a common bus in a separate account that all subsystems can push to and read from?

Five Reasons You Should Consider AppSync Over API Gateway
Excellent breakdown by Yan Cui that outlines and explains five really good reasons to give AppSync another look.

Replacing web server functionality with serverless services
Another great post by James Beswick that explains how to significantly reduce your infrastructure requirements, setup time, and maintenance needs by switching to a serverless approach. Getting all that scalability and multi-AZ redundancy right out of the box should make the choice simple.

Serverless Tutorials 👷‍♀️

Implementing a Serverless Speech-To-Speech Language Translation App
Andre Beck started a series of articles that aim to illustrate the implementation of simple cloud apps on serverless platforms. First up is a language translation app that uses Step Functions.

How to handle duplicate Lambda invocations
Important message from Murali Allada about idempotent operations when dealing with asynchronous Lambda invocations. He suggests using DynamoDB, which makes a lot of sense, but you should also determine whether mitigating the side effects is worth the extra effort.

AWS CI/CD Pipeline Tools: CodeBuild and CodePipeline
Ran Ribenzaft walks you through setting up a CI/CD pipeline for a serverless project using CodeBuild and CodePipeline.

Creating an AWS SAM CLI project with Typescript and Both Types of Layers (Dependencies and Function)
Thinking about building a serverless Typescript project using AWS SAM? Nick Bordeau has you covered, complete with his project boilerplate.

Serverless Security 🔒

Twilio: Someone broke into our unsecured AWS S3 silo, added ‘non-malicious’ code to our JavaScript SDK
Note to self: Don’t enable S3 access policies that leave SDKs readable and writable by anyone. Otherwise, automated cyber-crime campaigns that prey on JavaScript code might infect said SDKs and take you over 8 hours to realize it.

Serverless Reads 🤓

Liberty IT Adopts Serverless Best Practices Using AWS Cloud Development Kit
Andrew Robinson wrote up a great piece (with the help of Matthew Coulter) on how Liberty IT is using the AWS CDK along with a number of best practices to create secure, repeatable deployments for their services. Nice mention of the CDK Patterns site as well.

Serverless for Enterprise: Scale big or go home
Using serverless for greenfield applications should be a no brainer at this point, but for enterprises with existing workloads, the choice isn’t always as clear. Mariliis Retter offers a few things enterprises should be keeping in mind as they start to make the transition.

What comes after Kubernetes?
I once knew an Ops person who said his primary role was to automate himself out of a job. And that’s what cloud providers are doing with K8s IMO. There are a lot more interesting things to be built on the infrastructure than there is to be done to the infrastructure. It’s just a matter of time until Kubernetes will be given as much thought as the hypervisor or Firecracker.

The Edge Computing Opportunity: It’s Not What You Think
Matthew Prince goes into detail about the future of Edge Computing and how Cloudflare Workers are addressing things like speed, cost, and most importantly, compliance.

Serverless or Kubernetes: When do you use which?
Pradeep Kumar lays out a number of rational arguments as to why you’d choose one over the other. I still think the choice isn’t just between FaaS and containers, though. There are so many other serverless “services” available, that trying to implement any of these on K8s would seem like a colossal waste of time and resources.

Videos, Podcasts, and more… 📽

Free 50-Minute Learning Path: How to Use Objects in Amazon S3 to Trigger Automated Workflows Using AWS Lambda
From the same author that brought you the episodic Innovator Island virtual workshop, this 6-episode learning series shows you how to use the S3 and Lambda pattern through several example applications. You’ll deploy applications into your own AWS account, explore extending them to your own use-cases, and ultimately be ready to develop sophisticated distributed applications built around S3 events using custom code to integrate with other AWS services. Sponsored

Episode #59: Going Green with Serverless with Paul Johnston (Part 1)
In part 1 of this two-part episode, I chat with Paul Johnston about how serverless compares to traditional computing in terms of being “green”, the impact of data centers on climate, why efficiency is only a first step, what people in tech can do to affect change, and so much more. Watch on YouTube.

ServerlessDays Virtual – July 2020
The second edition of ServerlessDays Virtual happened live last night! The replay is available now, so make sure you check out the amazing talks by Adrian Cockroft, Linda Nichols, Rusthem Feyzkhanov, Rich Buggy, Will Velida and Dr. Denis Bauer.

The Talking Serverless Podcast #19
I had a great time being a guest on The Talking Serverless Podcast with Ryan Jones. He’s had a lot of amazing guests, so you should check out the archives and give the show a listen.

Real World Serverless #21: From K8 to Serverless at Wealth Wizards
Yan Cui talks with Ionut Craciunescu from Wealth Wizards and discusses why their team decided to move away from Kubernetes and adopt a more serverless approach.

Simplest Serverless App with AWS CDK (API Gateway, AWS Lambda and DynamoDB)
Marcia Villalba give us an introduction to the AWS CDK and shows us how to deploy a simple serverless stack that creates an API route, a Lambda function, and a DynamoDB Table.

New from AWS 🆕

Amazon CloudFront adds additional geolocation headers for more granular geotargeting
This is an awesome update. You can now access a visitor’s city, state, and zip code, plus their timezone and approximate latitude and longitude. Lots of cool personalization that can be done with this

Amazon Elastic File System increases per-client throughput by 100%
Starting to play around with EFS and Lambda? Well, Amazon EFS now supports up to 500 MB/s of per-client throughput, a 100% increase from the previous limit of 250 MB/s.

AWS CodeBuild now supports accessing Build Environments with AWS Session Manager
Great feature if you need to dig in to diagnose complex build problems. Since you should be using CI/CD for all your production workloads anyway, this could become a handy tool.

Amazon Elasticsearch Services announces support for Elasticsearch versions 7.7
Nope, still not serverless, but new features are always welcome.

Amazon CloudFront announces Cache Key and Origin Request Policies
Another very cool update to CloudFront. You now have more control over your cache keys, and can even forward varying information to your origin, but still used the same cached content if necessary. Very cool.

Announcing AWS Serverless Application Model (SAM) CLI now generally available for production use
We already mentioned this at the beginning, but here is the official “what’s new” announcement. Good stuff from the SAM team.

Amazon Lightsail now offers CDN distributions to accelerate content delivery
This is an interesting way to take your “not-so-serverless” application and add a bit of serverless to it. Adding a CDN to cache assets and pages automatically is at least a good first step.

Serverless Jobs 👩‍💻 Sponsored

Serverless Engineer – stedi.com
At Stedi, we’re working in one of the biggest markets on the planet – EDI, the technological backbone of the physical product economy. We’re building a next-generation platform: a ubiquitous commercial trading network to automate the trillions of dollars in B2B transactions exchanged by nearly every company on Earth. If you’re interested in what we’re building and how we’re building it, we’d love to hear from you.

Have a job listing you’d like to share? Please contact me for more information. 

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.

July 29, 2020 – Orchestrating Distributed Business Workflows with AWS Step Functions

July 30, 2020 – Building Intelligent Application Flows in the Cloud and On-premises with TriggerMesh (Webinar)

September 3, 2020 – ServerlessDays Warsaw

October 1-2, 2020 – ServerlessDays Hamburg 2019

Serverless Star of the Week ⭐️

Each week, I fill this spot with people who are helping to grow the serverless community with their work. With people in every corner of the globe making great contributions, I unfortunately and inevitably cannot know them all. That’s why I am asking for your help in ensuring we amplify the accomplishments of our friends and colleagues through my new Serverless Star nomination form. These are the people on your team, in your circle, who are grinding out new projects, ideas, and perspectives that can make a difference in the serverless community. In honor of our 100th issue, let’s take this step to elevate their voices, and recognize their contributions together. You can start by nominating someone here.

Final Thoughts 🤔

Wow. 100 issues! I’ve learned so much over the last two years from reading all the amazing content that this community has created, and I hope you have too. Thank you all for continuing to be a part of this.

Like I mentioned in the beginning, the new site should be available soon, and I hope it will give the community more ways to contribute, learn, and amplify the voices of our members.

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, Facebook, or email.

Cheers,
Jeremy

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.

Sign up below and get Off-by-none delivered to your inbox every Tuesday.

I respect your privacy and I will NEVER sell, rent or share your email address.