Where the money goes
Compute hours, storage volume and class, egress bandwidth, managed-service premiums and idle non-production environments. Tag everything by team, service and environment on day one; untagged spend is unattributable and therefore unfixable.
Levers
Right-size from utilisation data, schedule dev and test environments to stop overnight, commit to savings plans for the steady baseline, move batch to spot, and apply storage lifecycle rules. These usually beat any micro-optimisation of code.
Architecture is a cost decision
Cross-AZ and cross-region traffic, chatty microservices, per-request managed services and over-provisioned Kubernetes requests all cost money continuously. Put cost estimates in design reviews and budget alerts in every account.