「VMって起動が遅くて使えない」と思っていませんか?
その常識、今日で終わりにしましょう。
0.2秒でVMが起動する——そんなツールが登場しました。その名も Small VM。
Dockerのような手軽さを持ちながら、ハードウェアレベルのセキュリティ分離を実現するまったく新しいアプローチです。
AIエージェント時代の実行環境として、すでにスタートアップが採用を始めており、Hacker Newsでは483ポイントを獲得するほど注目を集めています。
この記事ではSmall VMの背景・機能・競合比較・活用シナリオを徹底解説します。読み終えたとき、あなたのインフラ選択肢が確実に広がっているはずです。💡
Dockerはカーネルを共有する設計です。コンテナ同士は名前空間(Namespace)で分離されているだけで、カーネルそのものは全コンテナが共用しています。
カーネルに脆弱性が1つ見つかれば、そのホスト上の全コンテナが影響を受けます。
セキュリティが厳しい金融・医療・SaaSマルチテナント環境では、これが大きな問題になります。
かといって従来のVM(QEMUなど)は起動に15〜30秒かかることもあり、CI/CDやサーバーレスには不向きでした。
この「速さ vs 安全性」のトレードオフを打ち破るために生まれたのが、Small VMです。⚡
Small VMの作者はもともとAWSでFirecrackerを開発していたエンジニアです。FirecrackerはAWS LambdaやFargateを支えるMicroVMで、高速起動が特徴ですがLinux専用設計のためmacOSでは動作しないという大きな制限がありました。
Macユーザーが多い開発現場では「使いたくても使えない」ツールだったのです。
そこで作者はFirecrackerの良いところを引き継ぎながら、Linux・macOS両対応の軽量VMとして Small VMを開発しました。
Linuxカーネルは1990年代から存在します。ハードウェアはこの30年で1000倍以上高速化したにもかかわらず、起動時間はほとんど変わっていませんでした。起動処理に不要なモジュールが積み重なり続けたからです。
Small VMはこの問題を独自フォークのカーネルで解決しました。不要なモジュールを徹底的に削除した結果、起動時間は200ms未満を実現。これはDockerコンテナ(約100ms)に迫る速さです。
Small VMはネットワークがデフォルトでオフになっています。悪意あるコードが外部に情報を送信できない設計です。
--allow-host オプションで特定ホストのみ許可(例:コンテナレジストリのみ)packコマンドを使うと、自己完結型のシングルバイナリを作成できます。たとえばPython 3.12の実行環境を1つのバイナリに固めると、仮想環境・Docker・ランタイム一切不要で動作します。
「私の環境では動いたのに」——あの呪いの言葉とお別れできます。🎉
作者はこれをElectronに例えています。起動は200ms未満で体感はほぼ瞬時です。
create / start / stopコマンドでVMを管理でき、再起動してもインストールしたパッケージが保持されます。Dockerの使い捨てコンテナとは根本的に異なります。
--agentオプションでホストのSSHエージェントをVMに転送できます。VM内からプライベートリポジトリへgit cloneできますが、秘密鍵そのものはVMの中に入りません。ハイパーバイザーが代理認証を行うからです。
鍵を使えるのに、鍵は渡さない。🔐 セキュリティと利便性の両立です。
| ツール | 起動時間 | macOS対応 | セキュリティ | 特記事項 |
|---|---|---|---|---|
| Docker | 約100ms | ✅ | カーネル共有(脆弱) | 最も普及しているが分離が弱い |
| Firecracker | 125ms以下 | ❌ | VM分離 | Linux専用、macOS不可 |
| OrbStack | 高速 | ✅ | VM共有(干渉リスクあり) | VM1つを全コンテナで共有 |
| Small VM | 200ms未満 | ✅ | ワークロードごとに独立VM | 最高水準の分離×速度 |
DockerHubやGitHub Container Registryの既存イメージをそのまま起動できます。Dockerfileを書き直す必要はありません。移行コストが極めて低いのは大きなメリットです。
Small VMはVMをライブラリとして自分のアプリケーションに組み込めます。DockerもFirecrackerもデーモンやCLIツール形態であり、ライブラリとして組み込めるのはSmall VM独自の強みです。
Claude CodeやOpenAI Codexのような自律型AIエージェントは、コードを生成して実際に実行します。もしAIが暴走してホストのファイルを削除したら——これは現実のリスクとして存在しています。
Small VMならAIをVM内に完全に閉じ込め、ハイパーバイザーが境界を強制します。AIに安心してコードを任せられる実行環境です。
作者自身が「AIコーディングツールはSmall VMでデフォルト出荷すべき」と主張しています。
注目すべきは、Small VM自体のコードの約半分がAI支援で書かれたという事実。まさに「AIで作られたAI用のVM」という象徴的な存在です。🤯
Small VMを活用するうえで理解を深めたい技術領域——仮想化・コンテナ・Linuxカーネル・セキュリティ——に関連する書籍とガジェットをご紹介します。📖
特にSmall VMはRustで書かれているため、Rustの基礎知識があればコントリビュートのハードルも下がります。オープンソースへの参加という観点でも、今がチャンスです。💪
現時点では完全な代替ではありません。DockerはエコシステムやCI/CD連携が充実しており、カーネル共有でも問題ないユースケースでは引き続き最適です。Small VMはセキュリティが重要な場面や、AIエージェントのサンドボックスとして特に力を発揮します。両者を使い分けるアプローチが現実的です。
はい、macOS・Linux両対応です。Firecrackerが苦手としていたmacOS環境をカバーしているのはSmall VMの大きな差別化ポイントです。インストールはcurlコマンド1行で完了します。
現時点では未対応です。ただしロードマップには入っており、WSL2(Windows Subsystem for Linux)環境での動作形式が検討されています。作者自身が10年以上Windowsを使っておらず、オープンソースのコントリビューターを募集中とのことです。
Small VMをインストール後、smallvm helpコマンドを実行すると利用可能な全コマンドが一覧表示されます。この設計はAIエージェントが自動発見できるように意図されており、エージェントが人間の介入なしにVMを作成・実行・廃棄できます。
Small VMはオープンソースプロジェクトです。現時点ではオープンソースとして公開されており、基本的な利用は無料です。商用利用の詳細はリポジトリのライセンス条項をご確認ください。
コンテナとVMの境界を塗り替える可能性を秘めたSmall VM。まだ発展途上ながらも、Hacker Newsで483ポイントを集めた注目度は本物です。
curlコマンド1行でインストールできるので、ぜひ今日から手元で試してみてください。🚀