Executive summary
Choose hosting based on the workload, not the hype. For most business systems, reliability comes from: stable database performance, solid backups, and realistic SLA expectations.
VPS vs Dedicated: how to decide
The right choice depends on CPU, RAM, and especially storage IO for your database. If your system is internal ops (forms, workflows, reports), start with a good VPS and monitor.
- Lower cost
- Fast provisioning
- Easy upgrades (CPU/RAM)
- Good for web + API
- Shared hardware
- Noisy neighbors possible
- Less control than dedicated
- Full hardware control
- Strong and stable performance
- Great for DB + storage
- Higher cost
- Slower to scale
- More ops responsibility
Performance for internal business systems
For internal systems, users care about: fast forms, fast search, quick reports, and stable sessions. Most slowness comes from database indexes and storage IO—not from CPU.
- DB slow queries + missing indexes
- Disk IO (IOPS / latency)
- Memory usage (swap is a red flag)
- PHP/worker queue throughput
- Add indexes for search & reporting
- Cache dashboards and heavy aggregates
- Move slow tasks to queues (PDF, exports)
- Separate DB and web if load grows
Backups: strategy, not just storage
Backups must match business risk. Define RPO/RTO, automate backups, and test restores. For internal systems, backups are often more important than high uptime.
- Database: daily full backup + hourly incremental (if possible).
- Files/uploads: nightly sync + weekly archive.
- Offsite: replicate backups to another server/provider.
- Restore test: monthly “fire drill”.
SLA & uptime expectations
SLA is a contract about uptime and response—not a guarantee of zero downtime. Pick an SLA that matches your operational reality and budget.
| Uptime | Max downtime / month | Good for |
|---|---|---|
| 99.0% | ~7h 18m | Non-critical internal tools |
| 99.5% | ~3h 39m | Internal ops with tolerance |
| 99.9% | ~43m | Business-critical operations |
| 99.99% | ~4m 23s | High-stakes + 24/7 systems |
Decision guide (fast)
- You are launching or scaling gradually.
- Your DB load is moderate.
- You want simple upgrades.
- DB IO is heavy (logs, tracking, many writes).
- You need predictable performance.
- You can manage ops (or have support).