Twitterのサービス障害問題は、おそまつなエンジニア作業のなせる業なのか、アプリケーション構築にRuby on Railsを選んだせいなのか?
Twitterの開発者ブログで米国時間5月29日、あるエンジニアがウェブ開発プラットフォームとして今後もRuby on Railsを利用すると書いている。この開発者によると、悲惨なサービスの原因は、老朽化したアーキテクチャだという。
Twitterのサービス障害問題は、忙しいWeb 2.0型コンピュータユーザーからの軽蔑を買った。これを受けてTwitterは、現在公開しているQ&Aフォーマットのブログなど、技術に関する詳細情報を開示しはじめている。
多くの質問が寄せられたのが、Ruby on Railsを利用してのアプリケーション作成が賢明な選択だったのか、Twitterは他のウェブ開発技術を利用すべきかどうか、の2点だ。
Rubyはスクリプト言語で、アプリケーションによってはJavaやCよりも速度が劣ることがある。一般に言われているトレードオフは、コードを高速に書けるという点だ。Railsは、速度に合わせて最適化されているウェブ開発フレームワークだ。
Twitterが提供するメインのサービスは、ウェブでメッセージを送るというものだ。これを考えると、当分の間はフロントエンドでのRailsと組み合わせたRubyの採用は道理にかなっているといえる。だが、Twitterは他の言語にも前向きだ。この開発者は次のように書いている。
「われわれはRubyで多くのコードを作成しており、今後もフロントエンドでは当分の間、Railsを使ってのRuby開発を進める。われわれのシステムでRubyが適している部分でやるべき作業はたくさんあり、それ以外の部分では、他の言語および技術が適している。重要な課題は、主にアーキテクチャ的なものであり、われわれの成長に伴いインフラストラクチャを拡大することにある。Rubyで開発することにおいて、経験上、トレードオフは、開発速度/生産性とVM速度/インストルメンテーション/可視性だ」
Twitterにおけるサービス停止とパフォーマンスの遅さは、一度に多く「Tweet」するフォロワーを持つ「人気メンバー」による、と同社では述べている。そのため、一部ユーザーができることに何らかの制限を加えるが、それは目立つべきではない、と同社は述べる。
「ある種の制限が設けられており、追加されている。正規ユーザーに気づかれるべきでないが、それら新しい制限は、最悪の不具合や攻撃を緩和するのを助けてくれる」
この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」