backup

  • The archive table nobody could delete from

    900 million rows, a retention policy, and a legal question nobody had asked. A table that grows forever because deleting from it might be illegal.

  • Docker Compose in production, and why it is still here

    Six years of Compose on a VPS, and an annual conversation about orchestration. Nothing is wrong, which is why the conversation keeps happening.

  • Managing WordPress entirely through Composer

    turkerdev/wp-composer, and an install where nothing is committed except a lock file. Core, themes and plugins as dependencies.

  • The VPS that had been running since 2019

    A host provisioned in 2019, upgraded in place three times, and a provisioning script that has never been run against an empty machine.

  • An on-call rota of three

    A rota of two is not a rota. A third person joined in November, and the gap was everything learned in the shadowing month and never written down.

  • A replica promoted during a drill, on purpose

    A failover procedure written in 2023 and executed for the first time on a Saturday in January. A runbook that has never been executed is a hypothesis, and…

  • A search index that could be rebuilt in eleven minutes

    A rebuild time short enough that the index stops being something to protect. A derived store that can be rebuilt quickly does not need a backup, which removes…

  • Backups restored by somebody who had never restored one

    A restore drill that had been run monthly by the person who wrote it, handed to somebody who had not. A drill run by its author verifies the…

  • Handing over on-call to one other person

    One person who can fix anything, and a rota of one. Three years of incidents resolved by the same person, every time.

  • MySQL 8.4, and the defaults that changed underneath us

    The first long-term-support release under the new model, and an application that could not authenticate after a container image bump.