Zum Inhalt springen
TypNeue Primitive
PhaseProduktion
SchwierigkeitEinfach
AufgabeBranch-Umgebung
FürBackend-Devs
FürDevOps & Infra
FürKI-Builder
ServicesSnapshots
ServicesContainers
Warum HoodySnapshot-Zeitreisen
Warum HoodyContainer-Ökonomie
Warum HoodyBare-Metal-Isolierung
TypNeue Primitive
PhaseProduktion
SchwierigkeitEinfach
AufgabeBranch-Umgebung
FürBackend-Devs
FürDevOps & Infra
FürKI-Builder
ServicesSnapshots
ServicesContainers
Warum HoodySnapshot-Zeitreisen
Warum HoodyContainer-Ökonomie
Warum HoodyBare-Metal-Isolierung
TypNeue Primitive
PhaseProduktion
SchwierigkeitEinfach
AufgabeBranch-Umgebung
FürBackend-Devs
FürDevOps & Infra
FürKI-Builder
ServicesSnapshots
ServicesContainers
Warum HoodySnapshot-Zeitreisen
Warum HoodyContainer-Ökonomie
Warum HoodyBare-Metal-Isolierung
TypNeue Primitive
PhaseProduktion
SchwierigkeitEinfach
AufgabeBranch-Umgebung
FürBackend-Devs
FürDevOps & Infra
FürKI-Builder
ServicesSnapshots
ServicesContainers
Warum HoodySnapshot-Zeitreisen
Warum HoodyContainer-Ökonomie
Warum HoodyBare-Metal-Isolierung
SNAPSHOTS · BUILD-UMGEBUNGEN

Branche Computer wie Git Code brancht

Ein Snapshot friert einen laufenden Container ein – Dateisystem, Prozesse, Speicher, offene Dateideskriptoren. Restore in 5–15 Sekunden. Fork in einen separaten Container mit einem POST. Branching, aber für die ganze Maschine.

Was tatsächlich erfasst wird

Zwei Modi, entschieden durch den Zustand des Containers zum Snapshot-Zeitpunkt. Stateful erfasst alles; stateless nur das Dateisystem.

WENN LAUFENDerstellen 1–5 s · wiederherstellen 5–15 s

Stateful — laufender Container

  • Dateisystem (CoW Delta)BTRFS Reflinks; spätere Snapshots speichern nur geänderte Blöcke.
  • ProzessbaumLangzeitdaemone setzen mitten in der Ausführung fort, nicht vom Boot.
  • SpeicherzustandHeap, Stack, mmaps. ~4 GB zusätzlicher Speicher für den RAM-Dump.
  • Offene DateideskriptorenLokale Sockets und FDs bleiben erhalten; Remote-Peers nicht.
  • Terminal-ScrollbackLive tmux/screen-Sessions setzen mitten in der Zeile fort.
WENN GESTOPPTerstellen 1–5 s · Kaltstart 5–15 s

Stateless — gestoppter Container

  • Dateisystem (CoW Delta)Gleiches inkrementelles Speichermodell wie Stateful.
  • ProzessbaumContainer startet frisch vom erfassten Dateisystem.
  • SpeicherzustandKein RAM wird geliefert — spart Speicher und Zeit.
  • Offene DateideskriptorenErneut geöffnet durch die neuen Prozesse beim Kaltstart.
  • DatenbankdateienPostgres / SQLite erholen sich vom erfassten WAL.

Branching ist ein HTTP-Aufruf

Snapshots sind benannte Alias-Punkte. /copy startet einen separaten Container von einem beliebigen Snapshot — gleiche Daten, abweichende Timeline.

iterm
# 1) Mark the branch point. The response carries the snapshot's auto-name.
curl -X POST "https://api.hoody.com/api/v1/containers/$CID/snapshots" \
  -H "Authorization: Bearer $HOODY_TOKEN" \
  -d '{"alias": "pre-migration", "expiry": 30}'
# → { "name": "snap-20260504-040255", ... }

# 2) Restore in place — PATCH the snapshot NAME (not the alias).
curl -X PATCH "https://api.hoody.com/api/v1/containers/$CID/snapshots/snap-20260504-040255" \
  -H "Authorization: Bearer $HOODY_TOKEN"

# 3) Fork — spawn a SEPARATE container from the same snapshot.
curl -X POST "https://api.hoody.com/api/v1/containers/$CID/copy" \
  -H "Authorization: Bearer $HOODY_TOKEN" \
  -d '{"target_project_id":"prod","name":"experiment-a","source_snapshot":"snap-20260504-040255"}'

Restore macht die Änderungen rückgängig. Copy erstellt einen unabhängigen Container, der sein eigenes Leben lebt — unterschiedliche ID, unterschiedliche Timeline, dein Original läuft weiter. Egal wie — der Speicher ist inkrementell, also günstig.

Restore FlowRestore-Fenster · 5 bis 15 Sekunden
0110:00Snapshot genommen
0210:14Migration explodiert
0310:14:08Wiederhergestellt

Was das Branch-Modell freischaltet

Drei Workflows, die mit VM-Snapshots unpraktisch und mit docker commit unmöglich waren.

  1. 01

    Parallele Experimente

    Spawne N Container aus dem gleichen Snapshot via /copy — versuche drei Migrationsstrategien parallel, behalte den Gewinner.

  2. 02

    Pre-Flight für jeden riskanten Deploy

    POSTe einen Snapshot vor jeder destruktiven Änderung. Der Sieben-Sekunden-Restore ist dein Undo-Button für die ganze Maschine.

  3. 03

    Dauerhafte Timeline

    Aliases sind benannte Branch-Punkte. snapshot_count steht in der Container-API. Storage ist inkrementell, also günstig genug für Dutzende.

Was dies ersetzt

Wenn du zu einem dieser greifst, um dich von einer schlechten Änderung zu erholen, erledigt das Snapshot-Modell die gleiche Aufgabe in 5–15 Sekunden mit einem HTTP-Aufruf.

  • VM-SnapshotsMinuten zum Erstellen, GB Speicher pro Snapshot
  • VagrantLokale Boxen, kein gemeinsamer Zustand, keine Remote-Wiederherstellung
  • Docker CommitNur Dateisystem, keine Prozesse / kein Speicher
  • Manuelle BackupsRsync + eine Wiki-Seite, die niemand liest
  • pg_dump-ZyklenNur Datenbank, hinterlässt den Rest der Box im Zustand mittel-schlecht
  • Alles von vorne neu aufbauen30+ Minuten, bricht deine Editor-Session

Git gab dir Branching für Code. Hoody gibt dir Branching für ganze Computer.

Snapshot-API lesen

Lies die anderen