deployment

  • Laravel 5.6 and logging you can configure

    Logging moved into a config file, and stacks are why it matters — a different format per destination, decided without touching a service provider.

  • Symfony 4 and the bundle that does not exist

    A new project used to arrive with forty megabytes of vendor code and one route. The framework got smaller, and the interesting part is what happens at install…

  • Apache mod_php and php-fpm are not the same deployment

    Moving from Apache with mod_php to nginx with php-fpm changes where PHP runs, which user it runs as, and which configuration file it reads — and each of…

  • Cache keys need a version, or you cannot ship a change

    Changing the shape of a cached value means every cached entry is now wrong, and there is no way to clear them selectively without knowing every key that…

  • Alerting that people do not learn to ignore

    340 alerts in a month, four of which mattered. An alert channel nobody reads is the same as no alerting, and the cause is alerting on causes.

  • OPcache is per-process-pool, not per-server

    Two PHP-FPM pools have two separate OPcache shared memory segments, so a cache reset in one does nothing to the other — and the site serves a mix…

  • COPY –from can reference an image, not just a stage

    COPY –from is usually shown pointing at an earlier stage, and it accepts an image name just as happily — which removes a whole class of “install this…

  • Compose file version 3, and what swarm changed

    v3 exists to be deployable to a scheduler, and that removes things a single-host file relied on. What went, why it had to, and what replaces it.

  • Centralised logging that answers a question

    Four servers, eleven log files, and an incident reconstructed from three of them. Shipping first and parsing second, structured events, and the correlation id that makes it useful.

  • The runbook link belongs in the alert

    An alert saying HighErrorRate on shop-web at three in the morning is a puzzle. The person receiving it may not have written the check, and the context lives…