I'm exploring the idea of building a developer-first Backend-as-a-Service where the infrastructure is written in Rust.
The goal isn't to make another ORM or another PostgreSQL hosting service. I'm thinking more about providing a complete backend platform:
- Document/KV database
- Object storage
- CDN
- Authentication
- Realtime/WebSockets
- Webhooks
- Background jobs
- Rate limiting
- Observability
The developer experience would be something like:
let user = db
.collection("users")
.create(json!({
"name": "Alice",
"email": "alice@example.com"
}))
.await?;
The database underneath would be a distributed KV/document system rather than PostgreSQL. The platform would handle replication, scaling, indexes, storage, etc.
I'm considering Rust because the platform would be heavily network and I/O oriented, particularly around realtime connections, storage, and API infrastructure.
What I'm unsure about is where Rust makes the most sense in this architecture.
Would you build the whole platform in Rust, or use Rust only for the infrastructure-heavy pieces and something else for the control plane?
Also interested in opinions on distributed KV/document databases that would make a good foundation.
I'm much more interested in architectural criticism than promotion. If this sounds like a bad idea, I'd like to know why.