The GitHub outage yesterday and today(September 10-11,2012) is spawning this post. It is amazing the dependency web development has on third-party companies and hosting services. If one is out our workflow can be hindered. Even access to live site may go completely down. There are many external factors that can go into a single webpage.

Version Control

Site use Git in the development pipeline for version control. Hosted code repositories act as the true home of many enterprise level projects, systems and sites. Often the deployment of a site is a simple pull from a git repository onto a server with disabled FTP access. Though this is not too common it can be an option for those obsessed with security. This is also a good safeguard when it comes to uploading code while there are other pieces still in development.

Hosting

Yesterday (September 10) GoDaddy had a huge outage as well which prevent access to site management, email and hosting. So customers didn’t have access to essentially any of their products. This can cause a huge disruption in business especially if email is down as well. There will be inquiries pouring in about one’s website being down. If an email cannot be sent out to a users customer base from the official source that is not good at all. (or the ability to acknowledge incoming inquiries)

The last major external point of failure is Content Delivery Networks. They can be used for much more that just providing users a cached version of a library like jQuery but delivery of all of a sites content. These have some much better fail-safes in place though. The good CDN’s work similar to Cloud based providers and have servers all around the world. They do this so the content can be served up to users faster by covering less distance and hitting fewer switches. If one location fails other locations can pick up the slack. It may decrease the efficiency and speed but a site will still be accessible and usable.

Down vs. Broken

If a small CDN include such as a jQuery library breaks this is not a major issue if addressed quickly. For small items it is a simple implementation of a local copy of the library. However if this must be done on thousands of pages that include see how a simple fix is not a great solution?  If this problem occurs one’s site will still load but any functionality with jQuery will be gone.  I feel that it is better for an entire site to go down that for an entire site to appear broken.  A server problem is apparent to users as a clear problem. A website with broken functionality will appear as it is broken.  Without technical knowledge users may just think it is poorly developed.

Luckily it is rare that any of these services are lost for extended periods of time. This consistency makes it a bigger deal when they do go down as developers have come to depend on them!