▲GN⁺ 2025-03-15 | parent | ★ favorite | on: TinyKVM - Varnish 위에서 실행되는 빠른 샌드박스(info.varnish-software.com)Hacker News 의견 이 내용을 정말 좋아함. 계속해서 지금 하고 있는 일을 멈추지 않았으면 좋겠음 IncludeOS의 주요 기여자라는 것을 알고 있었음. 이 블로그 글을 읽으면서 가장 먼저 떠오른 프로젝트였음 네트워크 기능 가상화에 오랫동안 집착해 왔음. 분산 시스템에서 작업 단위를 분리하는 가장 자연스러운 경계이며, 깔끔한 추상화와 효율적인 확장 메커니즘을 제공함 Varnish를 프로덕션에서 매우 만족스럽게 사용 중임. nginx보다도 더 신뢰할 수 있는 부분임. 보통은 존재조차 잊어버릴 정도임. 제대로 설정한 이후로는 버그의 원인이 된 적이 없음 Firecracker와 비슷하지만 훨씬 빠름 가장 마음에 드는 점은 VM의 상태를 미리 정의된 상태로 즉시 재설정할 수 있는 능력임. 실제로 재시작하지 않고 VM을 재시작하는 것과 같음 지속적으로 공격을 받는 네트워크 서비스에 이상적인 조치로 보임. 공격이 성공하더라도 다음 요청에서 결과가 지워짐 ML 모델 실행기와 같이 그 점을 염두에 두지 않고 작성된 프로그램에 대한 쉬운 COW 페이지 공유도 꽤 좋음 원본 게시물: 링크 이 주제와 관련된 게시물을 많이 찾을 수 있음 정말 흥미로움. 2.5us 스냅샷 복원 성능이 Wasmtime과 동등하지만 네이티브 코드를 실행할 수 있는 큰 장점이 있음. 다만, 훨씬 느리지만 여전히 마이크로초 단위의 상호 운용성을 가짐 tinykvm_examples 저장소에 이미 QuickJS 데모가 있지만, JIT 기능을 갖춘 JavaScript 런타임을 실행할 수 있는지 확인하면 훨씬 빠를 것임 React 앱을 서버 렌더링하는 실험에서 네이티브 QuickJS는 약 12-20ms, v8은 JIT 워밍업 후 2-4ms였음 더 공부해야겠지만, 샌드박스 내에서 실행되고 모든 HTTP 요청을 Varnish를 통해 처리하는 Deno 같은 단일 실행 파일을 만들고 싶음 지정된 JS URL을 가져온 후 스냅샷을 찍고 각 요청이 격리된 스냅샷에서 실행되도록 함 요청당 랜덤 시드를 재설정하는 메커니즘이 필요할 것임 기본적으로 libkrun과 같은 것 아닌가? 링크 이게 정확히 의도된 용도는 아니지만, X 서버(또는 Wayland)를 실행한 경험이 있는 사람 있나요? Mac에서 RDP 서버에 대해 개발 중이며, 가끔 클라이언트를 위해 다른 필요가 있음. 현재는 UTM(QEMU Mac 프론트엔드)과 DietPi(매우 간소화된 Debian) VM을 사용 중임 Docker에 익숙하지만, 그래픽 서버를 실행하기 위해 어떤 절차가 필요한지 잘 알고 있음. 더 간단한 방법이 있는지 궁금함 흥미롭지만 큰 그림을 이해하는 데 어려움을 겪고 있음. 커널 없이 VM에서 사용자 프로세스를 실행하는 것인가? 모든 시스템 호출이 VM 종료가 되어 호스트로 프록시되는 것인가? 아니면 시스템 호출이 없는 것인가? 사용 사례에 맞다면 정말 멋진 것임 게시물에서 몇 가지 노트 TinyKVM이 99.7% 네이티브 속도로 실행됨을 발견함 파일이나 네트워크 액세스가 필요하지 않고 정적이라면, 그냥 바로 실행될 수 있음 TinyKVM 게스트는 수정할 수 없는 작은 커널을 가짐 정말 멋짐 자체 호스팅 PaaS를 위해 마이크로-VM을 탐색 중이며, 오버헤드가 적은 것이 정말 흥미로운 옵션처럼 보임 기사에는 Varnish 위에서 실행된다는 내용이 없으며, 실제로 저자는 그것이 Varnish를 실행하기 위한 것이 아니라고 말함
Hacker News 의견
이 내용을 정말 좋아함. 계속해서 지금 하고 있는 일을 멈추지 않았으면 좋겠음
Firecracker와 비슷하지만 훨씬 빠름
원본 게시물: 링크
정말 흥미로움. 2.5us 스냅샷 복원 성능이 Wasmtime과 동등하지만 네이티브 코드를 실행할 수 있는 큰 장점이 있음. 다만, 훨씬 느리지만 여전히 마이크로초 단위의 상호 운용성을 가짐
기본적으로 libkrun과 같은 것 아닌가? 링크
이게 정확히 의도된 용도는 아니지만, X 서버(또는 Wayland)를 실행한 경험이 있는 사람 있나요?
흥미롭지만 큰 그림을 이해하는 데 어려움을 겪고 있음. 커널 없이 VM에서 사용자 프로세스를 실행하는 것인가? 모든 시스템 호출이 VM 종료가 되어 호스트로 프록시되는 것인가? 아니면 시스템 호출이 없는 것인가?
사용 사례에 맞다면 정말 멋진 것임
정말 멋짐
기사에는 Varnish 위에서 실행된다는 내용이 없으며, 실제로 저자는 그것이 Varnish를 실행하기 위한 것이 아니라고 말함