
Sessenta contêineres em um servidor
Uma caixa bare-metal executa dezenas a centenas de contêineres Hoody. KSM e BTRFS dedup fazem o custo marginal próximo a zero.
Um snapshot congela um contêiner em execução — sistema de arquivos, processos, memória, descritores de arquivo abertos. Restaure em 5–15 segundos. Bifurque em um contêiner separado com um POST. Branching, mas para a máquina inteira.
Cada commit é um computador inteiro · hashes são IDs de contêiner · branches são forks de todo o estado da máquina
Dois modos, decididos pelo estado do contêiner no momento do snapshot. Stateful captura tudo; stateless é apenas sistema de arquivos.
Snapshots são pontos de alias nomeados. /copy gira um contêiner separado a partir de qualquer um deles — mesmos dados, linha do tempo divergente.
# 1) Marque o ponto de ramificação.
curl -X POST "https://api.hoody.com/api/v1/containers/$CID/snapshots" \
-H "Authorization: Bearer $HOODY_TOKEN" \
-d '["alias": "pre-migration", "expiry": 30]'
# 2) Restaure no local — reverta este contêiner para o snapshot.
curl -X PATCH "https://api.hoody.com/api/v1/containers/$CID/snapshots/pre-migration" \
-H "Authorization: Bearer $HOODY_TOKEN"
# 3) Ramifique — gire um contêiner SEPARADO do mesmo 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":"pre-migration"]'Restaurar reverte no local. Copiar cria um contêiner independente que vive por conta própria — ID diferente, linha do tempo diferente, seu original continua em execução. De qualquer forma, é limitado; o armazenamento é incremental, então é barato.
Três fluxos de trabalho que eram impraticáveis com snapshots de VM e impossíveis com docker commit.
Gire N contêineres do mesmo snapshot via /copy — tente três estratégias de migração em paralelo, mantenha o vencedor.
POST um snapshot antes de qualquer mudança destrutiva. A restauração de sete segundos é seu botão de desfazer para a máquina inteira.
Aliases são pontos de ramificação nomeados. snapshot_count está na API de contêiner. O armazenamento é incremental, então é barato manter dezenas.
Se você recorrer a qualquer um destes para recuperar de uma mudança ruim, o modelo de snapshot está fazendo o mesmo trabalho em 5–15 segundos com uma chamada HTTP.
Git lhe deu ramificação para código. Hoody te dá ramificação para computadores inteiros.