Cloud computing is essentially when information and programs are stored and can be accesses over the internet. The idea of cloud computing has been around since the sixties. It is said to have been created by Joseph Carl Robnett Licklider as he worked on the ARPNET (which was the name of the internet in its first stages), but the word has evolved over the years, the idea of cloud computing now is very different from what it was back then.
The DNS server stores the IP addresses of website's URL, the internet works with IP addresses so when you request to go to a website you type in the URL, the computer requests the DNS server for the IP address associated with the URL wanted by the user.
The NAT solves the issue of there being too many people using the internet and not enough IP addresses for everyone. It allows for many computers connected to the same router to share the same public IP address, by assigning each device connected to the router with a unique private IP address.
VPN (Virtual Private Network) allows for users to access private networks and share data from a public network securely. VPN's can be used for a number of reasons including: accessing data that is geographically restricted, or accessing websites that are censored in your area and accessing data securely without anybody watching.