Longer term, I think Amazon's cloud will continue to eat market share, especially as an entirely new generation of techies comes online whose only experience has been working with AWS and other cloud providers. Kind of like the transition from desktop software in the 80s/90s to server-based web apps in the 90s-early 00s. If you're building a company / app today, the first move is to go to the cloud and get on AWS. That's the "safe" business move now rather than spending capital to buy hardware, getting a sysadmin, etc. etc. etc.
For the market, I'm hoping we see someone develop a set of common APIs that abstract away common specifics across AWS/Google Cloud/Azure and let you run a generic web stack and dynamically move parts of your app around based on pricing. If Google drops below AWS and your demand is spiking, you setup new instances on Google, rather than spinning up AWS instances, and use a micro service API to interact with the database. Behind the scenes, the API layer tracks the different clouds you configured for and dynamically moves most pieces of your application except data storage as your target conditions change. I envision spot cost, demand, latency, and host availability / provisioning time all playing a role in this cost algorithm. Eventually you end up with agnostic applications that don't ever live anywhere. They migrate and dynamically adjust across different clouds turning each individual cloud in part of a larger, more agnostic cloud for some services.