Some of my software runs on machines I operate.
The main hardware is colocated in a Minneapolis datacenter, with a small cloud environment in Chicago and a home server in Bangalore. It gives me a place to run my own software, test infrastructure changes, keep independent backups, and work with parts of the stack that managed hosting normally hides.
The main site is built around a small cluster.
Compute is split across several hosts connected over 10 GbE, with switching, routing, and management around them. The cluster runs production services for open-source work and other projects, alongside CI, development environments, and the infrastructure used to operate the rest of the system.
The system is distributed, but not symmetrical.
Most of the primary infrastructure lives in Minneapolis. Chicago provides a small cloud environment outside the colocated site. Bangalore is a home site for off-site backups and workloads that are stateless or can tolerate the site going offline. Each location has a different role.
I’m documenting more of the operational work.
I keep notes on changes, maintenance, and details I want to remember later. More of those are becoming public, covering the systems behind the infrastructure and the work involved in keeping them running.
Read the infrastructure notes ↗