The Domino Effect of LinkedIn’s DNS Outage
Join the DZone community and get the full member experience.Join For Free
on wednesday night users trying to access linkedin site were redirected to servers owned by confluence labs . the outage lasted a couple of hours and a post mortem thursday described the issue as caused by human error at network solutions , provider for linkedin’s dns.
immediate effect of the outage is obvious: upset linkedin users, ad revenue loss, alarmist media coverage, possibly some brand damage, and a reminder of
last year’s security leak
. sadly the incident not only impacted the linkedin website, but it also triggered web performance problems on websites
using linkedin’s share plugin
web performance impact on other websites
during the linkedin dns downtime, our monitoring agents observed failures on other websites such as the atlantic, the daily beast, and the economist. the problems lasted about 6.5 hours, from 6 pm pt wednesday to 2:30 am pt thursday.
before the outage, under normal performance, this is the waterfall of the linkedin tags on a website:
during the outage, platform.linkedin.com instead responded with multiple 302 redirects to itself.
the recursive redirects caused serious performance degradations, as the browser could not render the rest of the webpage html until it gave up on the redirect chain. the servers of confluence could not handle the high load of requests (of all the users hitting it) directed to linkedin, resulting in slow response times.
when looking at the performance of “platform.linkedin.com”, you can see that linkedin response times spiked.
in the web performance community this event is referred to as spof – “single point of failure”. the most unfortunate part of a spof from a vendor tag, is that the site’s end user will blame the site itself for the issue. end users have no idea of what is happening behind the scenes, what social or adserving tag is causing the slowness.
you can see the impact on the overall page performance below:
the fragility of the web and the security nightmares
the incident clearly shows how fragile and delicate the web can be. third party tags can easily impact performance of a website and they can become gateways to users on thousands of sites.
imagine for a moment that linkedin’s dns or servers had been hijacked (like the media first assumed), the effect on the web would have been devastating. not only would visitors to linkedin.com be impacted, but also any visitor of a webpage that embedded the linkedin tag as well. the hijacker would have the ability to take down a large portion of the web, could deliver malicious software to millions of people, or steal who knows what information.
so what can websites do to deal with such situations?
- before you put a tag on the webpage make sure you know who you are doing business with, understand how secure and scalable their system is, and most importantly ensure you are protected with an sla and contract agreement from that vendor .
- ensure third party tags load async , so they don’t block the content. when possible, mitigate security risks by relying on iframes to a different domain from the webpage. there are plenty of articles on this topic, or you could simply rely a tag management system. this way, your team can quickly remove unresponsive tags and can react immediately to third party issues.
- monitor, monitor, monitor. always know how your site and providers are performing and have an alerting mechanism set in place to notify upon performance degradation.
lastly, kudos to the linkedin, confluence labs, and network solutions teams for their quick reactions and transparency during the resolution and post mortem following – an example every company should follow.
Published at DZone with permission of Mehdi Daoudi, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
What to Pay Attention to as Automation Upends the Developer Experience
Turbocharge Ab Initio ETL Pipelines: Simple Tweaks for Maximum Performance Boost
Web Development Checklist
TDD vs. BDD: Choosing The Suitable Framework