Three layers of caching in front of a container that scales to zero26 September 2026
My blog's API is an Azure Container App that scales to zero, with a 30 second cold start. How three layers of caching keep readers from ever waiting on it: a stale-while-revalidate cache in a Cloudflare Worker, a durable KV fallback for Cloudflare's per-colo cache, and Cosmos DB Change Feed pushes so reads stop waking the container at all. With real monthly costs, and the trade-offs I accepted instead of solving.
Three Versions of a Blog-Post Counter17 September 2026
My blog counter went through three implementations in a week: fetching the whole article list to count it, a dedicated count endpoint that still cold-started the backend, and a Cosmos DB Change Feed keeping a Cloudflare KV value current so the read never touches origin. Plus a debugging story about one secret with three different names.
Adding Comments to This Blog: Cosmos, an Azure Function, and Cloudflare AI10 September 2026
How I added a moderated comment system to this blog: Cosmos DB's own Change Feed as the queue, an Azure Function scoring comments via Cloudflare Workers AI, least-privilege RBAC kept out of the CI pipeline on purpose, several real bugs found the hard way in production, and a mid-flight model upgrade after the small LLM proved unreliable.
Another interesting weekend1 September 2026
Two weekend side projects: training a first YOLO object-detection model with Ultralytics, and building a browser-accessible Linux practice lab on Azure Container Apps.
Claude can now write my blog posts1 September 2026
I built a write API so Claude can create and update blog posts directly — and fixed a same-day production bug it uncovered along the way.
You can now guess yourself in my hangman game!25 August 2026
I extended my Hangman demo with Claude Code so a human player can guess letters alongside the two LLM agents.
CKA prep update: 3 hours optimizing my lab, 3 minutes for my first exercise22 August 2026
A CKA lab automation tune-up: fixing a resource-group permission bug, splitting node provisioning, adding missing kubeadm prerequisites, and two new scripts that make starting and connecting to the practice cluster much smoother.
Yes, I did it! 👊20 August 2026
Building a fully automated two-node Kubernetes cluster in an Azure sandbox for CKA practice — Calico CNI, VXLAN networking, and the IP-forwarding gotcha that broke cross-node pod connectivity until it was fixed.
Preparing for the Certified Kubernetes Administrator (CKA)18 August 2026
Kicking off CKA prep after five years running AKS in production — why hands-on install/config is the real gap to close, and the plan to build a two-node Kubernetes lab on Azure VMs inside a Whizlabs sandbox.
How I spent my weekend 🙃17 August 2026
A weekend recap: finally setting up Claude Code inside a Docker container, working through a Claude course, adding a human-playable mode to the hangman demo, and digging into CKA prep with a two-node Kubernetes cluster on Azure VMs.
Azure Cloud Shell tip: find previously used commands faster in your Bash and PowerShell history11 August 2026
A quick Azure Cloud Shell habit: searching .bash_history or PowerShell's history file directly in the editor with Ctrl+F instead of trying to remember exact command syntax.
AKS Capacity Advisor extended with webhook support10 August 2026
A milestone for the V2 Capacity Advisor: real Azure Monitor alerts now flow through a webhook into AKS, get historical context from Table Storage, and come out the other side as LLM-generated, operator-friendly capacity recommendations.
Youtube Channel Monitor3 August 2026
A small side project: an Azure Container Apps Job that checks a child's YouTube channel on a schedule via the YouTube API and emails a parent through Azure Communication Services the moment a new public video appears.
AKS Capacity advisor27 July 2026
The origin story for the Capacity Advisor: born from real throttling alerts, first shipped as a live ACA demo, now extended to evaluate node fit and cluster headroom on AKS too.
Turning holiday time into a live AI demo!22 July 2026
Building a live Capacity Advisor demo over the holidays: an agent that collects Azure Container Apps metrics and asks a Cloudflare Llama model whether the configured resources are actually sufficient, with a real-time SignalR log stream.
Breaking change in GitHub Actions Azure OIDC federation20 July 2026
GitHub's move to immutable owner/repo IDs in the OIDC subject claim broke older Azure federated-credential trust policies — the fix is configuring Entra ID's 'Other issuer' option with the full subject string by hand, since the GitHub preset can't express the new @id format.
A Short Break from Studying, a Long List of Ideas5 July 2026
After a seventh Microsoft certification in a row, taking a short break to turn a backlog of practical Kubernetes, debugging, and Linux tips into posts over the coming weeks — with a unit-testing series planned after that.
Seven Microsoft Certificates in one year! 🙌3 July 2026
Seven Microsoft certifications in a year, capped off with AZ-305: the actual order taken vs. the order recommended in hindsight, and why AZ-104 → AZ-305 back-to-back makes the most sense.
AZ-900 Cheat sheet30 June 2026
Turning AZ-900 study notes into a short, scannable cheat sheet built around mental models and quick comparisons (IaaS/PaaS/SaaS, CapEx vs OpEx, Azure Policy vs Blueprints, storage redundancy) rather than a giant study dump.
Just passed the Whizlabs AZ-305 final practice test (76.36%, first attempt).27 June 2026
Passing the Whizlabs AZ-305 final practice test at 76.36% on the first attempt — solid validation across identity, governance, data solutions, and resilient architecture before the real exam.
Passed AZ-104 (Azure Administrator Associate) in March!22 June 2026
A condensed AZ-104 cheat sheet from exam notes: NSG vs ASG, storage RBAC vs SAS gotchas, VNet move limitations, Recovery Services Vault restrictions, and other exam traps around networking and resource moves.
Kubernetes tip 2: Connectivity troubleshooting19 June 2026
Six ways to troubleshoot pod-to-pod connectivity in Kubernetes when the usual tools are missing: curl, nc, wget, a bash /dev/tcp port check, a raw HTTP request via bash redirection, and a PowerShell/.NET fallback for Windows containers.
Back to the roots17 June 2026
A career-reflection post: 26 years after an Electrical Engineering/Telecommunications diploma, tying that original network-management background back into today's Azure networking and AZ-305 prep — DevOps as the bridge between the two.
Kubernetes tip 1: Specify max pods for the user node pool (AKS)16 June 2026
AKS's default max-pods-per-node (30 for user node pools) is set at node-pool creation time and can't be changed later — why bumping it to 150 up front makes sense on a subnet with plenty of IP headroom.
Encouraged by the popularity of my AZ-400 cheat sheet (over 70 views!), I've just published my AZ-204 (Azure Developer Associate) cheat sheet as a LinkedIn article.15 June 2026
An AZ-204 cheat sheet covering Durable Functions patterns, Azure Functions tiers, service tiers/limits, storage tiers, load balancer choices, and API Management policies — still ~80% relevant despite AZ-204's planned retirement in favor of AI-200.
One of the best decisions I made during my AZ-400 prep: Building my own website10 June 2026
Why building a personal website during AZ-400 prep was one of the best calls made: real custom domains, TLS, and production-like deployments for demos turned abstract Azure concepts into a genuine portfolio.
Quick update on the AZ-400 lab tip post9 June 2026
14k impressions and 88 reactions on a post about the AZ-400 lab's unclear instructions — including one comment from someone who failed the exam for the same reason, which is exactly why the AZ-400 cheat sheet followed the next day.
Still full in the certification flow, just renewed my AZ-204, almost straight after passing AZ-400!4 June 2026
Renewing AZ-204 in about 30 minutes on memory alone, right after passing AZ-400 — next up, full focus on AZ-305's architecture and governance content.
Multi agent Hangman game demo now live on my site!1 June 2026
The original Hangman demo launch: two Cloudflare Qwen2.5 LLM agents playing against each other, containerized on Azure Container Apps, served by a Cloudflare Worker, with real-time output over SignalR — evolved from an earlier AI-102 console practice project.
Six Microsoft Certifications in One Year!29 May 2026
Six Microsoft certifications in twelve months of evenings and weekends, capped by an 863/1000 score on AZ-400 — the certification order so far, and AZ-305 up next.
AZ-400 Prep Update – 4 days until the exam!24 May 2026
When Whizlabs and Tutorials Dojo hadn't caught up to the April 2026 AZ-400 exam update (hybrid CI/CD, GitOps with Flux v2 + ArgoCD), generating custom scenario questions with AI to fill the gap — including one where the AI itself got a nuanced hybrid setup wrong first.
AZ-400 prep milestone: Just finished the Whizlabs final mock on first attempt at 80% in 56:31!23 May 2026
80% on the Whizlabs AZ-400 final mock, first attempt, 5 days before the real exam — solid improvement from earlier practice tests after focusing hard on weak areas.
AZ-400 Update: Just got blue/green + canary deployments working with Azure Container Apps and App Configuration!19 May 2026
Building the blue/green + feature-flag demo for AZ-400 practice: adding a user header, moving a feature from an env variable to an App Configuration flag — and the real debugging story, a 502 traced to GitHub Actions mangling a multi-line prompt.
Speeded up my Text Analysis demo with smart ACA warm-up!11 May 2026
Cutting first-click latency on the Text Analysis demo by 5-10 seconds: a Cloudflare Worker checks KV on page load and invisibly prefetches/warms the Azure Container Apps backend if it's been idle more than 5 minutes.
Checkout my new website and live text analysis demo!7 May 2026
The build log for koorevaar.com itself: three evenings from buying the domain to a portfolio built with Aider+Qwen2.5, GitHub Actions pipelines, and a Terraform-deployed Azure Container Apps text-analysis demo behind a Cloudflare Worker + phi3:mini.
Disappointing first test with Foundry Local on Intel GPU29 April 2026
Foundry Local reaching GA raised hopes for a real Ollama replacement on Intel GPU — but both tested OpenVINO models hard-capped responses at 199 tokens regardless of the configured max_tokens, a blocker for agentic coding workflows like Aider.
Building a Professional, Production-Ready Demo Platform with zero Idle Cost27 April 2026
A permanent, always-HTTPS demo domain that costs almost nothing when idle: a Cloudflare Worker + KV serves a static placeholder page, then instantly re-routes to a freshly provisioned AKS backend the moment a new ephemeral demo starts.
YES! Blue-Green deployment working26 April 2026
The first working blue-green deployment on AKS for AZ-400 practice: three pipelines split across infrastructure provisioning, deployment, and Traefik IngressRoute-based promotion between two Git-branch environments.
Another update about my AZ-400 practice project!25 April 2026
Adding a detect-language endpoint to the sentiment API, backed by AI-assisted unit tests (Aider + Qwen) that also run on main, a feature-branch flow set up for blue-green then canary, and a Flask route-ordering gotcha (routes must be defined before the blocking app.run() call).
Quick update on my AZ-400 side project11 April 2026
From sandbox success to a full CI/CD pipeline in a day: Terraform for AKS, Spot nodepools, a clean LLM-adapter pattern, Traefik on ARM64, ConfigMap-driven prompts, and a cross-subscription, bootstrap-plus-main-stage pipeline — all on €45 of remaining credits.
Just deployed a self-hosted sentiment analysis service on AKS using Ollama!10 April 2026
The first working milestone: a self-hosted sentiment-analysis service running in the Whizlabs AKS sandbox — Terraform + PowerShell automation, a multi-container Ollama/LLM-adapter/Flask architecture, and ConfigMap-driven prompts with proper health probes.
Just started a new side project as part of my AZ-400 preparation:5 April 2026
Kicking off a self-hosted LLM sentiment-analysis platform on AKS: a Flask API, an LLM adapter layer, Ollama (phi3:mini) in-cluster, Terraform for IaC, and Traefik ingress via Helm — the plan before any of it exists yet.
If you have http and https ingresses with the same hostname -> Don't use F5 OSS nginx ingress controller!24 February 2026
Update #2 of an AKS ingress migration saga: rolling back from F5's OSS NGINX Ingress after its strict host-collision rules broke same-hostname HTTP+HTTPS routing, with Traefik lined up as the next (hopefully final) attempt.
Do you have custom redirect rules or TCP ports in AKS? -> Don't use AG with AGIC!19 February 2026
Why AGIC (and even the newer AGC) is a bad fit for anything beyond basic HTTP/HTTPS in AKS: it silently wipes any manually-added custom redirect rules, TCP listeners, or non-standard configs during reconciliation, even with an AzureIngressProhibitedTargets CRD in place.
I got this working locally without AKS in like 20 minutes.26 December 2025
Twenty hours to take a SignalR setup that worked locally in 20 minutes and get it running in an AKS cluster behind an OIDC identity provider — CORS, a 401 on the websocket handshake, and long-polling working while raw websockets still didn't.
How I use AI chat to prepare for Azure exams (with prompt engineering)21 December 2025
Realizing that everyday exam-prep habits already were prompt engineering: a four-step Azure exam strategy built around priming, format/quantity constraints, and length limits to get sharper, more useful answers out of AI chat tools.
Third Azure certification in 2025!27 November 2025
Three Azure certifications in 2025 — AZ-900, AZ-204, AI-900 — with AI-102 up next.