You can use an external program such as Titanium Backup for the apps and associated data needing to be saved (mainly games). It can also save your sms, call logs and wifi access points. I don't know for WhatsApp.
I once used Helium, but it failed restoring some games, I never had a problem with Titanium.
If you synchronise your applications in your google sync settings, all your apps from playstore should be automatically downloaded after first account add.
It is not generally recommended to restore apps, it can cause problems, so I recommend you to save only the apps with data/settings you cannot change manually or hard to retrieve. That won't take too much space. I usually only save games, or apps not coming from playstore/amazon appstore..., and sms, call logs and wifi access points. Then, once all the apps downloaded, i go into every one individually to change settings or log into (facebook, ...) according to my needs, that does not take too long generally.