Basically the only way this really works is if we define standard APIs for all forms of cloud services. From infrastructure all the way up to social media and beyond. In prior eras protocols were custom designs on top of the IP protocol. That's not going to fly today and it also won't let us move fast enough. Most API definitions at the likes of Google are now defined in protobuf, another alternative is openapi. Either would suffice but I think protobuf is less verbose and potentially easier to evolve.
It also requires open standards for defining those services and potentially open implementations. See github.com/micro/services as an example.
Ultimately it's going to take a long time and significant coordination between multiple players for it to happen. I do wish we just had an open set of services anyone could run and contribute to. Then we could either go through the pains of hosting ourselves or paying someone to do it for us.