Netlify、Edge Functionsを5倍高速化——V8 isolateをFirecracker MicroVMに置き換え
5x faster Edge Functions: V8 isolates to Firecracker MicroVMs

Netlifyは毎日約10億回実行されるEdge Functionsの基盤を、V8 isolateから自社エッジネットワーク内のFirecracker MicroVMへ移行した。中央値のレイテンシは25〜40msから約5〜6msへと5倍高速化し、p99も47.4%改善。可用性99.998%を達成し、セキュリティと信頼性も向上。書き方や使い方は変わらず、価格もそのまま。npmパッケージの正式サポートや制限緩和への道も開く。
V8 isolateは、その名前が何であれ、このレベルの分離を提供しない。
HNでの議論
49- Normal_gaussian
SlicerVMをかなりヘビーに使っている。これは一般の人向け(そして自社プラットフォームを提供しているような普通じゃない人向け)のFirecracker MicroVMで、ローカルで「エッジ」的なワークロードを安全に動かすのに使っている。エージェント、ローカル開発用CIなどなど。これは自分のproxmox VMオーケストレーターにすんなり収まって置き換わり、今ではどこへ行ってもラップトップ上で安全で高速なVMが手に入る。コンテナからのセキュリティ強化を狙っているなら、Dockerfileスタイルのビルドもサポートしている(エージェントを使っているなら、まあやるべきだ)。
正直なところ、FirecrackerがDockerを置き換える日は近いと思うが、ほとんどのエッジ関数実行でFirecrackerがv8 isolateを置き換えるとは思えない。第一に、この記事のシナリオは少し特殊で、彼らは他人のisolateを使っていた——だから余分なホップがいくつか増える。第二に、JS/TSを動かすisolateは静的解析がかなりよく効くし、スケールさせたときに歴史的に問題やエクスプロイトを探すという観点でも、多くのエッジコンピュートのシナリオではこれがかなり望ましい。MicroVMはずっと柔軟性が高いので、同じメリットを得るには利用可能なものを本当に厳しくロックダウンしなければならない——中規模企業にとってのトレードオフはisolateに有利に見える。もちろんNetlifyは十分すぎるほど大きく、これに大きく依存しているので、彼らに有利に傾いているのは明らかだ。
- nderjung
UnikraftのAlexです!マイクロVMの部分について、我々の側からどんな質問にも喜んで答えます。
興味があれば、技術的な記事もいくつか書いています:
- https://unikraft.com/blog/netlify-edge-functions
- https://unikraft.com/customer-stories/edge-functions-netlify
- nchmy
Cloudflare Workersもv8 isolateで、Netlifyが自社のisolateは25〜40msかかったと言っているよりはるかに速く動いていることを考えると、これを理解するのも信じるのも難しい……
- yencabulator
> 以前は、リクエストはホストされた実行サービスへ送られていた。今日では、それらは自社のエッジネットワーク内のMicroVM上で動いている——中央値でおよそ5倍高速だ。
つまり、我々が知る限り実行自体は今や遅くなっているかもしれず、単にネットワークの一部を排除しただけなのでは?誤解を招く。
- jedberg
次にAWSを呪いたくなったときは、彼らがFirecrackerをくれたことを思い出してほしい。これは世に出ている最高のマイクロVM技術の一つで、少なくともいくつかの非AWS製品の基盤になっている(今回のはそのリストへの最新の追加だ)。