Anti-pattern 7.3
Restructuring Around the Bill
Teams change the system’s architecture so that their costs can be measured separately.

In This Context
Teams are now charged for what they use, and the bill has to be accurate. Shared resources, such as a shared network, make it hard to say who incurred which cost. Chargeback was meant to cut spending, but what it demands first is that spending be measurable.
Therefore
Teams isolate their services and split shared resources, such as VPCs, one per team, so each team’s bill can be produced from its own resources.
Consequently
- Each team gets an accurate bill.
- Network costs rise, because traffic between the new VPCs costs more than traffic within the old ones, and services are opened up to the internet to keep them talking.
- Shared components lose their owners, and teams turn inward.
- A better approach: Allocate by Tag, Not by Topology.
Seen In
Chapter 14, figure “Connector’s VPCs before and after chargeback, and whose budget pays for each part”; Chapter 17, “Chargeback”.