What your first surprise cloud bill teaches you
Cost is an architectural constraint, not an accounting problem. Three patterns that cause most of the bills nobody expected.
The first time an engineer gets a cloud bill they did not expect, the reaction is usually to look for waste. Idle instances, oversized databases, forgotten volumes. Those matter, but they are rarely the shock.
The shocks come from three places. Cross-availability-zone data transfer, which is invisible in a diagram and expensive at volume. NAT gateway processing charges, which scale with traffic rather than with instance count. And storage class mismatches, where data that is read twice a year sits in a class priced for data read twice a minute.
All three are design decisions, not operational mistakes. You cannot tune them away afterwards without changing the architecture. That is why cost belongs in the design review, next to availability and blast radius, rather than in a monthly report that arrives too late to act on.