Netlify, V8 isolate를 Firecracker MicroVM으로 교체해 Edge Functions 속도 5배 향상
5x faster Edge Functions: V8 isolates to Firecracker MicroVMs

Netlify가 Edge Functions 실행 환경을 V8 isolate에서 Firecracker MicroVM으로 전환했다. 자체 엣지 네트워크 안에서 MicroVM을 직접 운영해 중간값 지연 시간이 25~40ms에서 5~6ms로 줄었고, p99 기준 47.4% 빨라졌다. 콜드 스타트는 전체 호출의 1.2%에서만 발생하며 평균 9ms다. 코드 작성 방식은 그대로 유지되면서 보안 격리와 안정성도 개선됐다.
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 제품들의 기반입니다(이번 것이 그 목록에 가장 최근에 추가된 항목이죠).