A Weekly Newsletter By Jeremy Daly

Off-by-none: Issue #54

September 10, 2019

Where have all the Cold Starts gone? ❄️

Welcome to Issue #54 of Off-by-none. Thanks for joining us! 👍

Last week, we celebrated our one year anniversary. This week, we’re investigating some very encouraging news about cold starts in Lambda. Plus, we have lots of amazing serverless content from the community.

There’s plenty to get to, so let’s jump right in. 💥

Serverless News & Product Announcements 🚀

Announcing improved VPC networking for AWS Lambda functions
This is HUGE! AWS is now leveraging Hyperplane to provide NAT capabilities from the Lambda VPC to customer VPCs. The reduction in cold start times is amazing!

Introducing the Newest AWS Heroes – September 2019
Yay! There are four new serverless heroes: Chase Douglas, Ran Ribenzaft, Gojko Adzic, and Prashanth HN. Congrats to all of you!

Manage your Serverless apps through GitHub
You can now manage your Serverless deployments almost entirely from your GitHub repo with Seed.run’s new feature.

Excited to Announce the Serverless Transformation Newsletter
There is a new serverless newsletter in town. Ben Ellerby is launching the “Serverless Transformation Newsletter” to help develop and share best practices in the Serverless development community.

Fast WordPress Sites with Bluehost & Cloudflare Workers
Bluehost is going to add Cloudflare Workers to speed up WordPress sites. I was really hoping that a better, entirely serverless alternative would have come along to make this unnecessary. 🤷‍♂️

Serverless Stories 📖

Neosperience Cloud journey from monolith to serverless microservices with Amazon Web Services
Excellent post by Luca Bianchi that details Neosperience’s evolution to serverless microservices. He also makes a great point about iteration and the flexibility that microservices provide: “evolving your architecture through Time, requires your code being able to support changes every time a new wave of innovation hits the ground.”

I Believe in Serverless First and so Should You
Greg Farrow talks about why his team at ResponseTap decided to go serverless and why you should too.

My learnings from running the Azure Functions Updates Twitterbot for half a year
Marc Duiker explains what he learned by running a serverless Twitterbot over the last 6 months. Lots of interesting information in here that applies to other cloud providers as well.

Go-ing serverless
Eduardo Almeida set out to learn Go, and ended up stumbling into serverless along the way. His first time experience wasn’t great, which seems to be a common occurrence.

Serverless Use Cases 🗺

Serverless Step Functions with Callback
Callbacks in Step Functions are super handy. Chris Shenton outlines his use case and shows how to restart a Step Function once all the fan-out processing is done.

Sending a Weather Forecast with an AWS Lambda and Twilio
This is a simple app by Andrew Evans, but herein lies the power of serverless. Think about all the little tasks you could automate away.

Challenges and Opportunities of Amazon Serverless Lambda Services in Bioinformatics
I haven’t read this whole thing. But it looks important. 😉

Deploying Mozilla DeepSpeech models to AWS Lambda using Serverless
Lukas Grasse shows you how to install and run Mozilla DeepSpeech on AWS Lambda. There are some size limitations with the models, but the use case is exciting.

Prediction with TensorFlow and Cloud Run
ML and AI is all the rage, so Guillaume Blaquiere decided to install TensorFlowServing on a container and deploy it using Google Cloud Run.

When you want to learn some advanced Serverless concepts… 🏗

Serverless architecture diagram shows a new side of server-side
Interesting diagram from Fred Churchville on the differences between a traditional “server-side” application and one that is serverless. There is more happening with serverless and SSR, and of course, SPAs can work just fine with APIs running on traditional architecture, but this is a good way to look at it.

AWS Data API for Amazon Aurora Serverless
Goran Opacic has a great piece that explains how easy it is to run a Serverless Lambda SQL powered web site in production and deploy the entire architecture using CDK. There are some good references in this article as well. 😉

Deploying a Web API on AWS Lambda: Difference between API Gateway and Application Load Balancer
This is a short post that compares ALB with API Gateway when being used with Lambda functions. Very useful info here.

Three AWS API Gateway Features to Manage and Control the Invocations of its Targets
Lior Shalom highlights a few features of API Gateway that let you define throttling, manage API keys, and add performance gains by using caching.

AWS Lambda VPC Upgrades with HyperPlane
Austin Huminski from IOpipe explains why the AWS Lambda VPC upgrades are such a big deal, and how you can configure a Lambda function to access RDS in your VPC.

If you’re just getting into serverless… 🐣

15 things I’ve learned doing serverless for a year and a half
Great article by Paul Heintzelman that includes 15 things that every serverless developer (new and old) should definitely learn and understand.

Choosing the right cloud provider
Ben Ellerby helps you choose a cloud provider for your serverless projects. TLDR; He suggests AWS.

Why does serverless matter?
We’ll let the “there are still servers in serverless” comment slide. This is a good article that outlines why serverless is different than PaaS, and more importantly, what value it brings to your business.

An Introduction to Azure Functions
AWS Lambda isn’t the only game in town. Check out John Matthew’s introduction to Azure Functions to see what Microsoft offers for FaaS.

Serverless Tutorials 🏗

Create Serverless API for HTML Scraping
If you do need to scrape an HTML page, using the cheerio package seems like a great option.

AWS CDK TDD, LOL OMG
Richard Boyd is back with a post that describes how to build CDK Constructs using test-driven development and the AWS CDK Asserts Library.

Building a Simple Serverless WebSocket with Stackery and AWS
The team at Stackery shows you how to build a simple serverless WebSocket in Amazon API Gateway that can directly communicate back to the client. This uses the Stackery Canvas, so you don’t even need to write any CloudFormation.

Netlify Dev + Serverless Functions + MailChimp Subscribe Form Tutorial
Matt Gregg shows you the power of Netlify with this simple tutorial.

Moving from Lambda ƛ to Azure Functions <⚡>
I’ve had decision makers ask me “how hard is it to move to a different cloud provider?” way too many times. Whatever the reason maybe, it’s always a good idea to understand what other options are out there. Jeremy Likness has a post with some videos that will show you what a migration from AWS to Azure might look like.

Create a Reddit Bot with Node.js on AWS Lamba
Raz Ali shows you how to create an application in Reddit and use an AWS Lambda function to connect to it. This is just a starting point, but lots of use cases for these types of applications.

How to build a website from scratch under the AWS free tier (Part I : FrontEnd) & (Part II : BackEnd)
Anas El Mhamdi’s two part series will give you a good overview of how to set up your front end static hosting along with a fully dynamic serverless backend.

Testing Serverless Services
Vincent Claes gives you a detailed run through of testing your Python serverless applications. There is some local mocking in there (which lots of people prefer) for unit testing, but I’m a big fan of adding some integration tests using real cloud resources too.

Serverless Security 🔒

How to store your AWS Lambda secrets cheaply without compromising scalability or security
Timothy Jones has an interesting way of encrypting secrets for serverless applications without the need for expensive solutions like Secrets Manager or rate-limited Parameter Store calls.

How To Handle HIPAA Compliance with Serverless Security
Need to make sure you serverless applications are HIPPA compliant? Check out this great post by Trisha Paine from Protego.

Serverless Reads 🤓

Q&A With Gojko Adzic on the Book Running Serverless
Newly crowned AWS Serverless Hero, Gojko Adzic, gives a great overview of his new book, Running Serverless.

Why Does Developing on Kubernetes Suck?
“When I’m writing software… Kubernetes has only made things harder.” Nuff said.

AWS Lambda Cold Start Language Comparisons, 2019 edition ☃️
For those of you that continue to worry about cold starts, perhaps this will be encouraging: “The improvement over the last 16 months is the most astounding and surprising find. There are massive improvements across the board, with cold starts becoming reasonably inexpensive and non consequential. NodeJS is now the most performant language, improving 74.6% or 638ms in just 16 months.”

How to Get Over the Serverless Integration Hump
Srinath Perera opines on the future of serverless and discusses the need for an integration language above and beyond programming languages to ease the transition for enterprises.

The Rise of the Serverless Architect
Nick Gottlieb nails it: “A Serverless Architect is a developer who takes this lifecycle focused view and often personally owns at least part of every stage of the Serverless Application Lifecycle. They don’t simply write functions — they implement business results while thinking through how the code that delivers those results will be developed, deployed, tested, monitored, and secured.”

17 Reasons NOT To Be A Manager
This really has nothing to do with serverless, but it is such an important piece for anyone who is a software developer. If you love coding and the rush you get when solving problems and building solutions for them, think long and hard about becoming a manager.

Many Uses of Serverless Observability – Part I
Emrah Samdan explains why observability is an important (if not necessary) part of serverless application development.

Is Serverless the end of Ops? DevOps vs NoOps… NativeOps.
Ben Ellerby has another great post that discusses how “Ops” changes as we move to serverless. I’m not sure “NativeOps” will catch on, but it’s worth a shot.

AWS AppSync with Serverless Lambda only solution
I have to agree with Barend Bootha that “VTL is a terrible place to put any business logic.” I know there are those that would argue, and for certain things it makes sense, but I’m still trying to wrap my head around what service owns the data when working with AppSync. It seems to add a lot of unnecessary coupling to the mix.

When you’re tired of reading… 🎧

Episode #13: Managing a Serverless Engineering Team with Efi Merdler-Kravitz
In this episode, I chat with Efi Merdler-Kravitz about moving your team to serverless, running and growing your serverless development team, and managing roles and specializations in serverless environments.

How Bustle Leverages AWS Lambda to Help Editorial Teams Scale
Bustle has been way out in front with its adoption of serverless and has been using it at massive scale for quite some time. This short video gives you a quick overview of what they’ve built with it. Michael Hart is not in the video, but it’s still worth a watch.

Go Time #96 : Serverless and Go with special guest Stevenson Jean-Pierre
Special guest Stevenson Jean-Pierre discusses serverless in a Go world. What is serverless, what use cases is serverless good for, what are the trade offs, and how do you program with Go differently in the context of serverless?

When you’re wondering what AWS has been up to… 👷‍♀️

Introducing Analyzing Text with Amazon Elasticsearch Service and Amazon Comprehend
This out of the box solution deploys an end-to-end solution for extracting insights from unstructured data such as customer calls, support tickets, and online customer feedback. Then it adds it to Elasticsearch and lets you visualize it with Kibana. Definitely worth checking out the reference architecture to see how it might fit in with your application.

Amazon QuickSight Announces Favorites, Anomaly Alerts and More
I’ve only played around with QuickSight, and have never used it for a production application. But there is definitely something there, and some of these new features look like there is more value to come.

Announcing General Availability of Amazon Quantum Ledger Database (QLDB)
It’s here! AWS’s fully managed ledger database that provides a transparent, immutable, and cryptographically verifiable transaction log ‎owned by a central trusted authority. More from Jeff Barr here.

Serverless Tools 🛠

serverless-to-cgi-bin
I’ve often joked about this as well. Sure there’s a lot more to it, but comparing FaaS to a modern day “cgi-bin” (just one that scales infinitely and has automatic fault tolerance and failover built in) is a fine comparison to me.

Thoughts from Twitter 🐦

I use a serverless platform and never have to think about a load balancer. (Hell, for a while I didn’t even really know what a load balancer was! No joke.) Who am I? Someone who values productivity. ~ Dr. Donna Malayeri
Speaking of modern day cgi-bins, Dr. Donna Malayeri makes a really good point with this tweet. Load balancers are undifferentiated heavy lifting that developers shouldn’t need to care about. Serverless gives you that.

2 weeks ago I turned 30 years old, and 6 years of AWS — Today, with tears of happiness, I’ve officially got promoted to Principal. ~ Heitor Lessa
We love Heitor and everything he does for serverless, AWS, and the community. Congrats to him for this well-deserved promotion.

Serious question: Why is kubernetes so much more popular than the cloud vendor based FaaS services? Given that FaaS saves you *so much effort and maintenance* (I have experienced this) I don’t see the value *except* on prem. Note: no “because it’s better” responses. ~ Paul Johnston
Paul Johnston has no problem poking the proverbial Twitter bear, and this time it sparked a really interesting (and illuminating) debate. Lift and shift is much easier than rearchitecting for serverless. I’m not sure there is a middle ground here, so perhaps K8s will have it’s run for the foreseeable future.

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.

September 13, 2019 – Serverless Days Belgrade

September 18, 2019 – Our Serverless Journey – Dev Team Retrospective (Webinar)

September 19, 2019 – IOpipe and Mapbox Webinar: Visualizing critical, location-based metrics on serverless

September 20, 2019 – Serverless Transformation: An Online Panel Discussion

September 26, 2019 – Increasing Serverless Development Velocity (Webinar)

October 7-9, 2019 – Serverlessconf 2019 in New York City

October 14-16, 2019 – Serverless Architecture Conference Berlin

October 24, 2019 –  ServerlessDays Stockholm

October 30, 2019 – Retail at the Scale of Serverless with AWS – Webinar

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 Ben Ellerby (@EllerbyBen). Ben is a Serverless Architect and Advocate at Theodo UK. He’s also a regular conference speaker, serverless blogger, and editor of the new Serverless Transformation newsletter. As serverless continues to gain adoption, having people like Ben producing well-written content and sharing it with the community, helps to make serverless more accessible for everyone. I’m looking forward to seeing what he does next. Thanks, Ben!  🙌

Final Thoughts 🤔

The news about VPC Lambdas this week was very exciting. Seeing a cold start drop to 933 ms from 14.8 seconds is game changing. I know many people will continue to argue that 933 ms of latency is still too high, and that is true for certain applications. But since cold starts affect such a tiny percentage of your invocations, a few random 1 second round trips will seem like normal network blips for web-facing applications. 15 seconds was noticeable (hard to argue with that), but 1 second? Not so much. Exciting times ahead.

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.

Thanks again,
Jeremy

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.