08 · DevOps & Performance
The layer that decides whether the rest stays up.
Nothing above this layer matters if the workers are dead, the cron silently stopped, or PHP-FPM is configured for a machine you no longer run on.
The problem
Defaults, in production.
A large share of production incidents we are called into come down to defaults nobody revisited: an FPM pool sized for a different server, a queue worker that has been down for two days, a cron job that fails quietly every night.
The second pattern is a system that is fast when idle and collapses under concurrency, because caching and connection limits were never modelled against real traffic shape.
Neither is difficult to fix. Both are difficult to notice without monitoring, which is usually the actual gap.
What we build
Boring, on purpose.
- Ubuntu server setup, hardening and SSL
- Nginx, PHP-FPM and PM2 tuning against real concurrency, not defaults
- Docker environments for repeatable deployment
- Queue worker supervision and cron reliability
- Redis caching and query performance tuning
Architecture
What we set up and watch.
- 01provisionUbuntu, hardened, with SSL and access controls in place
- 02serveNginx in front, PHP-FPM pools sized to the actual machine and workload
- 03processPM2 and queue workers supervised so a crash restarts rather than lingers
- 04cacheRedis for cache, sessions and locks, with eviction policy chosen deliberately
- 05scheduleCron jobs that report success and failure instead of failing silently
- 06monitorQueue depth, error rates and slow queries visible before customers report them
Stack
- Ubuntu
- Nginx
- PM2
- Docker
- SSL
- PHP-FPM
- Cron
- Redis
- MySQL
Questions
Asked most often.
Do you take on ongoing infrastructure support?
Yes — it is how most engagements continue after launch, and part of why retention sits at 98%.
Cloud or bare metal?
Whichever fits the workload and the budget. Self-hosted models and high event volume often make dedicated hardware markedly cheaper than managed equivalents.
Can you do a performance audit without a rebuild?
Yes, and it is a common first engagement. Usually there is meaningful headroom in configuration and queries before any architectural change is justified.
Will there be downtime?
Planned and communicated where unavoidable. Most tuning and deployment work happens without it.
Next step