【今週の疑問】API障害とは何か

今週のトピック

Twitterが死んだ!この人でなし!

ファーーーーーwwwwwwwwww

おっと、開幕から失礼しました。
じゃねーよ!謝るのは俺じゃなくてイー〇ンだろうが!

というわけで、「Twitterできなくなったから記事でも書くかぁ」となったフログです。
同じ境遇の方もたくさんいらっしゃることでしょう。

特に一番よく聞くのが「API制限にかかった」というものです。これに引っかかると一日ほぼTwitterできなくなるという悲惨な状況に陥ります。

ところで、API障害とは何でしょうか?

お恥ずかしながら、私も今日はじめて知った単語です。
いつもの私なら「機械音痴の私には理解できるはずもない」と流しているところでしょう(フログは、「ノートパソコンのSSD容量」という言葉の意味を先週やっと理解したレベルの機械ド素人だ)。

しかし、今日の私はいつもとは違います。
「調べてやろうじゃないか!」という気概に満ちあふれているのです。

なぜって?
執筆サボってTwitterできないからさ!
HAHAHA!

そもそもAPIとは?

APIとは、「ソフトウェアやプログラム、webサービスの間をつなぐ」もので、具体的な形の決まりはありません。

これだけでは理解しにくいでしょう。もう少し具体的に説明します。

すべてのモノやサービスは、需要供給で成り立っています。

リンゴが食べたい人と、作ったリンゴを売りたい農家がいたとします。この場合、どうすればいいでしょうか?
そうですね。八百屋さんやスーパーなどの小売店が農家からリンゴを買って、それを欲しい人に売ります。

これがインターネット上だとどうでしょう?

神絵師の絵が見たい私と、描いた絵をみんなに見て欲しい神絵師の間をつなぐのは誰がやってくれるのですか?

そう、それこそがAPIなのです!

神絵師が絵をツイートし、その情報を保管。そして、その人の絵を欲しているフォロワーのTLにそれを表示。
そのように、インターネット上の需要と供給をつなぐのがAPIというシステムのお仕事です。

API障害はどうして起こるか

では次に、API障害とは何でしょうか?

これも先ほどリンゴの例で説明してみます。

八百屋Aは小さいので、1日に100個しかリンゴを仕入れません。
しかし、100人のお客さんがやってきて、全員が「リンゴ2個ください!」と言ってきました。
なんということでしょう。リンゴが足りません!
お店側は仕方なく「お一人様1個まで」の表示を出して対応しました。

これがインターネット上で起きているのがAPI障害です。

1人や2人ではなく、「数百万、数千万のツイートをそれぞれ見たい人のところに表示する」。
これは膨大なデータ容量になります。当然、処理するには大規模なサーバーが必要です。

先ほどの例で言うなら、リンゴがツイート、お客がツイッタラー、サーバーが八百屋です。

お客に対して店(サーバー)が小さすぎると、商品(ツイート)の提供が間に合わず、「お一人様600ツイートまで」の貼り紙が貼られるのです。
これがAPI制限です。

「でも、6月までは大丈夫だったじゃないか」
そう思う人は多いはずです。

では、6/30と7/1の間でTwitterに何が起きたのか説明しましょう。

先ほども言った通り、ツイートの管理には大規模なサーバーが必要です。
しかし、Twitter社はそんなサーバーを持ち合わせていません。
そこで、TwitterはGoogleと提携し、Googleのサーバーを借りることで運営していました。

契約なので当然ながら定期的に契約更新が必要なのですが、その契約期限が6/30日(アメリカ時間)でした。
普通ならば契約を更新して7/1からもGoogleのサーバーを借りて運営するはずが、

なぜか契約更新しませんでした。

どうも、「Googleに頼っている状況から脱却し、自社のサーバーだけでやっていけるようにしたい」という意図があったようですが、これが結果的には大失敗。

Twitter社のサーバーだけでは処理しきれず、見事API障害を引き起こしたのでした。

(これには、「Twitter社のサーバーだけでは処理できずにAPI障害が起きている」とする説の他に、
「Twitter社のサーバーでも処理はできるのだが、7/1までにGoogleサーバーからの移行が間に合わなくてトラブっている」との説もあります。)

かなり大規模な話ですから、この騒動が収まるにはもうしばらくかかりそうです。

これで、少しはAPI障害について理解して貰えたでしょうか?

私も素人なので、これからどうなるのかヒヤヒヤしています。
みんながまた楽しくTwitterできるようになればいいですね!

それでは今回はこの辺で。

参考文献
APIとは何か? API連携ってどういうこと?図解で仕組みをやさしく解説|ビジネス+IT

コメント

タイトルとURLをコピーしました