Moving data into a cloud provider is generally free, while moving it out carries a per-unit charge. That asymmetry has consequences that extend well past the invoice.
The charge applies to leaving, not moving
Transfers within the same availability zone are usually free or nearly so. Charges begin when data crosses zone boundaries, then rise for crossing regions and rise again for leaving the provider entirely.
The rate to the public internet is the highest, and it is the one that applies to serving users, transferring backups elsewhere or replicating to another provider.
This structure means the cost of an application depends heavily on where its components sit relative to each other and to its users.
Design follows the charging structure
Teams learn to keep processing next to storage, because moving computation is cheaper than moving data. That is sound engineering as well as a response to pricing.
It also discourages architectures that split workloads across providers, since every interaction between the halves is billed.
Over time this produces systems that would be difficult to relocate, not because of any technical lock but because the data has accumulated where it sits.
Migration cost scales with accumulated data
Leaving a provider means paying to extract everything stored, and that charge grows with every year of retention.
An organisation that has held data for a decade faces a one-off cost that can be large enough to change the decision entirely.
This is the practical form of lock-in for most organisations. The interfaces may be replaceable while the data is expensive to move.
Regulatory pressure has reduced some charges
Rules in several jurisdictions now require providers to waive or reduce charges for customers transferring data away as part of switching.
The waivers typically apply to a complete exit rather than routine operational transfers, so ordinary traffic remains billed as before.
The effect is to lower the barrier to leaving without changing the pricing that shapes daily architectural decisions.
Content delivery changes where the charge lands
Serving files through a delivery network moves most outbound traffic to a cache, and delivery network rates are typically lower than direct egress rates.
Traffic between the provider's storage and its own delivery network is often discounted heavily or not charged, which is why the combination is cheaper than serving directly.
For a service with substantial static content, that arrangement frequently accounts for a larger saving than any change to compute provisioning.