On launching new sites

Jason's picture
Tags: 

A few folks have recently asked me about our process for the actual launch of web sites. Aside from doing lots of development work, we also maintain our own server cluster, and do our own hosting - so transitioning, launching, and re-launching sites is something we've gotten pretty good at. Despite the uniqueness of some of our sites, in general, launch process on LAMP systems can generally be pretty straight forward. Here's what we generally do:

At least one week before a site goes live:

  • If you're going to be moving servers at all, confirm your DNS is in order:
    • Make sure either you (or someone technical) have access to update DNS records. Sometimes that means pointing a domain's name servers to ones under your control.
    • Lower TTL of domains to 15 minutes or less - this ensure fast cutover, and ability to quickly revert to old site/settings in the event of issues. We generally set our TTL at 60 seconds when we're preparing for a transition.
    • Confirm any other DNS needs and adjust accordingly. (MX records, other existing websites that may live at sub-domains, etc.)
  • If your client is fairly large, or runs their own internal network, always a good idea to check with their network admins about any specific issues that may arise. We've seen cases where clients have local Windows Active Directory domains that are the same as their public website. That can often lead to IP address conflicts.
  • Review any additional 'special circumstances' to consider - will you need a content delivery network to handle a major traffic surge? What are your fail-over/fail back procedures, etc.

About a week before go-live:

  • Create your production hosting area and initialize your production database.
  • If you are transitioning from a pre-existing site, you may need to setup a temporary domain name (something like new.domain-name.com) to access the new site before your real DNS switches over.
  • If possible, copy your development site into your production area - this is especially important if you're moving between servers, and you may not know if the environment is exactly the same - we've occasionally had to add missing PEAR libraries, tweak PHP versions, etc.
  • Final QA!

A day or two before go-live:

  • Touch base with everyone involved with the project to make sure everyone is on the same page, same timeline, etc.

Day of launch:

  • Final checks. Make sure your boss and/or client has given final approval to flip the switch.
  • Make sure your third party tools are working properly - make sure you check API keys tied to specific domains (hello Google Maps), etc.
  • Flip the switch! - depending on your setup, this might be by removing a placeholder page, flipping DNS, updating vhosts, etc.
  • Test again! From multiple network locations preferably - make sure everyone is seeing the same site.

After Launch:

  • Once you launch, you're probably entering into either a maintenance mode, or a phase II development cycle. Either way, getting updates into your production area will depend on your internal systems.
  • Hook up a your 24/7 site monitoring, sit back, and celebrate!

Launches are always both tense and exciting for us. If you have any tried and true tricks for ensuring a smooth launch, let us know in the comments!

Reply

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockcode>
  • Lines and paragraphs break automatically.
  • You may post block code using <blockcode [type="language"]>...</blockcode> tags. You may also post inline code using <code [type="language"]>...</code> tags.

More information about formatting options

Captcha
Are you a robot? We usually like robots, but not in our comments.
Copy the characters (respecting upper/lower case) from the image.