Database as a Service
=====================
Benefits:
- Open source AGPL 3.0 Licensing
- Host it yourself, or use our hosting and Admin UI
- SQL or GraphQL querying capabilities (Rest API standard as well)
- Indexing supported
- Powerful admin dashboard
- Full featured querying out of the box
- Logging and log querying for admins
- Own your own data
Name Ideas:
- Ubermind
- Pangolin
- Hivemind
- Black Sphere
- Black Box
Architecture Considerations
- What database should we use?
- Postgres
- Mongo
- CockroachDB
- What kind of availability can we promise?
- Kubernetes cluster with a sharded & replicated database
- What query languages should we support?
- What language should we write everything in?
- Should we build our own data engine?
- If we did, what would it look like?
- Scaling to 100 users - MVP
Simple docker cluster with manually managed roll outs and no SLA's with customers
- Scaling to 10,000 users
Boilerplate SLA's in place guaranteeing uptime
Kubernetes cluster started, but still using a fairly simple database backend
Able to handle everything for $1000 a month server bill, probably even less.
- Scaling to 1m users - Big Boiiis league
At this stage, we're generating consistent revenue and have several contracts for 5 figures
Full kubernetes cluster with everything automated
Fully replicated and sharded database
# Market Research
Estimates
- @1000 users
- 10gb data 10,000 gb (10 Tb)
Bandwidth
- 1Kib per request bandwidth
- 50000 requests per day
- 50Gib per day / bandwidth
- 1500 Gib per month (1.5Tib)
# Integrations are key
These should be as close to one-click / one-command deploys.
- Zeit deploy
- DigitalOcean deploy
- AWS Deploy
- Linode Deploy
- Home Server deploy
# Profit Models
- Hosting databases
- Consulting / Setup fees
- Patreon / Open Source Contributions & Sponsorships
# Innovation
- Fast K/V Store backend in Go with REST/gRPC front-end similar to Firebase but our own
- Benchmarking against Firebase
# Path to MVP
- Socket.io layer for notifications
- 1:1 feature library parity with Firebase?