Bu karşılaştırma, kendi kendini barındıran Rust'ta yerleşik arka uçlara odaklanıyor: sh0.dev, TrailBase ve Aurabase. Rust'ta yazılmayan daha genel, kendi kendine barındırılan bir arka uç için, karşılaştırmalarımız Aurabase ile PocketBase ve Aurabase ile Appwrite karşılaştırmalarımız diğer seçenekleri keşfeder. “AB egemenliğinin” yasal olarak ne anlama geldiğinin, yayıncının barındırma ve uyruğunun tam analizi için, kendi kendini barındıran AB egemen BaaS makalemiz daha da ileri gidiyor; Bu yazı Aurabase'i Rust benzerleri arasına yerleştirmekle sınırlıdır.
Temeller
- Kendi kendini barındıran Rust yerel arka uç için bugün üç gerçek seçenek: sh0.dev (tek ikili, ~25 MB), TrailBase (Rust + gömülü SQLite + SolidJS arayüzü), Aurabase (tam platform, özel Postgres 16).
- Aurabase, tek ikili sistemin tam tersi bir uzlaşmayı varsayar: çok kiracılı RLS, gerçek zamanlı CDC ve yerel yapay zeka (NL2SQL, RAG) karşılığında birkaç düzenlenmiş hizmet (yerel olarak k3d veya üretimde Kubernetes/Helm).
- Kendi kendine barındırma ve AB egemenliği iki farklı eksendir: Kendinizi barındırmak, fiziksel sunucu ve yayıncılık şirketinin kendileri AB'de olmadığı sürece hiçbir şeyi garanti etmez.
- Sh0.dev ve TrailBase hakkındaki bilgiler, bu yazının yazıldığı sırada halka açık sayfalarına dayanmaktadır ve kapsamlı bir şekilde denetlenmemiştir: herhangi bir karar vermeden önce güncel belgelerini kontrol edin.
Kendi kendine barındırma için “Rust-yerli” neden önemlidir?
Kendi kendine barındırılan bir arka uç, altyapıyı bir bulut sağlayıcısının çevresinden kaldırır, ancak onu güvenilir bir şekilde çalıştırma sorumluluğunu ortadan kaldırmaz. Dil seçiminin bir ayrıntı olmaktan çıktığı yer burasıdır: Rust'un bellek güvenliği ve çöp toplayıcısının olmaması, kendi sunucusunu işleten küçük bir ekibi en çok etkileyen üretim hataları sınıfının tamamını azaltır.
Bu saf bir performans argümanı değildir. Ayrışma hatası olmayan ve öngörülemeyen bellek toplama duraklamalarına sahip olmayan bir hizmetin, özel bir SRE'si olmayan bir ekip için izlenmesi daha kolaydır. Aurabase'in bir araya derlenen 18 kasalı Kargo çalışma alanının gerçek mimarisi, Rust mimari dosyamız'de ayrıntılı olarak belgelenmiştir.
"Açık kaynak" tek başına taşınabilirliği veya bağımlılık eksikliğini garanti etmek için yeterli değildir: gerçek mimari, tek kiracılı veya çok kiracılı, özel veya standart depolama motoru daha önemlidir. sh0.dev, TrailBase ve Aurabase'in tümü kaynak koduna erişim sağlar ancak kapsamları ve veri modelleri çok farklıdır.
sh0.dev: minimalizm için tasarlanmış benzersiz bir Rust ikili programı
sh0.dev, bu yazının yazıldığı sıradaki genel sayfalarına göre kendisini, yaklaşık 25 MB'lık tek bir Rust ikili dosyası biçiminde dağıtılmış bir arka uç olarak sunar. Ana argüman, dağıtımın basitliğidir: harici bağımlılıklar olmadan ayrı olarak kurulacak bir sunucuya kopyalanacak bir dosya.
Bu makale için sh0.dev'in tam işlevsel kapsamını veya lisanslama modelini ayrıntılı olarak incelemedik: Bu konuyla ilgili kamuya açık bilgiler sınırlı kalıyor ve bu tür bir proje hızla gelişiyor. Kararınızda bu kriterin ağırlığı varsa, karar vermeden önce güncel resmi belgelerini kontrol edin.
TrailBase: Rust çekirdeği, gömülü SQLite, SolidJS arayüzü
TrailBase, genel sayfalarına göre Rust'ta yazılmış bir arka uç çekirdeğini, yerleşik bir SQLite veritabanını ve SolidJS ile oluşturulmuş bir yönetim arayüzünü birleştiriyor ve bunların tümü kendi kendini barındıran bir proje olarak sunuluyor. Mimari, Go yerine Rust ile yazılmış bir çalışma zamanı ile PocketBase'i (Go, SQLite, entegre arayüz) anımsatıyor.
Sh0.dev'de olduğu gibi, bu makale de TrailBase kodunu veya yol haritasını tamamen kontrol ettiğini iddia etmiyor. Güvenle söyleyebileceğimiz şey genel mimari konumlandırmadır: harici bir Postgres tarafından desteklenen bir arka uç yerine kendi depolama motorunu yerleştiren bir ikili dosya.
Aurabase: özel Postgres 16, eksiksiz platform, ayrıca kendi kendine barındırılan
Aurabase, mono-ikili sistemden farklı bir ödünleşim varsayar. Depo, ./start.sharacılığıyla tek komutla başlatılan yerel bir Kubernetes kümesinin (k3d) yanı sıra Hetzner, yerel bir Kubernetes bench (k3d) ve Scaleway için ayrı değer profillerine sahip tam bir Helm grafiği (deploy/helm/aurabase/) sağlar. Kök Cargo çalışma alanı MIT lisansı altında yayınlandı.
Bu seçim, tek bir işlem yerine ağ geçidi, kimlik doğrulama, veritabanı, gerçek zaman, depolama, işlevler, yapay zeka gibi düzenlenecek çeşitli hizmetleri içerir. Bunun karşılığında her proje, kiracı görüntüsüne gömülü pgvector 0.8.6 ve pg_graphql içeren özel bir PostgreSQL 16 (paylaşılan bir SQLite dosyası değil) ve uygulama düzeyi yerine motor düzeyinde Satır Düzeyinde Güvenlik izolasyonu alır.
Rust çekirdeğinin dikkate değer tek nüansı: uç işlevler için varsayılan mod, yukarıda belirtilen mimari dosyasında ayrıntılı olarak belgelenen bir mühendislik uzlaşması olan özel bir TypeScript hizmetine (V8 İzolatları) dayanır, sessiz kalmayı tercih ettiğimiz bir ihmal değildir.
Yan yana özetlenen üç mimari
"Kontrol etmek için" olarak işaretlenen sh0.dev ve TrailBase sütunları, bu iki araç üzerinde tarafımızca yapılan kapsamlı olmayan bir aramayı yansıtmakta olup, bu araçlarda işlevsellik bulunmadığının doğrulandığını göstermemektedir.
| Kriter | Aurabase | sh0.dev | Yol Tabanı |
|---|---|---|---|
| Ana dil | Rust (tam çalışma alanı, 18 kasa) | Pas (tek ikili) | Rust (çekirdek) + SolidJS (arayüz) |
| Dağıtım ayak izi | yerel olarak k3d veya üretimde Helm/Kubernetes, çeşitli hizmetler | Tek ikili, ~25 MB | Tek bir ikili, gömülü SQLite |
| Veritabanı | Proje başına ayrılmış PostgreSQL 16 + pgvector + pg_graphql | Doğrulanacak (resmi belge) | Gömülü SQLite |
| Yönetim arayüzü | Next.js stüdyosunu ayırın | Kontrol etmek için | SolidJS arayüzü ikili dosyaya entegre edildi |
| Yerel AI (NL2SQL / RAG) | Evet, giriş kodu (aura-ai) | Kontrol etmek için | Kontrol etmek için |
| Bu karşılaştırmaya ilişkin resmi görüş | Aurabase tarafından yayınlanan bu karşılaştırma | Yok, talep edilmemiş | Yok, talep edilmemiş |
AB egemenliği: ikili seçime bağlı değil
Her ne olursa olsun, Rust'ta yazılmış bir arka ucu kendi kendine barındırmak, tek başına AB egemenliğine ilişkin hiçbir şeyi garanti etmez. İki farklı koşulun karşılanması gerekir: Fiziksel sunucunun Avrupa Birliği'nde çalışması gerekir ve bunun gerçek operasyonel kontrolünü elinizde tutmalısınız. Ne sh0.dev, ne TrailBase ne de Aurabase sizin için ikinci koşulu garanti edemez: ikili dosyayı veya kapsayıcıları nereye dağıtacağınızı siz seçersiniz.
Yazılım yayıncısının yargı yetkisi de önemlidir, ancak farklı bir eksende: kendi barındırmanız yerine tedarikçi tarafından yönetilen bir sürüm. Bu, BaaSseçimi hakkındaki makalemizde ayrıntılı olarak açıklanan CLOUD Yasası açısıdır. Aurabase tarafından yönetilen altyapının kendisi için: Nürnberg ve Falkenstein'daki (Almanya) ve Helsinki'deki (Finlandiya) Hetzner veri merkezlerinde çalışır ve üretimde doğrulanır. Bu, Aurabase SAS'ın Paris genel merkezinden farklı olarak, bugün fiilen var olan AB egemenliğidir.
Konaklamayı seçmeden önce kontrol edilmesi gereken uyumluluk kriterlerinin ayrıntıları, egemen olsun veya olmasın: sayfamız uyumluluk.
Neyi ne zaman seçmeli
Dağıtım ayak izi bir numaralı kriterse, minimum bir VPS, bir uç cihaz, her megabaytın önemli olduğu bir proje, sh0.dev veya TrailBase denemeye değerdir. Bunlar, üretimdeki davranışlarını kendimiz test etmemiş olsak bile, bu özel kullanım durumu için savunulabilir seçimlerdir.
Projeniz gelişmiş Satır Düzeyinde Güvenlik, SQLite yerine tam Postgres veya üçüncü taraf derlemesi olmadan yerel AI (NL2SQL, RAG) ile gerçek çoklu kiracılığa ihtiyaç duyuyorsa, Aurabase bu zemini karşılar. Ayrıca mevcut bir Supabase projesinden başlarsanız en doğrudan yoldur: Aurabase, geçiş kılavuzumuzdabelgelenen, neredeyse doğrudan uyumluluğu hedefleyen bir SDK ve RLS politikalarıyla Rust'ta yazılmış Supabase'e alternatif olarak konumlandırılır.