
Sesenta contenedores en un servidor
Un servidor bare-metal ejecuta decenas a cientos de contenedores Hoody. KSM y dedup BTRFS hacen que el costo marginal sea casi cero.
Un compañero da con un bug que no puedes reproducir. Sáltate el archivo. pg_dump en tu portátil fluye directo a su psql en staging — sin subida, sin enlace, sin descarga. El pipe encamina los bytes.
La API de Hoody Pipe mantiene un pipe no establecido hasta cinco minutos esperando que el otro lado se conecte. Cuando ambos os conectáis, los bytes fluyen. Nunca se escribe nada en disco en el servidor.
# from your dev laptoppg_dump --format=custom dev \ | curl -T - \ https://pipe.containers.hoody.com/api/v1/pipe/dev-snapshot[INFO] Waiting for 1 receiver to connect…[INFO] Streaming to 1 receiver…[INFO] Transfer complete.
PUT (o POST) con un cuerpo en streaming. El servidor imprime mensajes de estado de vuelta a tu terminal según se establece el pipe — útil para ver cuándo conectó realmente el otro lado.
# on their staging shellcurl https://pipe.containers.hoody.com/api/v1/pipe/dev-snapshot \ | pg_restore -d staging# rows imported · staging now matches dev
GET en la misma ruta se bloquea hasta que el emisor se conecta. Los bytes que escribe el emisor aparecen como cuerpo de la respuesta. Canaliza a pg_restore (o psql) y el dump aterriza directo en la base de datos — nunca un archivo.
Si quieres mirar el progreso sin consumir un slot de receptor, apunta un tercer curl a la misma ruta con ?progress y obtienes un dashboard HTML en vivo con bytes transferidos, velocidad y ETA.
Los cuatro movimientos para llevar una BD de dev al staging del compañero sin que nada toque disco en un servidor.
“¿me mandas tu bd de dev?”Ayer esto habría significado pg_dump, bucket S3, URL prefirmada y un pegado en Slack.
pg_dump dev | curl -T - …/pipe/dev-snapshotTu terminal imprime “Waiting for 1 receiver to connect…” y se queda ahí. Tampoco se crea un archivo localmente.
curl …/pipe/dev-snapshot | pg_restoreEl pipe se establece en cuanto se conecta. Los bytes empiezan a fluir desde tu pg_dump directo a su pg_restore.
Transferencia completa · 0 bytes en el servidorEl uso de disco del servidor sigue siendo cero. La ruta del pipe olvida que la transferencia ocurrió en cuanto ambos lados se desconectan.
Es el mismo número de comandos que teclearías para una ida y vuelta a S3 — menos el bucket, la credencial, la subida, la descarga y la limpieza.
Hoody Pipe es un intermediario en streaming, no un servicio de archivos. El dump existe en tu disco y en el suyo; entre medias, son solo bytes en vuelo. Nada que limpiar, nada que filtrarse.
No hay barra de progreso de subida que vigilar porque no hay subida. Un dump de 40 GB se mueve a la velocidad que tu red y el pg_restore del compañero puedan sostener — el pipe solo reenvía.
Abre la misma ruta con ?progress en una tercera URL y mira bytes-transferidos, velocidad y ETA en tiempo real. Hasta 50 espectadores por pipe, ninguno consume un slot de receptor.
El estado de una base de datos solía ser un adjunto. Ahora es una ruta.
Los archivos son estado en reposo. Las rutas son estado en movimiento. Hoody Pipe permite que un snapshot de base de datos sea lo segundo — direccionable, efímero y nunca aparcado en un servidor que tengas que limpiar después.
La mayoría de herramientas que usábamos para compartir una base de datos de dev son restos de cuando no podíamos transmitir bytes entre dos terminales por HTTP. El pipe las hace innecesarias.
Dos curls. Una ruta. Su staging coincide con tu dev.