orangeitems’s diary

クラウドで働くインフラエンジニアの日々の感想です(ほぼ毎日更新)。

旧来の冗長化対策はもう古い これから考えるべき冗長化の在り方

f:id:orangeitems:20201012123423j:plain

 

そろそろ、アクティブ-スタンバイ型の冗長構成は、冗長化と言わない方がいいかもしれないなあと東証のシステム障害を思い返して感じます。

 

例えば、あなたが何か重要な任務に就いているとします。重要ですが一人、ワンオペなので役員が心配して、一人部下を付けてくれました。もしあなたが何らかの理由でその仕事ができなくなった場合は、その部下が肩代わりしてくれる、そんな目論見でした。役員も、「よし、これであなたが動けないときは、彼が肩代わりしてくれる。二名の冗長構成で、この重要な任務も簡単には崩れないだろう」としたり顔です。

さて、ある日、あなたに一週間の研修が命じられました。しかも泊まり込みでこの期間はリモートでも肩代わりできません。部下はこの間一人でさばかないといけなくなりました。

結果はどうなったでしょう。残念ながらうまくいきませんでした。部下は想定していた仕事をこなせず、業務は一部止まってしまい、あなたは研修から呼び戻されることになってしまいました。

役員はカンカンです。いつもの仕事の仕方がおかしいんじゃないのか。あなたが不在になったときの想定はしていたのか。引継ぎについて客観的なエビデンスを残していたのか。とかなんとか。

これが、アクティブ-スタンバイ型の冗長構成の失敗例です。

いくら引継ぎ手順を確立していたとしても、実際その必要なときに正しく動くかはまた別次元の話です。ですから、本当に引継ぎができるか、いろいろなケースを考えて事前にテストするのが常です。しかしいろいろなケースと言っても、全てを想定するのは難しい。そもそも全部のケースを想定できる人はこの世の中にはいませんし、どこまで想定するんだ、というのがポイントになります。

今回、なぜ引継ぎがうまく行かなかったかと言うと、平常時にない仕事がたまたま発生したためでした。そこまでなんで想定してなかったんだ!と役員は不満げでしたが、じゃあその状況になるかと言うととてもレアで、いくら引き継いでも一度はやってみせないとできないだろうな、と頭の片隅にはありました。

でも、うまく行かないときって、だいたいそういうレアパターンが、たまたま偶然に襲ってくるんですね。運が悪いといったらそれまでですが・・。

 

さて、こういったアクティブ-スタンバイ型の冗長構成は実際はもう時代遅れで、次世代のアクティブ-アクティブ型にすべきという論調が強いです。

例えるなら、あなたの重要な任務を実施する別の部署をもう一つ立ち上げ、互いに独立させて仕事をさせる、という体制です。

よく、ここで2つの部署を立ち上げたから、アクティブ-アクティブだと満足する人は多いのですがまだ不完全です。このフォーメーションは2つの部署のうち1つが倒れたときは、仕事を肩代わりすることを前提としています。しかし、普段の仕事で、この2つの部署が密接にお付き合いしていて、実は相手の部署が動いていないと自分の部署が動けない、なんて仕事の仕方をしていることがあります。

同じような仕事をしているから、ということで人を交流させたり、ワークフローを部署またぎさせたり・・。何しろ、関係性が深い場合は、協力し合っていてポジティブに見られるケースが多いのですが、私は危険だと思っています。

この二部署は、完全に独立して動かすべきです。隣の部署がどう動いているかなど全く関心すらなく、1つの部署としてできるだけ独立性を磨くべきです。

そうすれば、隣の部署が倒れようがどうしようが、仕事の仕方は同じだからです。その際に隣の部署がマヒし仕事が流れてきた場合は、その際に増強すればいいだけの話です。

 

アクティブ - アクティブであり、かつその両系は、できるだけ独立させて動き、「引き継ぎ」がなるべく動かないように設計する、というのがポイントです。

 

今日、ちょうどそういうことを指摘している記事を読みました。

 

www.j-cast.com

人工知能(AI)が株式の売買注文を出すようになり、取引所は大量の注文を高速でさばく必要に迫られている。そのためシステムは高度化していくが、「機械はいつか故障する」という前提で対応を考える必要がある。経済規模で世界第1位の米国も、第2位の中国も、株式取引を複数の市場に分散させ、トラブルが起きても市場を互いにバックアップさせているが、第3位の日本は東証に事実上集中させてきた。東証は競合していた旧大阪証券取引所と2013年に経営統合して、大証で扱っていた現物株取引を吸収した。札幌、名古屋、福岡の各証券取引所も現物を扱っているが、こちらも東証のシステムを利用しており、今回は同様に停止した。

 

www.nikkei.com

菅義偉首相は日本に世界の金融ハブをつくる「国際金融都市構想」の実現に向け、東京、大阪、福岡の3都市を競わせる。海外から専門知識を持つ高度人材を呼び込むため、減税措置や在留資格の特例制度を検討している。各都市の競争を通じて日本全体の受け入れ環境を底上げする。

 

独立性を保った複数の機能が、同じことをやる。これが真の冗長ではないかと考えます。

一極集中は、倒れた時に全てが止まってしまう、極端な構成です。

いくらスペア品を横に置いておいたとしても、いざ大事な時にそれが動くかどうかは不明です。

それより、同じことができる構成を、たくさん、独立させて動かしておけば、1つが停止してもその部分だけに限られます。そして、他の構成がバックアップしてくれます。

普段の仕事でもこの考え方は重要ですね。