Každá fáze růstu vyžaduje jiný přístup. Neškolujte předčasně.
Fáze 1: 0-1K uživatelů¶
- Jeden server (VPS)
- Monolith
- SQLite nebo PostgreSQL na stejném serveru
- Deploy: git pull
Fáze 2: 1K-10K¶
- Oddělte databázi na vlastní server
- CDN pro statické soubory
- Redis pro sessions a cache
- Basic monitoring
Fáze 3: 10K-100K¶
- Load balancer + 2-3 app servery
- Read replika databáze
- Background jobs (queue)
- Full monitoring + alerting
- CI/CD pipeline
Fáze 4: 100K-1M¶
- Kubernetes / managed kontejnery
- Database sharding nebo managed DB
- Message queue (Kafka/RabbitMQ)
- Microservices (opatrně)
- Multi-AZ deployment
- CDN + edge caching
Fáze 5: 1M+¶
- Multi-region
- Global load balancing
- CQRS/Event sourcing
- Dedicated teams per service
- Custom solutions pro specifické bottlenecky
Univerzální pravidla¶
- Cache je vaše nejmocnější zbraň
- Database je obvykle bottleneck
- Měřte před optimalizací
- Škálujte horizontálně, ne vertikálně
- Každá optimalizace přidává komplexitu
Klíč¶
Škálujte až když musíte, ne dopředu. Předčasná optimalizace je kořen všeho zla.
škálováníarchitekturaperformance