The future of the cloud is federated across multiple datacenters and corporations. Datacenters will become "dumb pipes". But first we need a good networking foundation.
Kubernetes is nice, but multihost networking has still not been implemented well. We are getting there. Openflow is maturing and nice solutions like openvswitch exist. For high bandwidth businesses, the best architecture is now an edge network of openvswitch containers, forwarding packets to an internal network of backend services. Virtualized switches can now process packets almost as fast as physical switches, and even faster with GPU parallelization (packetshader). Therefore it makes sense to perform routing logic at the edge layer, so the backend services only need to worry about their own application logic. Unfortunately, an edge network is by definition a multi-host network. Until multi-host networking works in something like Kubernetes, this optimal architecture (edge --> backend) is not appealing because orchestration is a nightmare.
(btw, the fact that commodity hardware is now capable of advanced networking is much of the reason companies like cloudflare, highwinds, fastly, etc. are making so much money. Their entire business is based on the "edge network" I described above)
A bigger obstacle in the way of mult-datacenter networking is price. Most cloud companies charge per gigabyte of transfer for bandwdith out of their networks. Upstream providers, which you can connect to when you own your own or rent hardware, charge per gigabyte of transfer, per second, 95% of the time. If you think of bandwidth as a water pipe, Amazon/google/etc charge for how much water you put through the pipe, whereas upstream providers charge you for the invariable size of the pipe. When you do the math, if you assume 95% 24/7 high bandwidth utilization, Amazon gouges you orders of magnitude more than upstream providers. If you are a business with a model depending on networking (any protocol business -- VPN, DNS, CDN, load balancing, proxying, etc) you need to assume that your customers will use max bandwidth. Many times they also do not expect to be charged for bandwidth, so you cannot charge them for it. Therefore you cannot use the cloud because its pricing model is prohibitively expensive.
Thus, bandwidth intensive companies are prohibited from the conveniences of the cloud. They need to build all their own infrastructure in order to take advantage of bandwidth pricing.
This is a huge market gap. The second "cloud revolution" will come in the networking layer.