A few days ago I was trying to open my gmail on a rather unstable Wifi connection, it was loading… loading… and suddenly it showed an error page saying:
Dear valued user,
You have reached the error page for the error page…
Pretty funny if you ask me. But what if I got this error while trying to access an application that is failing on me all the time?
I think I would find it at least very annoying. It made me realize every application of Google just works, all the time (well almost all the time). I blog this because I found the following very interesting page: highscalability.com.
Some data are calculated and sent to each application so the values are cached in local memory. This is an underused strategy. The fastest cache is in your application server and it doesn’t take much time to send precalculated data to all your servers. Just have an agent that watches for changes, precalculates, and sends.
Spanning multiple data centers is still an unsolved problem. Most websites are in one and at most two data centers. How to fully distribute a website across a set of data centers is, shall we say, tricky.
Use ultra cheap commodity hardware and build software on top to handle their death.
You build it, you run it. This brings developers into contact with the day-to-day operation of their software. It also brings them into day-to-day contact with the customer. This customer feedback loop is essential for improving the quality of the service.
Embrace innovation. In front of the whole company, Jeff Bezos would give an old Nike shoe as “Just do it” award to those who innovated.