Whether you are launching a new website, deploying new sets of features or changing hosting providers, there are some steps every development project professional should take to ensure a smooth process ahead. Over the next few blogs, I will cover topics ranging from DNS Readiness to Load Testing to Soft Launches. In this first entry, we will tackle the concept of DNS readiness. This is one of the slippery steps in the process that is often overlooked because while its everyone's job its also no one's job. This doesn't fall on the developer because it's not code based, and this doesn't fall into hosting, because well, it isn't a hosting thing either. So as a project lead or marketing professional, it's best that you know the process and can manage it yourself. By the end, my hope is for you to have a basic understanding of what DNS is, how it affects your project and what information you'll need in order to be prepared.
What is DNS?
When most non-technical people think of DNS, they either don't know what it means, or they assume someone else will certainly make the updates necessary to get their site moving along. First, let me start with a basic explanation of what DNS is in layman's terms. Think of Domain Name Servers (DNS) as the yellow pages of the internet. This analogy may give away my age, but it was better than referring to your local library's card catalog.
When you need to find out where you're going, you usually know the name of the business. In years past, you would open up that giant yellow pages, turn to page 523 and find the address of that great restaurant you were hoping to try. DNS is very similar, in that, your browser needs to know how to get to a specific website. You've given it the name of the restaurant (in this case, your URL) but your browser needs to know the address of that restaurant (your IP address). The simple combination of a name, an address and TTL is what makes a basic DNS record.
DNS Record = Website Site + Website IP Address + TTL
What is a TTL?
A key part to understanding the DNS record is the Time To Live (TTL). A TTL is the time period in which the DNS believes that address is valid. You wouldn't want to have to open that phone book every time you needed to go to the same restaurant, and DNS servers/browsers are no different.
Most of the time, you'll see TTLs set for anywhere between 10 minutes and 1 day, but sometimes you can see them set as high as a week or more. When it's time to update that record, you'll want to make sure that TTL is set as low as possible to ensure the rest of the world sees your new address/site as well as allowing you to fall back in the event of an issue. This is commonly referred to as DNS propagation, or the time it takes for all of the DNS servers in the world to have a record's TTL expire, request and updated address.
Updating your TTL
My recommendation is to set the TTL of a record to 5-10 minutes ahead of time. The amount of time in advance is dependent on the current TTL of the record in question. For example, if the current record has a TTL of 1 week, you'll need to request your IT team update the TTL of the record to 5 minutes a full 1-2 weeks ahead of time to ensure it has plenty of time to propagate. When it's time to go live, you'll now be able to count on your updates going out to the world in short order and your clients will see your new site at the same time (within a few minutes).
Updating your DNS
"What do I need to know about DNS in order to make sure it gets updated?" Using my analogy above, you'll need to know the name of the restaurant and the new address it'll be moving to. I recommend that 2-3 weeks prior to launch, you have a meeting with your IT team to determine ownership of updating both the TTL and making the DNS change. On your actual launch day, that pre-assigned team member will making the necessary DNS changes with the updated address.
Resetting your TTL
Once your new site is live and is considered stable, you'll want to ensure the TTL is reset to a longer duration. The reason for this is if DNS server goes down, you'll want to make sure as many people as possible have the recorded last entry for that record. This will mitigate the impact of the DNS outage and hopefully DNS service is restored before the TTL expires. I typically recommend you set your long term TTL to 1-4 hours.
It's important for marketers and project managers to know about DNS, especially since their projects can often rely on website updates or redesigns. To summarize, a DNS is similar to the yellow pages book of my childhood. Your browser needs to know how to get to where it wants to go via an IP address. The TTL is a timer or expiration date that is on a saved DNS request, which ensures your browser won't need to ask for that IP address everytime. Have you experience troubles when updating your DNS or getting your end users to see your new website in a timely fashion? Let me know in the comments below how you resolved them.