Combatting Interdependencies of Internet Services
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.
… But you were probably 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. During the outage, we were unable to accept payment for services. October 21st was our 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 reevaluating. 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 result of service interdependencies. Any elements you have on your site that are hosted by a third party are at risk of bringing down the performance of your whole site. Browsers will continue to make attempts to reach the downed server adding 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
That means you need to take a really close look at your web hosting, DNS, and CDN providers. Look at third-party review sites or conduct your own testing using monitoring tools. We recommend evaluating providers on the following criteria:
- Availability/uptime history
- Support: is it automated or do you get personalized assistance?
- 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.
Originally published at DNS Made Easy News.