Dieser Vergleich konzentriert sich auf selbsthostende Rust-native Backends: sh0.dev, TrailBase und Aurabase. Für ein allgemeineres selbstgehostetes Backend, das nicht in Rust geschrieben ist, erkunden unsere Vergleiche Aurabase vs. PocketBase und Aurabase vs. Appwrite andere Optionen. Für die vollständige Analyse dessen, was „EU-Souveränität“ rechtlich, Hosting und Nationalität des Herausgebers bedeutet, geht unser Artikel Selbsthosting versus ein EU-Souveränitäts-BaaS weiter; Dieser Beitrag beschränkt sich darauf, Aurabase zu seinen Rust-Kollegen zu zählen.
Das Wesentliche
- Heute drei echte Optionen für ein selbsthostendes Rust-natives Backend: sh0.dev (einzelne Binärdatei, ~25 MB), TrailBase (Rust + eingebettete SQLite + SolidJS-Schnittstelle), Aurabase (vollständige Plattform, dediziertes Postgres 16).
- Aurabase geht vom entgegengesetzten Kompromiss einer Mono-Binärdatei aus: mehrere orchestrierte Dienste (k3d lokal oder Kubernetes/Helm in der Produktion) im Austausch für mandantenfähiges RLS, Echtzeit-CDC und native KI (NL2SQL, RAG).
- Selbsthosting und EU-Souveränität sind zwei unterschiedliche Achsen: Selbsthosting garantiert nichts, solange sich der physische Server und der Verlag nicht selbst in der EU befinden.
- Informationen zu sh0.dev und TrailBase basieren auf ihren öffentlichen Seiten zum Zeitpunkt des Schreibens und wurden nicht gründlich geprüft: Überprüfen Sie deren aktuelle Dokumentation, bevor Sie Entscheidungen treffen.
Warum „Rust-native“ für Selbsthosting wichtig ist
Ein selbst gehostetes Backend entzieht einem Cloud-Anbieter zwar die Infrastruktur, entzieht ihm jedoch die Verantwortung für den zuverlässigen Betrieb. Hier ist die Wahl der Sprache kein Detail mehr: Die Speichersicherheit von Rust und das Fehlen eines Garbage Collectors reduzieren eine ganze Klasse von Produktionsausfällen, die ein kleines Team, das einen eigenen Server betreibt, am härtesten treffen.
Dies ist kein reines Leistungsargument. Ein Dienst, der keine Segfaults aufweist und keine unvorhersehbaren Speichererfassungspausen aufweist, ist für ein Team ohne dedizierten SRE einfacher zu überwachen. Die tatsächliche Architektur des Aurabase-Kernarbeitsbereichs mit 18 zusammengestellten Cargo-Kisten ist ausführlich in unserer Rust-Architekturdatei dokumentiert.
„Open Source“ allein reicht nicht aus, um Portabilität oder fehlende Bindung zu gewährleisten: Die tatsächliche Architektur, Single-Tenant oder Multi-Tenant, proprietäre oder Standard-Speicher-Engine, ist wichtiger. sh0.dev, TrailBase und Aurabase bieten alle Zugriff auf den Quellcode, jedoch mit sehr unterschiedlichen Bereichen und Datenmodellen.
sh0.dev: eine einzigartige Rust-Binärdatei, die auf Minimalismus ausgelegt ist
sh0.dev präsentiert sich laut seinen öffentlichen Seiten zum Zeitpunkt des Schreibens als Backend, das in Form einer einzelnen Rust-Binärdatei mit etwa 25 MB verteilt wird. Das zentrale Argument ist die Einfachheit der Bereitstellung: eine Datei, die auf einen Server kopiert werden muss, ohne externe Abhängigkeiten, die separat installiert werden müssen.
Den genauen Funktionsumfang bzw. das Lizenzmodell von sh0.dev haben wir für diesen Artikel nicht im Detail geprüft, da die öffentlich zugänglichen Informationen zu diesem Thema noch begrenzt sind und sich ein Projekt dieser Art schnell entwickelt. Wenn dieses Kriterium bei Ihrer Entscheidung eine Rolle spielt, prüfen Sie vor Ihrer Entscheidung die aktuelle offizielle Dokumentation.
TrailBase: Rust-Kern, eingebettetes SQLite, SolidJS-Schnittstelle
TrailBase kombiniert laut seinen öffentlichen Seiten einen in Rust geschriebenen Backend-Kern, eine eingebettete SQLite-Datenbank und eine mit SolidJS erstellte Verwaltungsschnittstelle, die alle als selbsthostendes Projekt bereitgestellt werden. Die Architektur erinnert an PocketBase (Go, SQLite, integrierte Schnittstelle), wobei die Laufzeit eher in Rust als in Go geschrieben ist.
Wie bei sh0.dev erhebt dieser Artikel nicht den Anspruch, den TrailBase-Code oder die Roadmap gründlich überprüft zu haben. Was wir mit Zuversicht sagen können, ist die allgemeine Architekturpositionierung: eine Binärdatei, die ihre eigene Speicher-Engine einbettet, und nicht ein Backend, das von einem externen Postgres unterstützt wird.
Aurabase: dediziertes Postgres 16, vollständige Plattform, auch selbst gehostet
Aurabase geht von einem anderen Kompromiss aus als eine Monobinärdatei. Das Repository bietet einen lokalen Kubernetes-Cluster (k3d), der mit einem Befehl über ./start.shgestartet wird, sowie ein vollständiges Helm-Diagramm (deploy/helm/aurabase/) mit separaten Werteprofilen für Hetzner, eine lokale Kubernetes-Bench (k3d) und Scaleway. Der Root-Cargo-Arbeitsbereich wird unter der MIT-Lizenz veröffentlicht.
Diese Wahl umfasst mehrere zu orchestrierende Dienste, Gateway, Authentifizierung, Datenbank, Echtzeit, Speicher, Funktionen, KI, und nicht einen einzelnen Prozess. Im Gegenzug erhält jedes Projekt ein dediziertes PostgreSQL 16 (keine gemeinsam genutzte SQLite-Datei), wobei pgvector 0.8.6 und pg_graphql in das Mandanten-Image eingebettet sind und eine Sicherheitsisolierung auf Zeilenebene auf Engine-Ebene und nicht auf Anwendungsebene erfolgt.
Die einzige bemerkenswerte Nuance des Rust-Kerns: Der Standardmodus für Edge-Funktionen basiert auf einem dedizierten TypeScript-Dienst (V8 Isolates), einem technischen Kompromiss, der in der oben genannten Architekturdatei ausführlich dokumentiert ist, und keine Auslassung, die wir lieber geheim halten.
Drei Architekturen, nebeneinander zusammengefasst
Die mit „zu überprüfen“ gekennzeichneten Spalten sh0.dev und TrailBase spiegeln eine nicht erschöpfende Suche unsererseits nach diesen beiden Tools wider und stellen nicht das bestätigte Fehlen ihrer Funktionalität dar.
| Kriterium | Aurabase | sh0.dev | TrailBase |
|---|---|---|---|
| Hauptsprache | Rust (voller Arbeitsbereich, 18 Kisten) | Rust (einzelne Binärdatei) | Rust (Kern) + SolidJS (Schnittstelle) |
| Bereitstellungs-Footprint | k3d lokal oder Helm/Kubernetes in der Produktion, mehrere Dienste | Einzelne Binärdatei, ~25 MB | Ein einzelnes binäres, eingebettetes SQLite |
| Datenbank | PostgreSQL 16 dediziert pro Projekt + pgvector + pg_graphql | Zu überprüfen (offizielles Dokument) | Eingebettetes SQLite |
| Administrationsoberfläche | Separates Next.js-Studio | Zur Überprüfung | SolidJS-Schnittstelle in Binärdatei integriert |
| Native KI (NL2SQL / RAG) | Ja, Code eingecheckt (aura-ai) | Zur Überprüfung | Zur Überprüfung |
| Offizielle Stimme zu diesem Vergleich | Dieser Vergleich wurde von Aurabase veröffentlicht | Keine, unaufgefordert | Keine, unaufgefordert |
EU-Souveränität: die nicht von der Wahl des Binärsystems abhängt
Das Selbsthosten eines in Rust geschriebenen Backends, was auch immer es sein mag, garantiert an sich noch nichts in Bezug auf die Souveränität der EU. Es müssen zwei unterschiedliche Bedingungen erfüllt sein: Der physische Server muss in der Europäischen Union betrieben werden und Sie müssen die tatsächliche operative Kontrolle darüber behalten. Weder sh0.dev noch TrailBase noch Aurabase können die zweite Bedingung für Sie garantieren: Sie entscheiden, wo die Binärdatei oder die Container bereitgestellt werden sollen.
Auch die Zuständigkeit des Softwareherstellers spielt eine Rolle, allerdings auf einer anderen Achse: die einer vom Anbieter verwalteten Version und nicht die Ihres eigenen Selbsthostings. Dies ist der CLOUD Act-Aspekt, der in unserem Artikel über die Auswahl eines BaaS beschrieben wird. Für die von Aurabase verwaltete Infrastruktur selbst: Sie läuft, verifiziert in der Produktion, in Hetzner-Rechenzentren in Nürnberg und Falkenstein (Deutschland) sowie in Helsinki (Finnland). Dies ist die Souveränität der EU, wie sie heute tatsächlich existiert, im Gegensatz zum Pariser Hauptsitz von Aurabase SAS.
Einzelheiten zu den Konformitätskriterien, die vor der Auswahl einer Unterkunft überprüft werden müssen, ob souverän oder nicht: unsere Seite Konformität.
Wann man was wählt
Wenn der Bereitstellungs-Footprint das wichtigste Kriterium ist, sind ein minimaler VPS, ein Edge-Gerät, ein Projekt, bei dem jedes Megabyte zählt, sh0.dev oder TrailBase einen Versuch wert. Dies sind vertretbare Entscheidungen für diesen speziellen Anwendungsfall, auch wenn wir ihr Verhalten in der Produktion nicht selbst getestet haben.
Wenn Ihr Projekt echte Mandantenfähigkeit mit erweiterter Sicherheit auf Zeilenebene, vollständiges Postgres anstelle von SQLite oder native KI (NL2SQL, RAG) ohne Assembly von Drittanbietern benötigt, deckt Aurabase diesen Bereich ab. Es ist auch der direkteste Weg, wenn Sie von einem bestehenden Supabase-Projekt ausgehen: Aurabase wird dann als Alternative zu in Rust geschriebenem Supabase positioniert, mit einem SDK und RLS-Richtlinien, die auf nahezu direkte Kompatibilität abzielen, dokumentiert in unserem -Migrationsleitfaden.