Microsandbox

0.1초 안에 뜨는 지역 마이크로VM 런타임

curl -fsSL https://install.microsandbox.dev | sh

신뢰할 수 없는 작업을 빠른 지역 마이크로VM 안에서 돌립니다. 에이전트와 사용자 코드, 플러그인, 지속 통합 작업, 개발 환경, 수집기가 대상입니다. 컨테이너가 아니라 하드웨어 수준 격리를 쓰면서도 평균 부팅 시간이 0.1초 미만이라고 밝힙니다. 표준 컨테이너 이미지를 그대로 받아 도커와 비슷한 방식으로 이미지와 명령, 셸, 볼륨을 다룹니다. 서버를 세우거나 상주 프로세스를 띄울 필요 없이 코드 안에서 가상 머신을 만듭니다. 비밀값은 가상 머신 안으로 들어가지 않는 방식으로 주입됩니다. 분리 모드로 오래 도는 세션도 지원하고 리눅스와 맥, 윈도우에서 모두 돕니다.

판단

이럴 때 씁니다

  • 신뢰할 수 없는 코드를 돌려야 할 때
  • 컨테이너보다 강한 격리가 필요할 때
  • 코드 안에서 가상 머신을 만들어야 할 때

이럴 땐 쓰지 마세요

  • 가상화를 못 쓰는 환경에서는 안 돕니다
  • 판이 0.6 대라 규격이 바뀝니다
  • 단순한 명령 실행에는 과합니다

차별점

  • 컨테이너가 아니라 하드웨어 수준 격리를 씁니다.
  • 부팅이 0.1초 미만이라고 밝힙니다.
  • 표준 컨테이너 이미지를 그대로 받습니다.
  • 서버나 상주 프로세스 없이 코드 안에서 가상 머신을 만듭니다.

워크플로

  1. 01명령줄 도구나 SDK 를 깝니다.
  2. 02표준 컨테이너 이미지를 고릅니다.
  3. 03마이크로VM 을 띄웁니다.
  4. 04명령과 볼륨을 도커처럼 다룹니다.
  5. 05필요하면 분리 모드로 오래 둡니다.

주요 명령

명령설명
curl -fsSL https://install.microsandbox.dev | sh맥과 리눅스에 명령줄 도구를 깝니다.
npx microsandbox run debian한 줄로 마이크로VM 을 띄웁니다.
npm i microsandbox코드 안에서 가상 머신을 만들 때 씁니다. 다른 언어 SDK 도 있습니다.

함정

설치 전에 확인하세요

  • 하드웨어 가상화를 씁니다. 중첩 가상화가 막힌 환경에서는 동작하지 않습니다.
  • 부팅 시간 수치는 저장소가 밝힌 평균입니다. 이미지 크기에 따라 달라집니다.
  • 비밀값은 가상 머신 안으로 들어가지 않는 방식으로 주입됩니다. 안에서 읽을 것을 기대하면 안 됩니다.
  • 판이 0.6 대입니다. SDK 규격이 바뀔 수 있습니다.

비교

컨테이너는 빠르지만 커널을 공유합니다. 가상 머신은 격리가 확실하지만 느립니다. 이쪽은 마이크로VM 으로 그 사이를 좁혔고 도커와 비슷한 사용법을 유지합니다. 대신 가상화가 가능한 환경이어야 합니다.

최근 변경

최근 판은 문서 동기화와 문체 정리, 오타와 문법 수정이 주를 이룹니다. 기능 변경보다 문서 품질을 다듬은 판입니다.