I think one thing to consider is that WhatsApp is probably by nature a scalable application. It is in the end, simply a client app that sends data to other client apps. So by nature, you scale in parallel very well, there are no 1-all communications. So unlike something like facebook where the data all needs to go to a central server and be polled by an unknown (but potentially arbitrary large) number of clients, in this case you have a huge number of point to point communications. It also means your server application can be largely stateless.
I'm not saying that it's an easy problem to solve, but it is a much easier problem to solve than a lot of other applications.