History

Ten years of the same idea

It went from tidying up our own scattered playbooks to building whole platforms. What it is for never changed: describe the thing once, render it correctly everywhere, own the result.

  1. 2016

    A rewrite, not a new idea

    Started by The Network Factory, the infrastructure company that became part of AxisOps: every Ansible role and playbook we had scattered across projects, pulled into one project called “systems2”. That is what happens when you let the engineers do the marketing.

    The point was to unify our own infrastructure and abstract away the cloud underneath it. Azure, AWS or on-prem, clients got the same tooling, the same deployments, the same reliability. Zero lock-in — that was the point then, and it still is.

    A 2016 workbench: an Ansible play recap on the monitor, a stack of Raspberry Pis wired up beside it.
    April 2016. A play recap, and the cluster it was aimed at.
  2. 2018

    Everything builds from stemcells

    Our base images — VM and container both — are built by the playbook instead of assembled by hand. One provenance for every machine we ship, patched in one place.

    That is still how it works. 6 stemcell images today — PHP, Python and Node.js families — and an application picks what it is with one variable naming its role, not a Dockerfile of its own.

    The perforated front of the image build server, a Network Factory sticker on the mesh, Xeon badges on the machines behind it.
    2018. The build server the images came off.
  3. 2019

    Observability, rendered in

    Full-stack monitoring and tracing, built in-house — and wired in by the same templates that built the stack. Every request traced, every metric captured, every alert meaningful, without anyone bolting it on afterwards.

    In the current engine the monitoring config was there from its first week; by 2025 the whole suite — metrics, alerting, dashboards, logs and traces — rendered from one set of templates.

    A wall-mounted status board showing a honeycomb of virtual-machine tiles, nearly all green with a few red, above a shelf of small servers.
    2019. The status wall, green means running.
  4. 2022

    It started building the apps too

    It started building the client applications as well as the servers they run on. Compose files, Traefik, TLS — and every front end we ship, built from one source of truth per environment instead of assembled per project.

    The engine that runs today was born that July, application-first: day one, a container for the company’s own Laravel portal; day four, Traefik ingress in front of it; day nine, the templating that has rendered every stack since.

    A rendered stack drawn as a graph: ingress, portal, message bus, database and their networks, each service a node.
    An application stack, as micro-glue renders it: every service, network and volume, drawn.
  5. 2025

    One command for all of it

    Nearly ten years of internal tooling got a version number and a proper release: v1.0.0, tagged in November. Three weeks later the mg CLI put Ansible, Docker and the VM tooling behind one set of commands, so building a machine and building a stack stopped being separate skills. What had been a directory change, a vault password and a playbook incantation became mg config generate: a project’s config in, its compose file, every service’s environment and the whole runtime config out.

    A laptop screen showing a console session: a list of commands and a run of jobs marked succeeded.
    The console, on the laptop it runs from. Photographed 2026.
  6. 2026

    The container factory, with a face

    Ingress, TLS, databases, messaging, observability, backups — every one of them a template, rendered from environment YAML with no per-service Dockerfiles to write or babysit. Each one carries machine-readable metadata, so Substrate’s control plane can offer them from a catalogue and compile a stack you can see, wire up and drag.

    The metadata sidecars and the linter that checks them landed in the same July commit — the schema was born enforced. The August release, v1.1.0, is named in its own tag message as the sidecar release. 182 public services carry one today, and the catalogue on this site is rendered from them.

    The Substrate service catalogue: a grid of service cards, each with an Add button.
    2026. The templates, offered as a catalogue you add from.

Now

Maintained by the Microcelium team at AxisOps

Three engineers at a shared desk in the AxisOps office, screens up, the Microcelium sign on the wall behind them.
The team, September 2026.

micro‑glue is not a side project and not a snapshot. It is the container factory inside Microcelium, maintained by the platform team at AxisOps, and it moves every week: every stack the team runs — its own and its customers’ — is rendered by it. The history above is how it got here. What it does today is the current page.

Back to what it does today, or on to Substrate, the layer it belongs to.