If you are moving from shared hosting to VPS, you will have to setup DNS yourself. In case you want to run DNS on your VPS, you need to have atleast 2 IP addresses. My host, vpsfarm.com gives only one IP address. Also I wanted to outsource the DNS work to someone who understands it well.
Services like dyndns are quite stable and allow you to setup 20s timeout on DNS which is useful in case your site goes down and you need to switch servers or something. This comes in very handy if you are running your site off a single server and need to switch to blog or something in case the server goes down.
How to Setup the DNS using DynDNS
First of all you need to buy an account with dyndns.com. You need to buy a custom DNS hosting account. Once you have done that you need to point the DNS on your registrar's DNS panel (where you have booked the domain) to dyndns name servers. So this will make sure that all the DNS queries for yourdomain will come to the DynDNS name servers (this is just like pointing to your hosting company's name server and they doing the job for you)
Next step is to setup the A record for yourdomain to the IP address of your webserver (VPS in this case). You can also create several other subdomains and point them to your webserver. You can also point the MX servers to your mail servers (or google apps if you use that). DynDNS also supports redirecting a domain or subdomain to another url so you can use that to setup useful aliases.
So this is how things will look in the end. For this example I am assuming that you booked your domain on GoDaddy.com, got a DNS account at DynDNS.com and your website is hosted on a VPS on vpsfarm.com
User types yourdomain.com ---> DNS server is resolved to DynDNS.com and DynDNS returns that the A record for yourdomain.com points to vps1 (say 209.178.xxx.yyy) ---> Apache on 209.178.xxx.yyy gets the request and serves the webpage.
I know that this tutorial does not explain everything step by step but I think this should give you enough pointers to setup your DNS using DynDNS
Also as a last point, there are some free alternatives to DynDNS too. I have personally used freedns.afraid.org