Week 17 - 2019
The weeknote for 4/22 - 4/28. You can edit this page (on github) if you find any error.
This week I first realized Now 2 was released last year and it's very different
from now 1. I built the hobby web services
🌱 buttons in Now 1 infrastructure,
and I started considering migrating it to Now 2. Now 1 was just a container
abstraction. So I was able to write simple express app in it and that was easy.
But Now 2 isn't based on containers, but it based on AWS Lambdas. I actually
didn't look into it deeply, because its usage seems very limited because of ENI
Cold Start problem. Lambda starts very slowly when it needs ENI to access VPC.
It's simply caused by the fact that ENI needs about 10 seconds to be created.
Because of this slow cold start problem, Lambda is unusable when it connects to
VPC (this is most use cases) and also it is required to respond in a small
latecy, like 1 second. This means we can't use lambdas for Web APIs because 10
seconds latency is totally unacceptable. So when I first heard that now switch
to lambdas, I was very skeptical about thier decision, and simply didn't
understand it. After searching a while I found an answer, or a clue of the
answer. In re:invent session last year, a guy in AWS seems to have announced
that they're going to address the ENI Cold Start issue in 2019! If that's true,
the lambda finally becomes what they described themselves at first. With this
information, now the switch of Now from v1 to v2 makes sense, and I decided to
migrate my service's backend APIs to now 2 and serverless architecture,
switching from express to micro.
Looks like @awscloud has some ideas to fix #Lambda cold starts in a #VPC. 🙌 Coming in 2019! #serverless #reInvent pic.twitter.com/9wPys1Jf6x— Jeremy Daly (@jeremy_daly) November 29, 2018
- Joined Rust LT in Leverages Co., Ltd. The new book of Rust in Japanese was announced there.
See any mistakes? Please fix!