TECH 으로 돌아가기
TECH HACKER NEWS 오늘 7분 읽기 26 READS

Netlify 엣지 함수, V8 아이솔레이트에서 Firecracker 마이크로VM으로 옮기고 5배 빨라졌다

Netlify 엣지 함수, V8 아이솔레이트에서 Firecracker 마이크로VM으로 옮기고 5배 빨라졌다
SOURCE IMAGE · HACKER NEWS
Netlify 엣지 함수, V8 아이솔레이트에서 Firecracker 마이크로VM으로 옮기고 5배 빨라졌다

엣지 함수의 '기본값'이 흔들리고 있어요

몇 년 전만 해도 '엣지 컴퓨팅' 하면 거의 공식처럼 따라붙는 기술이 있었어요. 바로 V8 아이솔레이트(isolate)예요. Cloudflare Workers가 이 방식으로 유명해졌고, Netlify도 2022년에 Edge Functions를 출시하면서 Deno 기반, 즉 V8 아이솔레이트 위에서 코드를 실행하는 구조를 택했어요.

그런데 Netlify가 이번에 Edge Functions의 실행 기반을 V8 아이솔레이트에서 Firecracker 마이크로VM으로 옮겼다고 발표했어요. 그 결과 엣지 함수가 5배 빨라졌다고 해요. 가볍고 빠른 게 장점이던 아이솔레이트를 두고 굳이 '가상 머신'으로 간다니 처음엔 좀 의아하죠? 이 전환이 무슨 의미인지 하나씩 풀어볼게요.

V8 아이솔레이트와 마이크로VM, 뭐가 다를까요

먼저 V8 아이솔레이트부터 볼게요. V8은 크롬과 Node.js에 들어 있는 자바스크립트 엔진이에요. 아이솔레이트는 이 엔진 안에서 서로 완전히 분리된 작은 실행 공간이고요. 쉽게 말해 큰 아파트 건물(프로세스) 하나에 여러 세대(아이솔레이트)가 벽을 사이에 두고 따로 사는 구조예요. 새 세대가 입주하는 속도가 엄청 빨라서, 콜드 스타트(첫 요청이 들어올 때 실행 환경을 새로 띄우는 데 걸리는 시간)가 수 밀리초 수준이에요. 메모리도 적게 쓰고요.

대신 제약이 있어요. 자바스크립트와 웹어셈블리 중심 환경이라 네이티브 바이너리나 일부 Node.js API를 그대로 쓰기 어렵고, 플랫폼이 걸어둔 CPU 시간이나 메모리 제한도 빡빡한 편이에요. '쓰려던 npm 패키지가 엣지에서는 안 돌아간다'는 불만이 계속 나왔던 이유예요.

Firecracker는 AWS가 만든 오픈소스 가상 머신 모니터(VMM)예요. Rust로 작성됐고, AWS Lambda와 Fargate의 기반 기술이에요. 일반 VM이 '단독 주택'이라면 Firecracker 마이크로VM은 꼭 필요한 설비만 남긴 '조립식 원룸'이에요. 불필요한 가상 장치를 모두 걷어내서 매우 빠르게 부팅되고(공식 목표는 125ms 이하예요), 리눅스 커널 단위로 격리되기 때문에 보안 경계도 아이솔레이트보다 훨씬 단단해요.

어떻게 VM이 더 빠를 수 있을까?

'VM이 아이솔레이트보다 빠르다'는 말은 직관에 어긋나 보이지만, 여기서 말하는 속도는 실행 환경을 띄우는 속도만 뜻하는 게 아니에요. 정확한 측정 조건과 원인은 Netlify 원문을 확인하는 게 가장 확실해요. 다만 이런 전환에서 일반적으로 성능이 좋아질 수 있는 지점은 이런 것들이에요.

마무리

한 줄 정리: 가볍지만 제약이 많은 V8 아이솔레이트에서 빠르면서도 진짜 리눅스 환경인 Firecracker 마이크로VM으로, 엣지 컴퓨팅의 기본값이 바뀌고 있어요.

여러분은 엣지 함수를 쓰다가 런타임 제약 때문에 막혔던 경험이 있으신가요? 콜드 스타트와 호환성 중 하나만 골라야 한다면 어느 쪽을 택하시겠어요?


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://www.netlify.com/blog/edge-functions-firecracker-micr...
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...