Yesterday at around 16:28 for a portion of the UK, Google's servers and services became unavailable...entirely unavailable.
This meant there was no Google Search, YouTube, Doubleclick, Adsense, Google Analytics, and no Gmail. What's the impact?
The cause, we don't know, but it was most likely a network outage somewhere and not a problem with Google itself, however I'm based in Cornwall and got tweets from Scotland saying people were experiencing the same problem, so we know it was widespread.
Whether you experienced the blackout or not, what this failure to be able to access Google's services highlighted, was not that we can't survive without Google search or other Google services. In an unanticipated knock-on effect, a failure to be able to access Google's services also stopped lots of other websites working properly.
In this real world situation I would never have considered possible before, the business risk from not being able to access Google or its services, was not the lack of their great search engine for finding content - because even though I prefer using Google, I quite happily rolled over to using Bing which was perfectly good at finding what I needed.
The real business risk which became immediately apparent was the huge amount of Google hosted code embedded in websites across the web for ad-serving, tracking and other services, and the effect not being able to load that code had in making many websites unusable.
Here are some examples:
- Couldn't load the Huffington Post properly. I suspect this is because of Google Analytics or DoubleClick code:
- Couldn't load Brand Republic, possibly due to JSAPI or Google Analytics code in their page headers:
What can webmasters do about this?
- If using Google Analytics you should immediately look at using the asynchronous code which is meant to fail gracefully in a service unavailable situation.
- Developers - I would also suggest testing your websites to see how they behave when any other externally hosted scripts are blocked -not just Google scripts, ANY scripts from any provider. You can do this easily using modifications to your hosts file to simply map the external paths to 127.0.0.0 thus preventing the files loading in your browser.
Finally. Developers creating scripts to be embedded in other peoples website's: test them thoroughly. Make sure that if they don't work, for any reason and the website hosting them goes down, they fail gracefully and don't stop the websites your scripts are embedded in from working.
In the true ethos of the internet, let's learn a few lessons from this event and make things a bit more scalable and resistant to failure again.