Mert Özen Further With Every Line

Blog

Mert Özen's blog posts on software development, backend, frontend, and DevOps.

Series
3 posts found #nginx
Rolling Deployments: Updating Servers One by One, maxSurge and maxUnavailable in Kubernetes
DevOps PART 03

Rolling Deployments: Updating Servers One by One, maxSurge and maxUnavailable in Kubernetes

A rolling deployment updates the fleet piece by piece; done right there is no outage, but two versions live side by side for a while. Three instances behind Nginx: a naive script dropped 2 of 90 GETs, while a script with drain and readiness checks passed 237 GETs and 90 POSTs without errors. Choosing maxSurge/maxUnavailable and minReadySeconds in Kubernetes, why exceeding progressDeadlineSeconds doesn't roll back, and when rolling is the wrong choice.

8 Nov 2026 12 min 6
Blue-Green Deployment: Two Environments with Nginx, App Service Slots and Instant Switchback
DevOps PART 04

Blue-Green Deployment: Two Environments with Nginx, App Service Slots and Instant Switchback

Blue-green installs the new version on the idle environment, runs a smoke test and switches traffic with a single reload; going back is the same reload. A preview port in Nginx, a smoke test with a version check, an error-free probe through switch and switchback, a 4 s request finishing on blue during the reload; App Service slot swap warm-up and slot setting pitfalls, a Service selector switch in Kubernetes, and the limit a shared database imposes.

8 Nov 2026 10 min 5
Canary Releases: Shifting Traffic by Percentage, Deciding with Metrics and Automated Analysis
DevOps PART 05

Canary Releases: Shifting Traffic by Percentage, Deciding with Metrics and Automated Analysis

A canary runs the new version with a small share of traffic and decides by comparing it with a control running at the same time. Weights in Nginx (900/100, not sticky), a user-sticky canary with split_clients and the empty-key trap, sticky cookies in 1.30; 4.80% vs 0% over 4,000 requests but a meaningless result over 19, a gate returning WAIT/ABORT/PROMOTE, Gateway API weights, and Argo Rollouts aborting a faulty version automatically.

8 Nov 2026 13 min 5
Blog Map