Urgent.News

What's breaking now, across thousands of outlets.

Tech

Nobody knew which server the app was on. Kubernetes, explained with an apartment building

Sources: CD's devops wiki 03-kubernetes/01-ecosystem-simple-explanation.md , 02-full-overview.md and 08-lab-webapp-mongodb.md (minikube), cross-checked against kubernetes.io, the minikube release notes and the CNCF 2025 survey on 2026-10-28. Lab names only; screens are drawings. Saturday, 02:10. One of Contoso's three app servers reboots after a disk error. The on-call engineer opens the wiki…

One day, one of Contoso's three app servers crashed due to a disk error. An on-call engineer found that four out of eleven containers running on the server were not listed on the wiki page, which had been last updated in March. One of those containers was responsible for payment callbacks, and for 50 minutes, customers were unable to pay and receive confirmations because nobody knew which server the payment callback container was on.

Nobody had been hacked; they simply ran 30 containers manually using shell scripts and a wiki page that was quickly out of date. TL;DR: the issue was that containers started manually had no owner, desired state, or memory. When a server went down, a human had to manually remember and restart the containers, hoping the version was correct.

Who was affected? Customers lost payments, the on-call engineer spent hours on archaeology, the business lost 50 minutes of downtime that could have been fixed automatically, and security secrets were stored in plaintext files without proper access controls. The solution was to define what was desired (3 copies of the web app, specific version, and configuration) and let Kubernetes manage it.

This could be done using a single file instead of a script and a wiki page. The cost of using Kubernetes on a laptop was free, while managed control planes on Azure, AWS, and Google cost about $0.10 per hour, or roughly $73 per month. A quick test showed that deleting a pod automatically replaced it with a new one within seconds.

Kubernetes is like an apartment building - the cluster is the building, nodes are the servers, and pods are the rooms. Deployments keep specified numbers of rooms occupied with specific versions, receiving traffic from services via services. Namespaces keep team and production environments separate using ConfigMaps for non-secret settings and Secrets for sensitive information.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Alphabet Loses $500B, a $1,000 Firefox Exploit, and 50 Agents Build a Government

Alphabet lost more than $500 billion in market value on Thursday after its own AI search summaries dented ad revenue. An open-weight model turned unpublished Firefox fixes into working exploits for…

  • Alphabet's market value drops over $500 billion
  • Firefox exploit affects six releases, costing $1,000 each
  • 50 AI agents build a functional government in Minecraft

How to Compare Grafana Alternatives for Open-Source Real-Time Dashboards (Safely)

Short answer: Grafana is the best default for broad data-source compatibility and real-time metric updates; Chronograf, Kibana, Dash, and Zabbix fit narrower priorities, so choose by rollback evidence…

  • Compare Grafana alternatives based on data-source compatibility and real-time updates.
  • Ensure rollback-safe dashboards with immutable observation sequence and validation schema.

Transactional API for Startup Welcome Emails — Gaming Support vs SMTP Relay

Use an API-first email service for a gaming support form when the backend can own retries, message records, and status polling; keep an SMTP-capable provider when compatibility is the reliability…

  • API-first email service controls failure boundary for retries and status polling
  • SMTP relay chosen when compatibility with older integrations is primary requirement
  • SendGrid offers both API and SMTP relay for migration while maintaining legacy plugins

More from Friday 30 October →