How to start a website :
1. choose a registrar company, buy a domain name.
2. choose a web- host company, they will provide some server space and web interfaces to your website.
3.go back to your registrar and provide your server space address.By doing this you told your resistrar that whose DNS server you are using.
Now when website hit first time, my request will propagate to the root servers, those root servers do know who knows where all the .com mappings taken, and finally you get your response, thats what registrar do for you.
MX- mail server setup. go to google.com, reach at appropriate choice that I want to host my mail here.than they give you some MX records list by saying that tell your resister that your are going to use these MX records for your website mails.Now when an email is sent it may be go to your DNS server but then finally it reaches to google server and your mail finally outsourced.
CNAME - CNAME maps from one domain name to another domain name.
A - A maps from IP address to domain name.
If I have a website and wants to tell world about my website than what I need to do.for example if I have firstemission.com as my website than first I need to create A map for my website.
After that If I want to open my mails as mail.firstemission.com despite of that we have our MX records at google server than we need to map CNAME mapping for that.
Virtual Private Server(VPS)- for more control in our server.we can buy VPS.it is good for learning purpose.