去る5月18日、米国ナスダック市場に SNS サイト最大手の Facebook が上場を果たしました。
その日は世界中のメディアがこのニュースを取り上げ、大変な盛り上がりようでしたが、その後同社の株価は低迷。上場から 1 週間後には株価は 32 米ドル弱で公開価格を大きく下回り、29日には 29 米ドルを割り込むなど低迷を続けています。このあたりは、多くの方がご承知のとおりのところです。
こうした低迷の原因のひとつに(個人的には主要因と思っていませんが)、取引開始当日に発生したナスダックのシステム障害が取りざたされていることも、ご存知の方が多いでしょう。
この障害、具体的には、Facebook の上場当日、ナスダックが同社の IPO に予定より 30 分遅れ、約 20 分間取引の確認処理が停止、結果的に証券会社に取引の成立が通知されるまでに 2 時間以上を要した、というものでした。社会インフラ化した情報システムがひとたび障害を起こすと社会に大きな影響を与えることが、またしても示された格好になってしまいました。
一方、この障害は、多くの経営層の方々に認識を新たにしていただきたい出来事だと、わたしは考えています。これは単なる話題の企業の上場フィーバーとそのつまずきの話ではなく、情報システムに依存する現代のビジネスでは「システム障害でビジネスが止まる」ということを示しているのです。自らとは関係のない金融システムの問題と、捉えるべきではありません。
こうした出来事に目を凝らしてよく観察すれば、情報システムの弱さはどういう所に出やすいのか、見えてきます。それらはまさにシステムリスクであり、自社のシステムにおいても注意を向けるべきポイントになるのです。
今回のナスダック障害で考えるなら、次のようなことが見えてくるでしょう。
まず、情報システムは、「高速」「大量」をこなすのがウリだけど、「超高速」とか「超大量」にはわりと弱い、ということです。
ナスダックの発表によれば、実は Facebook 上場開始前に IPO Cross と呼ばれるオークション入札が行われていました。それに入札が殺到し、その入札結果で算定される上場開始時株価の計算処理において障害が引き起こされた、とされているようです。
入札を締め切ってから株式の実際の公開まで十分時間が取れるなら、きっと何の問題もなかったでしょう。しかし実際は、入札自体は上場開始直前まで受け付けます。したがって、高速な処理ができなければ株式の公開に支障があるわけです。「高速」が要求されるところに「大量」が重なり、障害が発生したと理解できます。
もうひとつ見えるとすれば、それは情報システムは「状態の整合」に弱い、ということです。どういうことかというと、複数のシステムがあったときに、お互いに状態を引き継いで動作するのがあまり得意ではない、ということです。
今回のナスダックの障害では、「ナスダックは IPO に予定より 30 分遅れた」とされています。実はこの「30 分」というのは、IPO 予定時刻から、ナスダックが障害のあったシステムをバックアップ側に切り替えたタイミングまでの時間です。これで、Facebook の株式が公開されました。
このとき、バックアップ側では、例えば株価の情報など、当初現用系であったシステムの状態を当然引き継いで動作しなければなりません。ところが、この時のバックアップ側は、切り替えられたタイミングから約 20 分前の状態までしか持っておらず、それ以降の入札情報を無視した状態で動作をスタートさせていたのです。
結果として、上に記したとおり、その約 20 分間の入札に関しては取引が成立したのか不明となり、それが 2 時間以上経過して解決となった、というわけです。
あるシステムに対してバックアップを設けるというのは、一般的に行われていることです。しかし、現用の状態に合わせた切替を精確に行おうとすればするほど、実は技術的難易度が高くなるのです。
今回のケースでは切替自体はうまく行った様子ですが、実は切替そのものに失敗するケースも多く発生しています。ベンダーが有償で販売しているソリューションであるにもかかわらず、です。
これは必ずしも、ベンダーにすべての責任があると言い切れません。もちろんベンダーには、いかなる状況でも安定して動作するソリューションを要求するべきですが、少なくとも現時点では、状態の整合は技術的難易度が高く、結果として脆弱性がぬぐえない、というのが現実です。
また、今回取り上げているケースとは若干離れるかもしれませんが、もうひとつ情報システムのもろさとしてぜひ知っておいていただきたいのが、「同期」に弱いということです。これは例えば、システム A とシステム B があったとしたら、A と B を完全に同調させて動作させるというようなことです。
これも、技術的難易度が高い処理です。「同期」させる対象として最も取り沙汰されるのは「データの同期」ですが、データの同期を前提として動作を行う処理があった場合、万一データの同期が外れてしまえば、その時点からその処理は完全に間違った動作を行うことになります。
こうしたことにもベンダーはソリューションを用意して「できます」と言うかもしれませんが、高価なうえに障害が出るリスクは大きいと捉えておくべきでしょう。
このように、ひとつのシステム障害をよく見るだけでもさまざまに教訓が得られ、自らがシステムを選定するときに使える「見る目」を養うことができます。
経営者やリーダーの方々も、ITには疎かったとしても、新聞は毎日ご覧になるでしょう。その中でシステム障害に関する記事を見かけたら、上記のような見方をしてみてください。
「情報システムはこういうことに弱い」と知っていれば、企画提案が上がってきたときにも、そういう視点で話が聞けるわけです。もっと安全かつ確実なやり方でできないのか。高価で失敗するリスクを抱えてでもやるべきことなのか。より深い検討ができるようになるはずです。
単に新聞の解説を読むだけで満足せず、ぜひこうした切り口で「本質」を読み解いていただきたいと思います。