5배 빨라진 Edge Functions: V8 아이솔레이트에서 Firecracker MicroVM으로 전환

3 hours ago 1

Netlify가 외부 호스팅 실행 서비스 대신 자체 엣지 네트워크의 Firecracker MicroVM에서 Edge Functions를 실행하도록 인프라를 재구축함 웜 호출의 중앙값 지연 시간이 25~40ms에서 약 5~6ms로 감소했으며, p99 호출은 47.4% 빨라지고 가용성은 99.998%를 기록함 코드나 환경 변수가 다른 배포는 서로 다른 MicroVM으로 격리해, V8 아이솔레이트보다 강한 격리 경계를 제공함 랑데부 해싱과 스냅샷 복원으로 웜 실행과 빠른 재시작을 지원하며, 특정 서비스의 트래픽이 임계값을 넘으면 여러 노드로 분산해 과부하를 방지함 새 인프라는 이미 동일한 요금으로 프로덕션 트래픽을 처리하고 있으며, 기존 코드나 개발 방식 변경 및 별도 마이그레이션이 필요 없음 하루 약 10억 건을 처리하는 실행 인프라 전환 Netlify에서는 매일 약 10억 건의 Edge Functions가 실행됨 Sunweb의 페이지 개인화, Loto-Québec의 쿠키 검사 기반 라우팅을 비롯해 수십만 사이트가 개인화, 라우팅, 인증 등에 사용함 고객 트래픽에 맞춰 확장되는 완전한 JavaScript 런타임에서 실행됨 초당 수만 건에서 때로는 수십만 건의 함수를 실행하려면 요청 처리, 라우팅, 컴퓨팅 용량 할당, 플랫폼 및 고객 코드 시작을 밀리초 안에 수행해야 함 Netlify는 수개월간 Unikraft와 협력해 외부 호스팅 실행 서비스에서 자체 네트워크 내 MicroVM으로 전환함 Unikraft도 협업 경험을 공개함 전환으로 지연 시간뿐 아니라 보안과 신뢰성을 개선하고, 엣지에서 더 복잡한 연산을 실행할 기반을 마련함 호출 지연 시간과 가용성 Edge Function은 사이트 앞단에서 일치하는 모든 요청에 실행되므로, 함수 실행 시간은 사용자의 대기 시간에 직접 반영됨 컴퓨트 노드로의 라우팅부터 MicroVM 진입, 함수 실행, 응답 헤더 생성까지 포함한 웜 호출의 측정치는 다음과 같음 중앙값인 p50은 약 5~6ms로, 기존 25~40ms에서 줄어듦 p99 호출은 47.4% 빨라짐 가용성은 99.998%를 기록함 Edge Function 로그 전달은 5배 빨라짐 해당 리전의 어느 컴퓨트 노드도 아직 처리하지 않은 함수 요청은 실행에 필요한 이미지를 먼저 가져와야 함 이러한 콜드 호출은 전체의 약 1.2% 이며, 평균 약 9ms가 걸림 엣지 진입과 실행 명세, 배포 격리 요청은 클라이언트와 가장 가까운 N...

Read Entire Article