The business case for moving our analytics platform was built almost entirely on instance pricing. Somebody had compared the cost of our on-premises servers with the equivalent cloud instances, applied a reserved-capacity discount, and produced a respectable saving. The migration went reasonably well. The first full month's bill was roughly double the projection, and compute was the smallest line on it.
What nobody had modelled was movement. Our analytics jobs read from a source system that stayed on premises, because moving it was phase two and phase two never happened. So every night we pulled a large volume of data across the link, processed it in the cloud, and wrote summaries back. Every one of those crossings had a price. Then there was traffic between availability zones, because we had dutifully spread the cluster across three of them for resilience, and the cluster's internal shuffle did not care which side of a zone boundary it was on. Then there were the load balancers, the NAT gateway that every outbound request funnelled through, the logging ingestion, the snapshots nobody was deleting, and a managed service's per-request charge that was trivial per request and enormous per million.
None of this was hidden. All of it was documented. It simply was not on the spreadsheet, because the person who built the spreadsheet was comparing the things that look alike in both worlds, and the expensive parts of cloud are the parts with no on-premises equivalent. Nobody ever sent us an invoice for moving a file between two racks.
We got the bill down by about forty percent over two quarters, and almost every win was architectural rather than commercial. Move the processing to where the data already lives. Stop crossing zone boundaries for chatty internal traffic. Cache at the edge of the expensive boundary rather than inside it. Delete things on a schedule.
The habit I took away is to read a cloud bill as a description of the system's shape rather than as a finance document. A large egress line means data and compute are in the wrong places relative to each other. A large inter-zone line means your topology and your traffic pattern disagree. The bill is telling you about the architecture, in the only language the business reliably listens to.
– Serguey Shinder
Top comments (0)