All projects

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.