Alex Payne of Twitter explained its recent downtime episodes. According to him, Twitter was never designed as a messaging system, but more as content management system. Only the last year and a half, they tried to shift Titanic Twitter and this introduced uncertainty and complexity.
Our direction going forward is to replace our existing system, component-by-component, with parts that are designed from the ground up to meet the requirements that have emerged as Twitter has grown. First and foremost amongst those requirements is stability. We’re planning for a gradual transition; our existing system will be maintained while new parts are built, and old parts swapped out for new as they’re completed. The alternative – scrapping everything for “the big rewrite” – is untenable, particularly given our small (but growing!) engineering and operations team.
The current dynamics of Twitter are, indeed, highly sensitive to its initial conditions. The exponential growth perturbations of the initial conditions coupled with the ebbs and flows of circumstances and time, which dictates its current unpredictability and complexity. Remind us of a wave of butterfly wings in Buenos Aires can cause thunderstorm in London.