Case study
License Management and Server Overwatch
The control plane that watches every site the agency runs, flags problems early, and delivers releases and licenses safely.
- My role
- Designed and built it
- Built with
- Python, Django, Django REST Framework, Celery, Channels, Redis, PostgreSQL
- Status
- In production across 200+ sites
The problem
Running more than 200 client sites means the team needs to hear about a problem before the client does. Checking sites one at a time doesn't scale.
What I decided
- Probe uptime every 10 minutes using four overlapping signals.
- Scan for fatal errors and DNS drift that would break a site, and alert on them.
- Apply settings such as PHP versions and automatic updates across the whole fleet in one action.
- Record every change in an audit log.
- Sync plugin releases from GitHub, then package and checksum them automatically for licensed sites. If a client's license lapses, updates stop but the site keeps running. A billing problem should never take a client's website down.
Where it stands
The platform covers the agency's entire fleet. Its licensing side grew out of the domain check I wrote for the Compounding Content Feed in 2018.