Persistent, autoscaled machines

Pay for the CPU, RAM, and disk your machines use at any point in time.

Adolph Menzel, The Iron Rolling Mill, 1875. Public domain.
bare metal dev-01
0.26 / 64 vCPU load 0.01 0.01 0.01
avg $0.000000/s over the last 30s
$0.000000 your bill so far

Adolph Menzel, The Iron Rolling Mill, 1875. Public domain.

SDK

Idiomatic bindings for your language.

TypeScript Python Elixir Rust Wasm

Boot, exec, and converge machines from your own code. The TypeScript package is web compatible: its wasm build runs in the browser, no server in between. Start with the docs, or see it drive a UI from the browser.

bun add @indexable/sdk
# node 22+ and bun
# wasm build included: runs in the browser too

Pricing

An idle machine costs about 14 cents a day.

Metered each second on what the machine uses, not what it could.

$0.000008 per vCPU-second
$0.000003 per GiB-second, memory
$0.000002 per TiB-second, disk
14¢/day $0.00000158/s · metered each second on use

Underneath

Real bare metal.

Each machine is a VM on dedicated AMD EPYC hosts, with no cloud layer underneath. 25 Gbps public and 50 Gbps internal networking, IPv6 + IPv4.

dev-02
on main bare metal · 41d up
lscpu
Architecture: x86_64
Model name: AMD EPYC (Zen 5)
CPU(s): 64
Thread(s) per core: 2
L3 cache: 256 MiB

Declarative

The whole machine, declared.

The machine is code.
ix apply steps it from one declared state to the next, in place, data intact.

1// JavaScript syntax, Nix semantics.
2// `ix apply` converges the machine to this file.
3export default ({ index }) => ({
4 packages: [index.rustc, index.cargo, index.rg],
5 services: {
6 postgres: { enable: true },
7 redis: { enable: true },
8 },
9 modules: [import("./modules/web.ix")],
10});
1# generated from default.ix by `ix apply`; do not edit.
2{
3 inputs.index.url = "github:indexable-inc/index";
4 outputs = { index, ... }: {
5 nixosConfigurations.dev =
6 index.lib.fromIx ./default.ix;
7 };
8}