スマホが壊れたとき、データのバックアップを取っていなくてすべて消えちゃった……なんて経験ある人、意外と多いんじゃないかな。「一つしかない」状態って、それが壊れた瞬間にすべてが終わりになる怖さがあるよね。実はそのリスクを避けるための考え方に「冗長性」という言葉があって、ビジネスやITの世界ではすごく大事にされているんだよ。なんか難しそうな言葉に聞こえるかもしれないけど、身近な例がたくさんあるから、この記事を読めばスッキリわかるよ。
- 冗長性とは、「一つが壊れても全体が止まらないように予備を用意しておく考え方」のことだよ
- スペアタイヤや病院の非常電源など、身近なところにたくさん存在する考え方で、ビジネスやITでも超重要だよ
- コストとリスクを天秤にかけてどこまで備えるかを判断するのが冗長性設計のポイントだよ
もうちょっと詳しく
冗長性(英語では「Redundancy」、つまりレダンダンシーということ)は、システムや組織が「一点に集中して依存している状態」を避けるための考え方だよ。一つの機械・人・ネットワーク回線などに障害が起きても、全体が止まらないように、あらかじめ予備の仕組みを組み込んでおくことを指すんだ。IT業界ではサーバーや電源・回線を多重化することを「冗長化する」と言うよ。ビジネスでは、仕事の属人化を防いだり、仕入れ先を複数持ったりすることも冗長性の一形態にあたる。「無駄」に見えても、実は「保険」として機能している大切な余白のことなんだよ。
冗長性=「計画的な余裕」。無駄じゃなくて、転ばぬ先の杖!
⚠️ よくある勘違い
→ 「余分なものを省けば省くほど効率的」と思いがちだけど、それは平時の話。いざ障害が起きたとき、冗長性がゼロだと全体が一気に止まってしまい、かえって莫大な損失につながることがあるんだよ。
→ 冗長化のコストより「システムが止まったときの損失」の方が大きければ、冗長性を持つ方が経済的に正解。コストとリスクを天秤にかけて適切なレベルを決めるのが正しいアプローチだよ。
[toc]
冗長性とは?一言で言うと「転ばぬ先の杖」
「冗長性」という言葉の正しい意味
「冗長性」という言葉、最初に見ると「冗長=くどい・無駄」というイメージを持つ人が多いんじゃないかな。日本語の日常会話では「冗長な説明」と言うと「くどくて長すぎる話」という意味になるから、そう思うのも自然だよ。でもビジネスやIT・工学の世界で「冗長性」と言ったら、まったく別の意味になるんだよ。
正確に言うと、冗長性とは「システムや仕組みの一部が壊れたり止まったりしても、全体として機能し続けられるように、あらかじめ予備の仕組みや部品を用意しておくこと」だよ。英語では「Redundancy(レダンダンシー)」と言って、直訳すると「余剰・余分」という意味になる。でも「計画的な余剰」だから、ただの無駄じゃないんだよ。
イメージとしては「保険」に近い感覚だよ。毎月保険料を払うのはコストだけど、いざ事故や病気のときに「入っていてよかった」となるよね。冗長性もそれと同じで、普段は使わない予備にコストをかけておくことで、万が一のときに全体を守ってくれるんだよ。
冗長性がない状態がどれだけ危ないか
冗長性がない状態のことを「単一障害点(SPOF:Single Point of Failure)がある状態」と言うんだ。つまり「一つが壊れたら、それだけで全体がアウトになる弱点のことだよ」という意味だよ。
たとえばチェーンを思い浮かべてほしいんだけど、チェーンってリングがたくさんつながっているよね。そのうち一つのリングが切れたら、チェーン全体が切れて使えなくなる。この「切れたリング一つ」が単一障害点になっているわけだよ。
システムでも組織でも、「ここが止まったら全部終わり」という弱点があると、そこを壊されたり、そこが偶然故障しただけで全滅になってしまう。冗長性を持つことで、この単一障害点をなくしていくのが大事なんだよ。
身近なところにある冗長性の例
日常生活の中に隠れている冗長性
冗長性って特別な概念じゃなくて、実は普段の生活のあちこちに使われているんだよ。気づいていなかっただけで、みんなの周りにもたくさんある。いくつか具体的な例を挙げてみるね。
- 車のスペアタイヤ:パンクしたときのために、トランクに予備のタイヤが積んである。普段は使わないけど、あるのとないのとでは大違い
- 飛行機のエンジン:旅客機には通常エンジンが2〜4基ついている。1基が故障しても残りのエンジンで飛び続けられるようになっているよ
- 病院の非常用発電機:停電になっても手術や生命維持装置が止まらないよう、別の電源を常に用意している
- スマホのモバイルバッテリー:大事な日にバッテリーが切れないよう、予備の充電器を持っていく。これも冗長性の考え方だよ
- 財布の中の現金とカード両方:カードが使えない店に備えて現金も持っておく。どちらか一方だけでは対応できない場面に備えているよ
- 大事なデータのUSBバックアップ:パソコンが壊れてもデータが消えないよう、別の媒体にもコピーを保存しておく
こうして見ると、「命や大事なことに関わるほど、冗長性のレベルを高くしている」というのがわかるよね。飛行機は命がかかっているからエンジンを複数積む。スマホのバッテリーは多少なくなっても命には関わらないから、モバイルバッテリーは「あれば便利」くらいのレベルでいい。冗長性のレベルは、リスクの大きさに比例するんだよ。
大手サービスのアプリが「落ちにくい」理由
LINEやInstagram、YouTubeって、ほぼ毎日使っているのに「落ちた」「つながらない」って滅多に経験しないよね。あれって実は徹底した冗長性設計の賜物なんだよ。
もしこれらのサービスがサーバー1台で動いていたら、そのサーバーが壊れた瞬間に世界中で「つながらない」が起きちゃう。でも実際はそんなことがほぼ起きないよね。なぜかというと、世界中の複数のデータセンター(つまり、大量のサーバーを置いてある施設のこと)でシステムを動かしていて、一台のサーバーが壊れても他のサーバーが自動的に代わりを担う仕組みにしているからなんだよ。これを「サーバーの冗長化」と言うんだ。
ビジネスの現場での冗長性
「この人しかわからない」が組織最大のリスク
学校のクラスで「鍵の場所を○○くんしか知らない」という状態を想像してみて。その○○くんが急に休んだら?みんなが困ってしまうよね。これと同じことが会社でも起きるんだよ。
「この仕事の手順はAさんしか知らない」「この取引先の担当はBさんだけが対応できる」という状態を「属人化」と言うんだ。つまり「特定の人に業務が依存している状態のこと」だよ。属人化は、その人が病気・退職・異動になっただけで業務が完全に止まってしまうから、組織にとって大きなリスクになる。これはまさに冗長性のない状態なんだよ。
だからしっかりした会社では次のような対策を取っているよ。
- 業務マニュアルの整備:誰でも同じ手順で仕事ができるように文書化しておく
- 複数人担当制にする:一つの業務に最低2人以上が関わるようにして、1人が抜けても他がカバーできるようにする
- ジョブローテーション:定期的に担当を変えて、複数の人がいろんな業務を経験できるようにする
これらは全部「人材面の冗長性」と言えるんだよ。人を予備に持つんじゃなくて、「誰でも対応できる状態を作る」というのが人材版冗長性の考え方だよ。
コロナで証明された「仕入れ先の冗長性」の重要性
コロナ禍のとき、マスクが急に手に入らなくなったのを覚えてるかな。あの頃、多くの企業が「マスクの仕入れ先が中国の一工場だけ」という状態だったんだよ。その工場が止まったとたん、どこにもマスクがなくなってしまった。
「仕入れ先が一社だけ」というのも、冗長性のなさの典型例だよ。これを「サプライチェーンの冗長性がない状態」と言って、つまり「材料や部品の調達先が一か所しかなくて、そこが止まると自社も止まってしまうリスクがある状態のこと」だよ。
コロナ以降、多くの会社が「仕入れ先を国内外に複数持つ」「在庫を多めに持つ」などの対策を強化したのはそのためだよ。これもサプライチェーン版の冗長性設計だよね。
IT・システムの冗長化設計の基本
冗長化の代表的な手法を知っておこう
IT業界では、冗長化のやり方がいくつか標準的に使われているよ。難しそうな名前があるけど、発想はどれもシンプルなんだよ。
- RAID(レイド):複数のハードディスクを組み合わせて、一つが壊れてもデータが消えないようにする仕組みだよ。つまり「ストレージの冗長化」のことだよ
- ロードバランシング(負荷分散):複数のサーバーにアクセスを振り分けることで、一台が壊れても他が動き続けられる仕組みだよ。大量のアクセスを捌くのにも使われるよ
- バックアップ:定期的にデータのコピーを別の場所に保存しておくこと。本体のデータが消えても、コピーから復元できるよ。これも冗長性の一形態だよ
- フェイルオーバー:つまり「メインのシステムが止まったとき、自動的に予備のシステムに切り替わる仕組みのこと」だよ。人が気づく前に切り替わるから、ユーザーはほぼ気づかないんだよ
「可用性99.9%」の裏側にある冗長化
IT系のサービスの契約書に「稼働率99.9%を保証します」と書いてあるのを見たことある人もいるんじゃないかな。これを「可用性」と言って、つまり「システムが正常に使える時間の割合のこと」だよ。
99.9%というのは、年間で約8時間しか止まらないということを意味するよ。99.99%になると年間で約53分しか止められない。この数字を達成するには、サーバーを何重にも冗長化して、電源もネットワーク回線も全部二重三重に備えておかないといけないんだよ。
「サービスがほとんど落ちない」という裏側には、徹底した冗長化設計があるんだよね。
冗長性はどこまでやればいい?コストとのバランス
冗長性を高めるほどコストがかかる
ここまで「冗長性は大事!」と言ってきたけど、当然ながら予備を用意するにはお金がかかるよね。サーバーを2台にすれば費用は約2倍になるし、担当者を2人にすれば人件費も増える。部品の在庫を多く持てば保管コストもかかる。だから「どこまで冗長性を高めるか」は、コストと相談しながら決めなきゃいけないんだよ。
リスクの大きさでレベルを決める
判断の基本的な考え方は「もし止まったらどれだけの損失が出るか」と「冗長化にかかるコスト」を比べることだよ。
- 病院の手術室の電源 → 止まれば人の命に関わる → 三重・四重に冗長化しても当然
- 銀行のATMシステム → 止まれば数千万円規模の機会損失 → 高コストをかけても冗長化すべき
- 個人のメモアプリ → 1時間止まっても大した影響なし → 最低限のバックアップで十分
「障害が起きたときの損失 > 冗長化コスト」なら冗長化する価値がある。「損失 < 冗長化コスト」なら過剰投資になってしまう。このバランス感覚が、エンジニアや経営者に求められる判断なんだよ。
冗長性は「保険」だと思えばOK
最終的に冗長性の本質をひと言で表すなら「保険」だよ。毎月の保険料はコストだけど、いざ事故が起きたとき「入っていてよかった」となるよね。冗長性も、普段は使わない予備にお金をかけておくことで、万が一のときに全体が守られるんだよ。
「普段使わないものにお金をかけるのはもったいない」と思うかもしれないけど、「使わないで済んだ」のは冗長性があったから無事だったとも言えるよね。本当に障害が起きて全部止まってしまったときのダメージを考えると、冗長性への投資は「ムダなコスト」じゃなくて「賢い保険」なんだよ。
冗長性という概念は、スペアタイヤから始まって、コンピュータのシステム設計、会社の組織体制、国の危機管理まで、あらゆる場所に使われている普遍的な考え方なんだ。「一つが壊れたら終わり」じゃなくて「一つが壊れても大丈夫な状態を作る」、この発想が冗長性のすべてだよ。
