This is a nice overview of the systems design behind the Google machine.
One of the interesting points in this article is a quote from Google CEO Eric Schmidt, “We believe we get tremendous competitive advantage by essentially building our own infrastructures,”. This is in line with my approach to building infrastructure.
When you have a business where the infrastructure directly faces the customer, such as the case with online music services, it’s vital that you maintain complete control and responsibilty for that infrastructure. Once you reliquish control, and responsiblity, for a piece of that infrastructure you no longer have control of your quality of service to your customers. You become completely dependant on the service provider who may not share your motivations, business goals nor sense of urgancy when addressing a problem. To the service provider, you are one of many customers, nothing special.
I’ve long believed that if something is core to your business, and I include the method by which you deliver you business as well as the business model itself, you must become expert in that field. This is obvious to most business folks when you are talking about business models (e.g. you would not go into the insurance business unless you were expert at insurance) but not obvious when talking about technology. If your business is online insurance quotes then you need to be expert at internet technologies as well or you will fail. Even if you have the best rates in the industry if you can’t build and operate a decent web site no one will use it.
I am not advocating re-inventing the commodity aspects of an online presence; the power, network and facilities into which this infrastructure is installed. Data center environments are highly capital intensive operations that are not core to most businesses so it makes no sense to build your own, unless your Google. 😉 The one exception to this is when choosing a data center pay carefull attention to network connectivity. This is critical to your ability to deliver your product. Again, data centers can provide connections to multiple backbone providers that are impractical to replicate on your own.
The moral of the story is don’t depend on others for critical aspects of your business,. In the long run you’ll be disappointed at best, and loose customers at worse.