<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Alex Budurovici</title>
    <subtitle>Alex Budurovici. Senior Tech Lead and Cloud Architect in Zurich. Platform engineering, SaaS, Cloud and FinOps, IaC.</subtitle>
    <link href="https://budurovici.com/feed.xml" rel="self" type="application/atom+xml"/>
    <link href="https://budurovici.com/"/>
    <updated>2026-10-01T00:00:00.000Z</updated>
    <id>https://budurovici.com/</id>
    <author>
        <name>Alexandru Budurovici</name>
    </author>
    <entry>
        <title>Self-hosting n8n on Synology DSM with Docker Compose</title>
        <link href="https://budurovici.com/notes/self-hosting-n8n-synology-dsm" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/self-hosting-n8n-synology-dsm</id>
        <published>2026-10-01T00:00:00.000Z</published>
        <updated>2026-10-01T00:00:00.000Z</updated>
        <summary type="html">
            n8n on Synology DSM with external task runners, one Postgres with a role per service, SearXNG, Browserless, ntfy, NocoDB and Grafana, and what DSM changes.
        </summary>
    </entry>
    <entry>
        <title>Running the n8n Assistant code sandbox on Synology DSM</title>
        <link href="https://budurovici.com/notes/n8n-assistant-sandbox-synology-dsm" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/n8n-assistant-sandbox-synology-dsm</id>
        <published>2026-09-24T00:00:00.000Z</published>
        <updated>2026-09-24T00:00:00.000Z</updated>
        <summary type="html">
            n8n&apos;s Assistant sandbox fails on Synology DSM because five kernel features are missing. The errors, the settings that work around four, and what they cost.
        </summary>
    </entry>
    <entry>
        <title>Playwright smoke tests as a deploy gate in GitHub Actions</title>
        <link href="https://budurovici.com/notes/playwright-smoke-tests-deploy-gate-github-actions" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/playwright-smoke-tests-deploy-gate-github-actions</id>
        <published>2026-09-14T00:00:00.000Z</published>
        <updated>2026-09-24T00:00:00.000Z</updated>
        <summary type="html">
            A five-journey Playwright smoke in GitHub Actions that blocks promote, a nightly ladder that does not, and the checks that keep red meaning stop.
        </summary>
    </entry>
    <entry>
        <title>Zero-downtime database migrations with GitHub Actions</title>
        <link href="https://budurovici.com/notes/zero-downtime-database-migrations-github-actions" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/zero-downtime-database-migrations-github-actions</id>
        <published>2026-09-04T00:00:00.000Z</published>
        <updated>2026-09-24T00:00:00.000Z</updated>
        <summary type="html">
            Rollback-safe database migrations with GitHub Actions. Expand, drain, contract: the schema, queue, and config changes a digest rollback cannot undo.
        </summary>
    </entry>
    <entry>
        <title>Standardising CI/CD pipelines across teams</title>
        <link href="https://budurovici.com/notes/cicd-standardisation-across-application-teams" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/cicd-standardisation-across-application-teams</id>
        <published>2026-08-29T00:00:00.000Z</published>
        <updated>2026-09-24T00:00:00.000Z</updated>
        <summary type="html">
            Reusable GitHub Actions workflows, Environment-scoped OIDC, and digest promotion so several teams ship without each inventing a private release path.
        </summary>
    </entry>
    <entry>
        <title>Terraform module patterns for multi-environment cloud estates</title>
        <link href="https://budurovici.com/notes/terraform-module-patterns-multi-environment" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/terraform-module-patterns-multi-environment</id>
        <published>2026-08-21T00:00:00.000Z</published>
        <updated>2026-09-24T00:00:00.000Z</updated>
        <summary type="html">
            Terraform module boundaries, environment roots, isolated state per account, and pinned promotion, so teams can extend a cloud estate without breaking it.
        </summary>
    </entry>
    <entry>
        <title>Why is my WordPress admin slow? A technical diagnosis guide</title>
        <link href="https://budurovici.com/notes/how-to-fix-slow-wordpress-admin" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/how-to-fix-slow-wordpress-admin</id>
        <published>2026-08-13T00:00:00.000Z</published>
        <updated>2026-09-24T00:00:00.000Z</updated>
        <summary type="html">
            A step-by-step diagnosis for slow WordPress admin: outbound plugin calls, Heartbeat, autoloaded options, WP-Cron, slow queries, PHP, and OPcache.
        </summary>
    </entry>
    <entry>
        <title>Multi-cloud network topology decisions</title>
        <link href="https://budurovici.com/notes/network-topology-multi-cloud-decision" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/network-topology-multi-cloud-decision</id>
        <published>2026-08-10T00:00:00.000Z</published>
        <updated>2026-09-24T00:00:00.000Z</updated>
        <summary type="html">
            Why VPC and VNet models diverge across AWS, Azure, GCP, and Alibaba Cloud, and how to decide what to standardise versus what to leave provider-native.
        </summary>
    </entry>
    <entry>
        <title>RBAC in production cloud estates</title>
        <link href="https://budurovici.com/notes/rbac-patterns-production-cloud-environments" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/rbac-patterns-production-cloud-environments</id>
        <published>2026-08-03T00:00:00.000Z</published>
        <updated>2026-09-24T00:00:00.000Z</updated>
        <summary type="html">
            Role design, OIDC for pipelines, SSO for people, access reviews, and time-boxed break-glass: production access that stays auditable across cloud accounts.
        </summary>
    </entry>
    <entry>
        <title>Golden image architecture for Linux baselines</title>
        <link href="https://budurovici.com/notes/golden-images-image-hardening-server-baselines" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/golden-images-image-hardening-server-baselines</id>
        <published>2026-07-27T00:00:00.000Z</published>
        <updated>2026-09-24T00:00:00.000Z</updated>
        <summary type="html">
            Packer golden images: bake vs configure boundaries, promotion pipelines, launch-template enforcement, and baseline hardening checks across AWS, Azure, and GCP.
        </summary>
    </entry>
    <entry>
        <title>Practical multi-cloud cost optimisation</title>
        <link href="https://budurovici.com/notes/practical-cloud-cost-optimisation" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/practical-cloud-cost-optimisation</id>
        <published>2026-06-02T00:00:00.000Z</published>
        <updated>2026-07-25T00:00:00.000Z</updated>
        <summary type="html">
            An operating model for right-sizing, reserved capacity, and cost ownership across AWS, Azure, and GCP without compromising production reliability.
        </summary>
    </entry>
    <entry>
        <title>Cloud migration without operational risk</title>
        <link href="https://budurovici.com/notes/plan-cloud-migration-without-operational-risk" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/plan-cloud-migration-without-operational-risk</id>
        <published>2026-06-01T00:00:00.000Z</published>
        <updated>2026-06-30T00:00:00.000Z</updated>
        <summary type="html">
            A migration operating model for landing zones, ownership boundaries, IaC baselines, cutover planning, and cost control before workloads move to the cloud.
        </summary>
    </entry>
    <entry>
        <title>Block outgoing URL calls with iptables on Linux</title>
        <link href="https://budurovici.com/notes/block-outgoing-url-calls-with-iptables" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/block-outgoing-url-calls-with-iptables</id>
        <published>2021-10-26T00:00:00.000Z</published>
        <updated>2021-10-26T00:00:00.000Z</updated>
        <summary type="html">
            Use iptables string matching to block specific outbound HTTP paths, understand HTTPS limits, and choose safer egress controls when needed.
        </summary>
    </entry>
    <entry>
        <title>How outbound plugin calls added 16 seconds to WordPress admin</title>
        <link href="https://budurovici.com/notes/wordpress-plugin-slow-admin-outbound-calls" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/wordpress-plugin-slow-admin-outbound-calls</id>
        <published>2020-09-28T00:00:00.000Z</published>
        <updated>2026-09-13T00:00:00.000Z</updated>
        <summary type="html">
            Query Monitor trace: Modern Events Calendar firing 28 uncached outbound HTTP calls per admin page load, and how host-level egress blocking removed the delay.
        </summary>
    </entry>
    <entry>
        <title>Serve Let&apos;s Encrypt ACME challenges on Nginx</title>
        <link href="https://budurovici.com/notes/nginx-letsencrypt-and-acme-challenge" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/nginx-letsencrypt-and-acme-challenge</id>
        <published>2019-10-01T00:00:00.000Z</published>
        <updated>2019-10-01T00:00:00.000Z</updated>
        <summary type="html">
            Fix Nginx 404 errors on .well-known/acme-challenge during Let&apos;s Encrypt HTTP-01 validation with webroot config and renewal checks.
        </summary>
    </entry>
    <entry>
        <title>Hardening WordPress on LAMP (Apache)</title>
        <link href="https://budurovici.com/notes/hardening-wordpress-on-lamp" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/hardening-wordpress-on-lamp</id>
        <published>2019-09-11T00:00:00.000Z</published>
        <updated>2019-09-11T00:00:00.000Z</updated>
        <summary type="html">
            A layered WordPress hardening checklist for Apache on LAMP: SSH, .htaccess, wp-config, uploads, and plugin controls, with Nginx equivalents where useful.
        </summary>
    </entry>
    <entry>
        <title>Hardened WordPress on Ubuntu 18.04 LEMP</title>
        <link href="https://budurovici.com/notes/secured-wordpress-on-ubuntu-18.04-with-nginx" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/secured-wordpress-on-ubuntu-18.04-with-nginx</id>
        <published>2019-08-23T00:00:00.000Z</published>
        <updated>2019-08-23T00:00:00.000Z</updated>
        <summary type="html">
            Deploy a production-ready WordPress LEMP stack on Ubuntu 18.04 with Nginx, MariaDB, PHP, TLS via Let&apos;s Encrypt, and baseline hardening controls.
        </summary>
    </entry>
    <entry>
        <title>Fixing Chef cluster issues</title>
        <link href="https://budurovici.com/notes/fixing-chef-cluster-issues" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/fixing-chef-cluster-issues</id>
        <published>2018-05-30T00:00:00.000Z</published>
        <updated>2018-05-30T00:00:00.000Z</updated>
        <summary type="html">
            Recover a high-availability Chef cluster when Elasticsearch shard allocation or service health issues block normal Chef Server operation.
        </summary>
    </entry>
    <entry>
        <title>Configuring UTF-8 collation for MySQL or MariaDB on Docker</title>
        <link href="https://budurovici.com/notes/mariadb-docker-utf8" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/mariadb-docker-utf8</id>
        <published>2018-05-22T00:00:00.000Z</published>
        <updated>2018-05-22T00:00:00.000Z</updated>
        <summary type="html">
            Configure MySQL or MariaDB character sets and collations in Docker, verify Unicode storage, and understand durability tradeoffs.
        </summary>
    </entry>
    <entry>
        <title>Installing MongoDB on Ubuntu 15.04</title>
        <link href="https://budurovici.com/notes/installing-mongodb-on-ubuntu-15.04" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/installing-mongodb-on-ubuntu-15.04</id>
        <published>2016-01-13T00:00:00.000Z</published>
        <updated>2016-01-13T00:00:00.000Z</updated>
        <summary type="html">
            Resolve MongoDB service startup failures on Ubuntu 15.04 during the Upstart-to-systemd transition, with unit files and verification steps.
        </summary>
    </entry>
    <entry>
        <title>CSV UTF-8 encoding issues in Excel</title>
        <link href="https://budurovici.com/notes/excel-utf8-encoding-issue" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/excel-utf8-encoding-issue</id>
        <published>2015-10-09T00:00:00.000Z</published>
        <updated>2015-10-09T00:00:00.000Z</updated>
        <summary type="html">
            Fix CSV UTF-8 encoding corruption in Microsoft Excel with correct import settings, UTF-8 BOM handling, and verification steps.
        </summary>
    </entry>
    <entry>
        <title>Marketing vanity URLs</title>
        <link href="https://budurovici.com/notes/marketing-vanity-urls" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/marketing-vanity-urls</id>
        <published>2015-06-19T00:00:00.000Z</published>
        <updated>2015-06-19T00:00:00.000Z</updated>
        <summary type="html">
            Create trackable vanity URLs for print, QR, and email campaigns with Apache redirects, UTM parameters, and maintainable campaign rules.
        </summary>
    </entry>
    <entry>
        <title>Avoid duplicate-content SEO issues on Cloudflare origin subdomains</title>
        <link href="https://budurovici.com/notes/avoiding-seo-penalties-for-duplicate-content-on-cloudflare-live-non-cached-subdomains" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/avoiding-seo-penalties-for-duplicate-content-on-cloudflare-live-non-cached-subdomains</id>
        <published>2014-10-09T00:00:00.000Z</published>
        <updated>2014-10-09T00:00:00.000Z</updated>
        <summary type="html">
            Prevent Cloudflare origin and preview subdomains from creating duplicate-content SEO issues with host-aware robots, canonical URLs, and redirects.
        </summary>
    </entry>
    <entry>
        <title>Git tips and tricks</title>
        <link href="https://budurovici.com/notes/git-tips-and-tricks" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/git-tips-and-tricks</id>
        <published>2014-02-13T00:00:00.000Z</published>
        <updated>2014-02-13T00:00:00.000Z</updated>
        <summary type="html">
            Practical Git commands for rewriting authors, recovering work, inspecting history, bisecting bugs, and keeping repositories maintainable.
        </summary>
    </entry>
    <entry>
        <title>Lazy loading images with JavaScript</title>
        <link href="https://budurovici.com/notes/lazy-loading-images" rel="alternate" type="text/html"/>
        <id>https://budurovici.com/notes/lazy-loading-images</id>
        <published>2013-11-23T00:00:00.000Z</published>
        <updated>2013-11-23T00:00:00.000Z</updated>
        <summary type="html">
            Use native browser lazy loading first, understand LCP and CLS tradeoffs, and keep JavaScript lazy-loading libraries for legacy cases.
        </summary>
    </entry>
</feed>
