machine0: 透過 CLI 管理持久性 NixOS 與 Ubuntu VM

machine0 是一個雲端基礎設施平台,允許使用者完全透過命令列介面 (CLI) 部署與管理持久性的 NixOS 與 Ubuntu 虛擬機器 (VM)。該服務專為長時間運行的任務、可重複的開發環境,以及需要隔離憑證與專用資源的自主 AI Agent 所設計。

核心基礎設施與功能

machine0 利用真實的 KVM/QEMU 虛擬化技術來提供專用的 CPU 與 RAM,避免了共享環境的干擾 (noise)。該平台支援廣泛的資源配置與全球可用性。

硬體與擴展性

  • 運算選項: VM 尺寸從 small (1 vCPU, 1 GB RAM) 到 6xl (60 vCPU, 240 GB RAM) 不等。
  • GPU 加速: 提供可選的 GPU 支援,包含 H100, H200, L40S, 與 MI300X 硬體。
  • 全球佈署: 基礎設施佈署於四個區域:US, UK, EU, 與 Asia,並維持 99.99% 的可用性 SLA。

網路與連線

每台 VM 都會被分配一個公用靜態 IP 地址,以及對應的 HTTPS 端點 <vm>.mac0.io。這種架構消除了對 NAT 或隧道 (tunnels) 的需求,使其非常適合託管需要穩定網路地址的 Web 應用程式與資料庫。

部署與配置模型

使用者可以從兩種主要的 OS 環境中進行選擇,兩者皆是為了可重複性與自動化而設計。

NixOS with Flakes

對於需要確定性構建 (deterministic builds) 的使用者,machine0 支援 NixOS with Flakes。這允許將整個作業系統定義為程式碼,從而實現一鍵回滾 (rollbacks) 並消除配置漂移 (configuration drift)。

Ubuntu with Ansible

對於偏好標準 Linux 發行版的使用者,提供 Ubuntu 映像檔,並預裝了常見的開發者工具,包括 Docker, Node, Python, Claude Code, 與 Codex。 這些環境可以使用 Ansible 進行配置管理。

營運工作流與生命週期管理

所有 machine0 的操作都透過 CLI 執行,並提供可選的 --json 旗標以進行程式化整合。該平台還包含一個遠端 MCP server,允許 AI Agent 驅動基礎設施變更。

VM 生命週期指令

  • 配置 (Provisioning): 使用 machine0 new 指令建立新 VM,並指定映像檔與尺寸。
  • 配置 (Configuration): machine0 provision 指令會將 NixOS flake 配置應用於運行的 VM。
  • 狀態管理: 使用者可以執行 machine0 stop, machine0 suspend, 與 machine0 resume。掛起 (Suspending) VM 會凍結其狀態並停止運算計費,僅收取映像檔儲存費用。
  • 快照 (Snapshotting): machine0 image new 指令可從現有的 VM 建立「黃金映像檔 (golden images)」,隨後可用於啟動完全相同的克隆版本。

價格結構

machine0 採用按需計費 (pay-as-you-go) 模型,所有區域均按分鐘計費。

Size CPU RAM Disk Hourly Rate Approx. Monthly
small 1 vCPU 1 GB 25 GB $0.013 $9
medium 2 vCPU 2 GB 60 GB $0.034 $25
large 2 vCPU 4 GB 80 GB $0.825 $602
xl 4 vCPU 8 GB 160 GB $0.104 $76
xxl 8 vCPU 16 GB 320 GB $0.208 $152
xxxl 16 vCPU 64 GB 200 GB $0.825 $602
4xl 32 vCPU 128 GB 480 GB $1.980 $1,445
5xl 48 vCPU 192 GB 720 GB $2,168 $2.970
6xl 60 vCPU 240 GB 900 GB $3.714 $2,711

儲存成本: 當 VM 處於掛起狀態時,使用者需支付 $0.078/GB/month 的映像檔儲存費用。最低儲值金額為 $5,且未使用之餘額可退款。

社群洞察與使用案例

社群討論強調了該平台對於 AI 驅動開發的實用性,以及宣告式基礎設施的優勢。

AI Agent 整合

使用者回報使用 machine0 託管 OpenClaw 與 Hermes 等自主 Agent 的成功經驗,並將平台與 Claude Code 整合以實現快速環境設定。

宣告式基礎設施

技術討論強調了基於 Nix 的發行版對於 VM 的優越性。一位貢獻者指出不可變 OS 模式的價值:

"對於 VM 而言,特別是,我希望我的 OS 是不可變的。我的 VM 應該除了應用程式狀態之外,不包含任何其他狀態。升級應該是完整的映像檔替換與重啟。"

其他使用者也針對按分鐘計費週期中的 IPv4 地址持久性處理,以及在 VM 於 Nix flake 之外被手動修改時如何偵測狀態漂移等問題提出了疑問。

Sources