Since the October 21st outage, there have been increasing concerns over the security, efficiency, and overall management of the Domain Name System (DNS). Everyone from tech blogs to daytime news programs have been hyping up the fear of these new IoT-based hacks and how they “took down half the Internet”. In actuality, only a small percentage of the “Internet” was unavailable.
But what if you weren’t one of the thousands of brands affected that day? Your site stayed online, your customers were happy, and you patted yourself on the back for choosing a reliable DNS provider.
… you were most likely still affected
That’s because some of the businesses that were downed caused a domino effect on other services. Most websites are reliant on multiple services to host their images, CSS, CDN services, web fonts, and DNS hosting… Actually, most websites will make at least a dozen requests just to load the homepage.
If any one of these services is single-homed on an unreliable provider, you could be jeopardizing the availability and performance of your website.
DNS Made Easy was actually affected by the outage, but indirectly. Our credit card processing service used the downed provider for DNS, and was unable to process any payments for half of the business day. Since we don’t use a sales team and the majority of our clients sign up and pay using our website, we experienced the lowest sales day in over 10 years.
That was when we realized our dependencies on third-party services were directly affecting our business, revenue, and our customers. While we can’t control who our service providers use for their traffic management, we can take the time to perform our due diligence and pick the services that use reliable upstream providers.
During our own investigation into our own interdependencies, we came up with a short list of some of the kinds of services you should be looking for. We also found a few ways you can quickly optimize your own content to rely less on third-party resources.
#1 Page Loads
Slower page loads are probably the most devastating consequence of service interdependencies. Any elements you have on your site that are hosted by a third party could be bringing down the performance of your whole site. Browsers will continue to make attempts to reach the downed server which adds time to your page loads. In some cases, these attempts can block other resources from being requested. Depending on the element and where it falls on the page, you could be adding multiple seconds to your load times.
Seconds may not sound like a lot, but to put it in perspective:
47% of consumers expect a webpage to load in two seconds or less, and 40% abandon a website that takes more than three seconds to load. (Source)
You can find out how many requests your site is making with a free tool like this one or the developer console in Google Chrome.
Here are some great ways to reduce the number of lookups:
- Combine all of your CSS into one file
- Limit the number of web fonts you are using (each Google Font requires two lookups)
- Host your own images, don’t rely on third-party services
- Use a reliable CDN service
#2 Vet Your Hosting Providers
When was the last time you took a thorough look at all the services your website relies on? Alot of times, developers just keep using the same services that they inherited when they took their job. But with the rapid movement to the cloud and dynamism of the hosting industry, it’s important to reevaluate at least every year. We recommend looking at third-party review sites or conduct your own testing using monitoring tools when evaluating your DNS, web hosting, and CDN providers. These are the criteria we use when we do our annual provider audit:
- Availability/uptime history
- Support: is it automated or do you get personalized assistance?
- Performance: we recommend doing your own testing.
- Innovation: is the service regularly releasing new features or updates to existing services?
#3 Look Upstream
In some instances, a service may be reliant on another service that 2 or 3 hops upstream. That means the service you are using may be reliant on services from another provider, who in turn is reliant on a service from another provider, and so on. The best way to evaluate this is to develop a risk management profile on each service. Determine how many other third-party services they are dependent on. Each additional resource required should be considered a risk.
You need to know the instant your website is unavailable or underperforming. Monitoring services are lightweight and easy to set up, usually within a matter of minutes. You can set up checks and alerts to notify you when your site is loading poorly and fix problems before your customers even notice.
Constellix Sonar is an invaluable tool that gives you real-time performance metrics of your domains: from basic web checks like uptime to advanced global performance metrics like Real-User Monitoring. Constellix Sonar is currently available for free.
Also published on Medium.