If I were looking for work and I were a top tier candidate, I would not let companies play games by determining pay based on my location. I'd work with a company that pays me well no matter where I choose to live. After all, where I live should only concern them if there's some kind of tax implication.
Top tier candidates aren't stupid, and ones that would willingly subject themselves to that are probably just looking for a year or two stint to bolster their resumes. Either that or they aren't as smart as they make themselves out to be.
I'm on the other side of the coin. I view the associated costs of working in an office as built into my salary. For example, if I go to an office, I suddenly now have to buy gas/repairs for my car, I have to buy office clothes, and I have suddenly lost days per year to commutes. If I work from home, I see myself as freed from those costs.
Put another way, I see my salary as the sum of the cost of the work that I do PLUS the costs associated with me getting the job done. Working from home is simply more economical (and my work/life balance is significantly improved).
Nah, large companies will continue to buy up all the dying boomers' homes like they do today. The companies will then jack up the rent on all property in the area. Small kids today will never know ownership unless its through their daddy's company.
There are some benefits to usages of cloud-based tech, and there are some drawbacks.
The cloud inherently attempts to decentralize computation (duh). If you can have multiple servers across a country, chances are, one freak accident (weather, power-grid failures, etc) is less likely to bring down your ecosystem. If it's well architected, your users may not even notice. In that sense, it can be fantastic for reliability and scalability since a lot of these cloud server companies allow for easily creating new instances of the same project.
If your software is written poorly or your environment is poorly architected, then you can encounter issues using the cloud like centralization as you mentioned, and you'll also have to manage difficult or arcane deployments. You also run into a problem of dependence on your cloud platform of choice. No one likes vendor lock; it hurts flexibility and increases costs in the long run. If your project is AWS based for instance and has a dependence on Lambdas, for instance, what are you going to do if Amazon suddenly raises their costs beyond what your company can reasonably accommodate? There are some workarounds, but they obviously aren't as nice or immediately available.
But also, what are your alternatives to using a cloud provider? Your company could create physical infrastructure in safe places, but all the prime spots would be taken up extremely quickly not to mention that it's waaay more costly to build a mainframe on or offsite than it is to spin up an EC2 instance or ten. And if your system isn't on-prem or thereabouts, then it seems like cloud is the only real solution there.
Top tier candidates aren't stupid, and ones that would willingly subject themselves to that are probably just looking for a year or two stint to bolster their resumes. Either that or they aren't as smart as they make themselves out to be.