Travel Website Performance: Optimizing Web Infrastructure
In part one of this five part series, I provided details on how to identify the three primary components of delays with the end-user experience and the importance of understanding where the delays occur. In this post, I cover optimizing your travel and tourism website infrastructure.
Although Internet speeds are quick, distance is still an important factor to consider when trying to optimize your customers’ experience. If you want to get closer to your end users, there are really only two options: 1. Establish hosting within numerous datacenters around the world and sync your applications and data between all of them or 2. Utilize a CDN. Your choice depends on the geographic distribution of your target market and how much you like to take a gamble.
Getting Closer to Travelers
Although it’s unusual, some businesses’ target market may consist of just one or two countries. If your organization fits that profile and has an IT department equipped to manage multiple data centers, then mirroring your website across several data centers may be your best bet.
Though this is a strategy that may be effective for a small subset of travel or tourism businesses, the majority of websites in this industry serve global customers across many regions. This makes data center build-out very costly and taxing on your limited IT resources. For companies with customers worldwide, the quickest and most cost-effective means of serving a distributed user base is to leverage the pay-as-you-go services of a content delivery network (CDN). A content delivery network (CDN) is a network of distributed web servers that serve content and applications more efficiently to users.
Utilizing a CDN is a simple way, non-intrusive way to significantly improve your Web performance. Typically, the only modification that is required is a simple DNS delegation.
When considering a CDN vendor, it’s important to understand that each one has its own pros and cons. By pairing your requirements to their areas of focus will help you to make the right decision for your website. With this in mind, I’ve highlighted a few things to ensure a CDN meets your requirements:
- Does the CDN provider have reach into the regions where your end users are located? Many CDNs provide only local or US and Europe coverage and many customers overlook the performance inadequacies of these providers in other important markets such as China, Russia, and the Middle East. These organizations find they end up needing to employ a multi-vendor CDN strategy to cover global network inadequacies.
- Almost all CDNs cache static objects like jpegs, gifs and media objects, but can they also accelerate your dynamic Web content? Not optimizing the dynamic aspects of your website means end-users still need to traverse the expansive and slow Internet to grab the dynamic Web page underneath (e.g., php, asp, etc.). If dynamic content is critical to your site, it is critical to be accelerated, and your CDN should provide this service.
Scaling Travel Websites to Meet Demand
While it may seem obvious, it is easy to overlook the impact of increased user demand on a website’s performance. There are various methods to help alleviate the server demand per user, thereby increasing the scalability of your site and the quality of each user’s experience. There are four key methods to follow:
- Leverage a CDN and cache – Each request served by a CDN is a request not served by your server. Not only should the content be delivered sooner but your server can be freed to do the things only it can do: process dynamic transactions. It is equally important to choose a CDN that will be effective at caching your content. Cache-hit ratio is used to determine the ratio of times content is served from the CDN versus from your origin. As a result, you want to choose a CDN that will give you a suitable cache-hit ratio.
- Decrease the amount of content delivered by your origin – Many of these techniques are discussed below, but any reduction in delivered content frees up bandwidth, disk I/O, and processing that can be used elsewhere.
- Reduce processing by your origin during peak demand – If your site serves both smartphones and PC browsers, it is better to compress images and video in advance during low traffic periods, so the origin doesn’t have to transcode and resize as requests come in. Image resizing and video transcoding are expensive and CPU-intensive, and you do not want your origin performing these tasks during peak traffic periods.
- Minimize the delay between your origin and any backend servers – Backend servers include databases, file storage, supporting applications, and other processes required by the website to perform its functions. These transactions, while transparent to the end-user, can greatly impact the overall user experience, but it is not always possible to have these systems located near the origin. In some cases, origins may be distributed globally, but all the databases and supporting applications are stored in one location. Various HTML, TCP, and IP acceleration cloud services and hardware exist to reduce the delay these transactions must take, depending on how the content is exchanged.
The Missing Travel Web Link
Domain Name System (DNS) infrastructure is a critical yet often unaddressed performance element. Acting as a gateway to your site and applications, the DNS maps hostnames (i.e. www.website.com) to IP addresses, acting as the Internet’s virtual phonebook.
When a user types your website URL into their browser, a query goes out through the distributed domain name system to resolve the name to an actual IP address. DNS lookups may involve multiple layers of DNS serving hierarchy before determining the authoritative server and completely resolving the hostname. The browser, meanwhile, must wait until the DNS lookup is complete before downloading any content from the website.
There are various DNS vendors that provide cloud based authoritative DNS services designed to distribute your authoritative DNS entries to strategic points of presence around the globe. Structuring your DNS infrastructure in this way improves reliability, scalability, performance, and security. Distributed DNS servers inherently protect against DDoS attacks, often targeted at DNS infrastructure because of the crippling affect they can have on a website.
Another way to reduce DNS-lookup latency from your application is to limit the number of different DNS lookups that the client needs to make, especially lookups that delay the initial loading of a page. I’ll cover this and several other factors further in part three of this series, when I address the impact of page design on web performance. Read part one of the series.