Reliability
45 guides tagged “Reliability”.
- How to Deploy an AI Agent to Production Treat the agent as a service: a declared scope, an async queue, idempotent steps, a kill switch, budgets, and an audit trail.
- How to Pause, Resume, and Cancel an Agent Run Pause needs a checkpoint, resume needs idempotent steps, and cancel needs a defined boundary. Design all three before the run starts.
- How to Write a Runbook for an AI Agent A runbook for an agent covers stop, revoke, drain, resume, and verify — written for someone who did not build it and is reading at 2am.
- What Is Rate Limiting for AI Coding Tools? AI coding tools rate-limit on requests, tokens, and concurrency, usually in rolling windows. Hitting a limit is a capacity signal, not a bug.
- What Is Agent Drift (and How Do You Catch It)? Agent drift is a run slowly leaving the task: scope grows, conventions slip, and the plan stops matching the diff. It is caught at checkpoints, not at the end.
- 502 vs 503 vs 504: What's the Difference? 502 is a bad upstream response, 503 means the service cannot serve now, and 504 is a proxy timeout. Each points somewhere different.
- Build vs Deploy vs Release: What's the Difference? Building produces an artifact, deploying runs it, releasing exposes it. Separating the three is what makes rollback and canaries possible.
- Continuous Delivery vs Continuous Deployment: Which Do You Need? Delivery leaves the production push to a person; deployment ships every passing build. The difference is who owns release risk.
- What Are the DORA Metrics (and How Do You Measure Them)? The four DORA metrics measure delivery speed and stability: deployment frequency, lead time, change failure rate, and time to restore.
- How to Productionize an AI App Productionizing an AI feature means adding quotas, timeouts, fallbacks, evaluations, cost controls, and observability around a demo.
- What Is Model Routing (and When Should You Downgrade)? Model routing sends each request to the cheapest model that can handle it, with a fallback. It needs per-route evaluation, not a hunch.
- How to Set a Token Budget Per Task A token budget caps input, output, and retries per task. Set it from measured usage, not the model's maximum context window.
- Add a Database Without Regret An intermediate journey: design a schema, ship migrations, index the queries that are actually slow, and prove a backup restores.
- Keep Your App Online A project-based journey for AI builders: automate deploys with CI, add health checks and uptime alerts, and rehearse a rollback before you need one.
- Make Slow Work Reliable An intermediate journey: move slow work off the request path, add retries with backoff, make jobs idempotent, and catch failures in a dead letter queue.
- Kubernetes for AI Builders: Run What Your Assistant Generates Without Wrecking Production Your AI writes Kubernetes manifests it doesn't understand. Learn the objects, the failure modes, the cost traps, and the security gaps — with every linked guide.
- Background Jobs and Scheduled Tasks: The Part of Your App Nobody Monitors Cron jobs fail silently, queues lose messages, and retries duplicate work. Learn scheduling, queues, dead letters, backoff, idempotency, and monitoring — with linked guides.
- Why Do Cron Jobs Fail Silently (and How to Fix It)? Your cron job ran, output nothing, and did nothing. Here's why every cron job fails silently by default — and exactly how to fix it with logging, exit codes, managed schedulers, and external monitoring.
- DevOps for AI Builders: What You Need to Know When Your AI Writes the Infra Your AI coding assistant writes CI/CD pipelines, Dockerfiles, and Terraform. Here's every DevOps concept you need to understand so it doesn't burn production down. 60+ linked guides.
- Dead Letter Queue vs Retry: When to Use Each (and When to Use Both) Your message failed. Should you retry it or send it to a dead letter queue? Here's the decision framework, the patterns, and why you usually need both.
- How to Roll Back a Bad Deploy A rollback plan turns a bad deploy from an outage into a 60-second fix. Learn the two kinds of rollback and how to rehearse them before you need them.
- What Is Exponential Backoff? Exponential backoff is a retry strategy that waits progressively longer between attempts. Learn why it beats retrying instantly and how to use it.
- How to Add Retry Logic to API Calls Add retries to flaky API calls the right way: which errors to retry, exponential backoff with jitter, and how to test that it works.
- What Is the Outbox Pattern? Writing to the database and sending a message are two operations that cannot both be atomic. The outbox pattern makes the message a database row first, then delivers it reliably.
- What Is Graceful Shutdown? Graceful shutdown lets an app finish in-flight work before exiting instead of dropping requests mid-flight. Learn how it works and why deploys need it.
- What Is Uptime Monitoring? Uptime monitoring checks from outside whether your site is reachable and alerts you when it isn't. Learn how it works and what it can't tell you.
- Why Do My Containers Keep Getting Killed (OOMKilled)? OOMKilled means your container hit its memory limit and the kernel killed it. Learn why it happens, how to find the leak, and how to set limits safely.
- How to Add Health Checks to Your App Add liveness and readiness endpoints to a Python, Node, or Go app and wire them to your platform so failures trigger restarts and routing.
- How to Upgrade a Kubernetes Cluster Without Downtime Upgrade a control plane and its nodes in the right order, one minor version at a time, with PodDisruptionBudgets and a tested rollback. Covers managed clusters and k3s.
- What Is Zero-Downtime Deployment? Zero-downtime deployment ships new versions without interrupting users. Learn the strategies — rolling, blue-green, canary — and which fits a small app.
- What Is a Cache Stampede? When a popular key expires, every request for it can miss at once and hit the database together. Here is how to detect and prevent the thundering herd.
- What Is a Distributed Lock? A distributed lock gives one process exclusive access to a resource across machines. It is easy to implement badly and hard to get right, so here is what it guarantees and where it fails.
- What Is Log Rotation (and Why Do Your Logs Keep Disappearing)? Log rotation archives and deletes old logs so disk never fills up. Learn how it works, why your logs vanish, and how log management services fit in.
- How to Build a Background Job Queue Move slow work out of request handlers: a background job queue with a worker, retries, and a dead letter path. Redis + Python example.
- What Is a Health Check? A health check is an endpoint that reports whether your app is alive and ready. Learn the difference between liveness and readiness and why both matter.
- Why Does My App Ignore SIGTERM (and How Do I Fix It)? If your containerized app hangs on shutdown, it's ignoring SIGTERM. Learn to catch the signal, drain requests, and exit within the grace period.
- Kubernetes Requests vs Limits: Why Your Pod Gets OOMKilled Resource requests tell the scheduler what to reserve; limits tell the runtime when to throttle or kill. Setting them wrong causes OOMKills, throttling, and eviction.
- What Is a Cron Job (and Why Do They Fail Silently)? A cron job runs a command on a schedule. They are everywhere and fail silently — learn how they work and why you can't trust them to tell you when they break.
- How to Get Alerted When Your Site Goes Down Set up down-alerts for your site in 10 minutes: an uptime check, the right alert channel, and a test that the alert actually fires.
- Liveness vs Readiness vs Startup Probes in Kubernetes Probes tell Kubernetes whether a container is alive, ready for traffic, or still starting. Get them wrong and you get 502s, restart loops, or both.
- Why Should Servers Always Use UTC? Servers should store and log time in UTC so logs, timestamps, and schedules agree across machines and time zones. Learn why and how to switch.
- What Is a Dead Letter Queue? A dead letter queue (DLQ) collects messages that a queue repeatedly fails to process. Learn why you need one and what to do with its contents.
- What Is a Read Replica? A read replica is a copy of your database that follows the primary. It scales reads, and it introduces replication lag — which is a correctness problem, not just a delay.
- What Is a Saga Pattern (and How Is It Different From Two-Phase Commit)? Sagas coordinate a multi-service operation through local transactions and compensating actions; two-phase commit uses a coordinator that blocks. Which one fits depends on consistency needs.
- What Is the Circuit Breaker Pattern? A circuit breaker stops your app from hammering a failing dependency. Learn the three states, why backends fall over, and when to add one.