This is the part that gets overlooked.
The code might be portable. The data around it often isn't.
That can constrain where the workload runs - or leave compute waiting for the data to catch up.
@shelbyserves This is Egress fees, Storage lock-in, Latency to storage, Stateful coupling ( databases, caches, and config baked into a specific environment make workloads sticky even when the app code itself is portable).