Overflowのアーキテクチャが紹介されてます。予備1台)、DBノード4台、アプリサーバ3台、検索サーバ3台(Elasticsearch)、Redisサーバ2台(キャッシュ、メッセージング)毎秒質問が投稿されているので、トップページには都度最新の質問を掲載するように更新はできないが、ユーザの回答パターン、質問閲覧パターン、好みのタグを把握して掲載される質問をだし分けるアルゴリズムを採用している。RAMなのが効いている、Webサーバは10%-15%。(CPU稼働?ちょっとスライドが見づらい。)計算上は5台のサーバで運営できるということ。これが実現できているのはシンプルにしているから。.NETフレームワークで、プロジェクトは9件、コードは11万行。テストはほとんどしないが、ユーザがmeta.stackoverflow.comで積極的にバグの報告などをしてくれる。1日5回本番にアップ。ソリッドステートディスクキャッシュのコードはこの10行(見づらいですがビデオで確認できます。スタティックメソッド/スタティッククラスを使っている。オブジェクト指向プログラミング視点ではよくないが、とにかく早いし、ダイレクトに反映できる。人気のある回答のページに関わるコードには3つのクラスがあり、それぞれの処理にはナノ秒しかかからないが、それでもキャッシュする。viewで都度クラスをつくると、ガベージコレクタの対象を増やすことになる。このクラスのコピーをつくって、各ページで再利用する仕組みにしている。ライブラリは極力オープンソースとして提供することにより、そのコードはデベロッパーコミュニティのものとなり、またStackoverflow自体のコードベース、プロジェクトを減らすことにも貢献してくれる。Stackoverflowの開発チームは5人だけ。(これはStackoverflowのプラットフォームチームのことを指しているようなので、後日の記事を見ると、スマホやその他の開発のチームは別途いるようですね。)とにかくベストなGeekを雇うこと。抽象化、ライブラリは便利だけど、パフォーマンスをあげる肝は、.NETのアセンブリ言語のローレベルまで深堀して調べること。