Esta comparación se centra en backends nativos de Rust con autohospedaje: sh0.dev, TrailBase y Aurabase. Para un backend autohospedado más general, no escrito en Rust, nuestras comparaciones Aurabase vs PocketBase y Aurabase vs Appwrite exploran otras opciones. Para un análisis completo de lo que significa legalmente “soberanía de la UE”, alojamiento y nacionalidad del editor, nuestro artículo autohospedaje versus un BaaS soberano de la UE va más allá; Esta publicación se limita a colocar a Aurabase entre sus pares de Rust.
Lo esencial
- Tres opciones reales hoy en día para un backend nativo de Rust autohospedado: sh0.dev (binario único, ~25 MB), TrailBase (Rust + SQLite integrado + interfaz SolidJS), Aurabase (plataforma completa, Postgres 16 dedicado).
- Aurabase asume el compromiso opuesto de un monobinario: varios servicios orquestados (k3d localmente o Kubernetes/Helm en producción) a cambio de RLS multiinquilino, CDC en tiempo real e IA nativa (NL2SQL, RAG).
- El autohospedaje y la soberanía de la UE son dos ejes distintos: el alojamiento propio no garantiza nada mientras el servidor físico y la editorial no estén en la UE.
- Información sobre sh0.dev y TrailBase basada en sus páginas públicas al momento de escribir este artículo, no auditada exhaustivamente: verifique su documentación actualizada antes de tomar cualquier decisión.
Por qué es importante el “nativo de Rust” para el autohospedaje
Un backend autohospedado elimina la infraestructura del perímetro de un proveedor de nube, pero no la responsabilidad de ejecutarla de manera confiable. Aquí es donde la elección del lenguaje deja de ser un detalle: la seguridad de la memoria de Rust y la falta de recolector de basura reducen toda una clase de fallos de producción, aquellos que afectan más a un pequeño equipo que opera su propio servidor.
Este no es un argumento puro de desempeño. Un servicio que no tiene fallas de segmentación y que no tiene pausas de recopilación de memoria impredecibles es más fácil de monitorear para un equipo sin un SRE dedicado. La arquitectura real del núcleo de Aurabase, el espacio de trabajo Cargo de 18 cajas compiladas en conjunto, está documentada en detalle en nuestro archivo de arquitectura Rust.
El “código abierto” por sí solo no es suficiente para garantizar la portabilidad o la falta de bloqueo: la arquitectura real, ya sea de un solo inquilino o de múltiples inquilinos, del motor de almacenamiento propietario o estándar, es más importante. sh0.dev, TrailBase y Aurabase brindan acceso al código fuente, pero con alcances y modelos de datos muy diferentes.
sh0.dev: un binario Rust único, diseñado para el minimalismo
sh0.dev se presenta, según sus páginas públicas en el momento de escribir este artículo, como un backend distribuido en forma de un único binario Rust de alrededor de 25 MB. El argumento central es la sencillez de implementación: un archivo para copiar a un servidor, sin dependencias externas para instalar por separado.
No hemos auditado en detalle el alcance funcional exacto o el modelo de licencia de sh0.dev para este artículo: la información disponible públicamente sobre este tema sigue siendo limitada y un proyecto de este tipo evoluciona rápidamente. Si este criterio pesa en tu decisión, consulta su documentación oficial actualizada antes de decidirte.
TrailBase: núcleo Rust, SQLite integrado, interfaz SolidJS
TrailBase combina, según sus páginas públicas, un núcleo backend escrito en Rust, una base de datos SQLite integrada y una interfaz de administración construida con SolidJS, todo entregado como un proyecto de autohospedaje. La arquitectura recuerda a PocketBase (Go, SQLite, interfaz integrada), con un tiempo de ejecución escrito en Rust en lugar de Go.
Al igual que con sh0.dev, este artículo no pretende haber verificado minuciosamente el código o la hoja de ruta de TrailBase. Lo que podemos decir con confianza es el posicionamiento arquitectónico general: un binario que incorpora su propio motor de almacenamiento en lugar de un backend respaldado por un Postgres externo.
Aurabase: Postgres 16 dedicado, plataforma completa, también autohospedada
Aurabase asume una compensación diferente a la de un monobinario. El repositorio proporciona un clúster de Kubernetes local (k3d) iniciado con un comando a través de ./start.sh, así como un gráfico Helm completo (deploy/helm/aurabase/) con perfiles de valores separados para Hetzner, un banco de Kubernetes local (k3d) y Scaleway. El espacio de trabajo raíz de Cargo se publica bajo la licencia MIT.
Esta elección implica la organización de varios servicios: puerta de enlace, autenticación, base de datos, tiempo real, almacenamiento, funciones e inteligencia artificial, en lugar de un solo proceso. A cambio, cada proyecto recibe un PostgreSQL 16 dedicado (no un archivo SQLite compartido), con pgvector 0.8.6 y pg_graphql integrados en la imagen del inquilino, y aislamiento de seguridad de nivel de fila en el nivel del motor en lugar de en el nivel de la aplicación.
El único matiz notable del núcleo de Rust: el modo predeterminado para las funciones perimetrales se basa en un servicio TypeScript dedicado (V8 Isolates), un compromiso de ingeniería documentado en detalle en el archivo de arquitectura citado anteriormente, no una omisión que preferimos mantener en silencio.
Tres arquitecturas, resumidas una al lado de la otra
Las columnas sh0.dev y TrailBase marcadas como "para comprobar" reflejan una búsqueda no exhaustiva por nuestra parte de estas dos herramientas, no una ausencia confirmada de funcionalidad de ellas.
| Criterio | Aurabase | sh0.dev | Base de senderos |
|---|---|---|---|
| Idioma principal | Rust (espacio de trabajo completo, 18 cajas) | Rust (binario único) | Rust (núcleo) + SolidJS (interfaz) |
| Huella de implementación | k3d localmente o Helm/Kubernetes en producción, varios servicios | Binario único, ~25 MB | Un único SQLite binario integrado |
| Base de datos | PostgreSQL 16 dedicado por proyecto + pgvector + pg_graphql | Por verificar (documento oficial) | SQLite incorporado |
| Interfaz de administración | Estudio separado de Next.js | para comprobar | Interfaz SolidJS integrada en binario |
| IA nativa (NL2SQL/RAG) | Sí, código verificado (aura-ai) | para comprobar | para comprobar |
| Voz oficial en esta comparación. | Esta comparación, publicada por Aurabase | Ninguno, no solicitado | Ninguno, no solicitado |
Soberanía de la UE: que no depende de la elección del binario
El autohospedaje de un backend escrito en Rust, sea cual sea, no garantiza en sí mismo nada con respecto a la soberanía de la UE. Se deben cumplir dos condiciones distintas: el servidor físico debe ejecutarse en la Unión Europea y usted debe mantener el control operativo real del mismo. Ni sh0.dev, ni TrailBase, ni Aurabase pueden garantizarle la segunda condición: usted elige dónde implementar el binario o los contenedores.
La jurisdicción del editor del software también importa, pero en un eje diferente: la de una versión administrada por el proveedor en lugar de su propio alojamiento. Este es el ángulo de la Ley CLOUD que se detalla en nuestro artículo sobre eligiendo un BaaS. Para la infraestructura gestionada por Aurabase: se ejecuta, verificada en producción, en los centros de datos de Hetzner en Nuremberg y Falkenstein (Alemania), así como en Helsinki (Finlandia). Esta es la soberanía de la UE tal como existe actualmente, distinta de la sede de Aurabase SAS en París.
Detalles de los criterios de cumplimiento a verificar antes de elegir alojamiento, soberano o no: nuestra página cumplimiento.
Cuando elegir que
Si el espacio de implementación es el criterio número uno, vale la pena probar un VPS mínimo, un dispositivo de borde, un proyecto donde cada megabyte cuenta, sh0.dev o TrailBase. Estas son opciones defendibles para este caso de uso específico, incluso si nosotros mismos no hemos probado su comportamiento en producción.
Si su proyecto necesita una verdadera multiinquilino con seguridad avanzada a nivel de fila, Postgres completo en lugar de SQLite o IA nativa (NL2SQL, RAG) sin ensamblaje de terceros, Aurabase cubre ese terreno. También es el camino más directo si comienza desde un proyecto de Supabase existente: Aurabase se posiciona entonces como una alternativa a Supabase escrita en Rust, con un SDK y políticas RLS que apuntan a una compatibilidad casi directa, documentada en nuestra guía de migración .