The problem that I see currently with this approach is not many are willing to host there own servers. Even people who are fairly tech savy won't host any server because of the costs involved. I am not going to host a server unless I get benefit out of it or its dirt cheap to host them.
The solution I think is instead of hosting it on cloud we host it at home. This way we have control over the cost. Again, if I can choose the kind of content that I am hosting then that would be great. I like to save images on certain topics. I don't mind serving them from my home since I already have unlimited data connection. Running a server on Raspberry PI would be ideal. There are already millions of PIs out there and they can be used for decentralization of apps. In the end, we might even be able to convince general population to host there own content. We will have to provide them tools and utilities to make hosting as easy as possible.
The major problem I think is NAT which is preventing direct hosting of content from home. Solve that and you most probably have solved decentralization.