Interesting that you effectively use an engineer's definition of "solved" rather than that of a theoretician.
Message passing is effectively the assembly language of distributed computing: very low level. Mapreduce and the various NoSQL databases are effectively the next level up, but we still have some time to be able to have a proper theory for designing and implementing effective scalable distributed systems.
In short, we have many bits and pieces that can be brought together with a bit of luck to be able to attain the scale that we are currently seem to be happy with. So I can accept that the engineering definition of solved is there. But from a computer science point of view, we certainly are far from having a satisfactory theory. So we definitely do not have the answers.