What Are You Delegating?
Every abstraction is a trade: it removes work by making decisions for you. Those decisions are still being made — just not by you, and not visibly. For each abstraction: what it genuinely handles, what remains yours, and the escape hatch.
An ORMAn HTTP client or SDKA managed database or cloud platformAn identity providerAn LLM or coding agentA web frameworkA library functionA managed message queueA cacheA container runtime and orchestrator
What are you delegating to a managed database or cloud platform?
ArchitectureYou write
1$ cloud db create --engine postgres --size large --replicas 22$ git push production mainThe abstraction handles
- ✓Provisioning, patching, backups, failover automation
- ✓Replication topology and monitoring dashboards
- ✓Scheduling your containers onto machines you never see
- ✓Load balancing, health checks, TLS termination, autoscaling triggers
- ✓The 3 a.m. page for a failed disk
Still your responsibility
- →Query plans and indexes — managed does not mean tuned; the planner still reads your statistics
- →Consistency — replication lag is still there; you just do not operate the replica
- →Capacity limits — provisioned IOPS, connection limits, memory cgroups: the ceiling exists whether or not you can see the machine
- →Failure design — a multi-AZ database still needs an application that survives a 30-second failover
- →Cost behaviour — autoscaling reacts after the latency you were trying to avoid, and bills for the reaction
Know your escape hatch
When: Something is slow "for no reason", or the platform's abstraction leaks: OOM kills, steal time, throttled IOPS, cold starts.
Drop to: Metrics, query plans, configuration, and the vendor's documented limits — the layers below the dashboard.
Managed infrastructure removes operational work. It does not remove the underlying system.