, 10 tweets, 3 min read Read on Twitter
Official Node.js v10.x runtime support on AWS Lambda! aws.amazon.com/about-aws/what… Supported on docker-lambda too (and AWS SAM CLI). Many interesting things about this release, strap in:
1. It's "10.x", so only the semver major is pinned. This is a Good Thing™, unlike the previous releases ("8.10", "6.10", "4.3") where AWS fell behind official Node.js releases because they pinned the minor. No more missing out on feature updates 👍
2. The nodejs10.x runtime uses the same HTTP-polling model as custom runtimes under the hood – it matches the python3.7 and ruby2.5 runtimes in this regard. I suspect AWS will stick with this model for all new runtimes going forward.
3. It's the first runtime running on an entirely new base OS, which is big news! This time they're using Amazon Linux 2 🎉 . And it's VERY svelte. Like, I'm talking one of the most minimal glibc Linux bases I've ever seen. It doesn't even have `find` 🙀
4. The minimal base (and updated OS) means that your software that currently works on, say, a Node.js 8.10 Lambda could break spectacularly if you migrate – particularly if you rely on outside binaries (say you call out to ps, tar, etc) or libraries (eg, bzip2, libcurl, etc)
5. If everything in your Lambda is pure JS you should be good 🤞 If not, then you can use tools like docker-lambda and AWS SAM to ensure that you've bundled up your dependencies correctly. You'll probably want to create layers for them.
6. There's a decent chance existing layers won't work in the new runtime – the current layer ecosystem will need to split into Amazon Linux 1 (old) and Amazon Linux 2 (new) compatible layers.
7. This new minimal base OS raises a bunch of questions about packaging best practices. Like this tutorial on creating custom runtimes *would not work as is* on the new Lambda base: docs.aws.amazon.com/lambda/latest/… – because there's no `curl`! You'd have to figure out how to bundle it.
8. The new base OS is 800MB smaller than the old base, which is great for cold starts, but also potentially 800MB of dependencies that you now need to bundle yourself if you were relying on them. We're gonna need bigger package limits! #awswishlist
9. Going forward I foresee a much greater need for Lambda Layers. Watch github.com/mthenw/awesome… Expect to see an explosion of layers (essentially one per yum package?) With the ability to squash them. Time for a new tool perhaps (I'm working on it!) Fin ✌️
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Michael Hart
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!