冗長性の効果
冗長性の効果を理解するため、例を挙げる。
例えば、家の柱である。家の柱は、荷重を分散して支持すると同時に冗長性も持っている。そのため、家を構成する柱のうち1本が折れても、倒壊を招くことはない。つまり、一部の要素(柱)が機能不全を起こしても、全体が機能不全(家が倒壊)にならない構成となっている。
IT業界では、アプリケーションのリクエストを受け付けるサーバーを複数台用意しておくことで、1台が機能不全を起こしたとしても、サービスを継続して利用できるようにしている。
仮に、構成要素が壊れたとしてもシステム全体として機能を維持できることが冗長性の効果であり、利用者の体験を維持できる。
冗長性の組み合わせと障害時の維持方法
冗長性には様々な種類があり、組み合わせる要素の種類・障害時の維持方法に分けて説明する。信頼性の高いシステムを構築するためには、これらの要素をうまく組み合わせる検討が必要である。
組み合わせる要素の種類
異種冗長性と同種冗長性の2種類がある。
異種冗長性
異なる仕組みの要素を組み合わせるもので、列車のブレーキなどに用いられるアプローチである。列車のブレーキは、電気ブレーキ・油圧ブレーキ・空圧ブレーキといった異なる種類のブレーキを組み合わせる。それぞれ故障を起こす原因が異なり、全てが同時に故障する可能性が低いため、耐障害性が高い。ただし、構成が複雑で運用のコストがかかるため、高い障害耐性を求められる重要なシステムで用いられる。
同種冗長性
同じ要素を複数組み合わせるもので、例えば同じ紐(要素)を束ねたロープなどがある。異種冗長性と比較して、構成はシンプルで維持も容易である反面、単独の原因によって機能不全に陥る可能性がある。ロープでいうと、ナイフで切るとすぐに切断されてしまうようにである。
障害時の維持方法
能動的冗長性と受動的冗長性の2種類がある。
能動的冗長性
冗長に存在する要素を常に全て機能させる方法である。例を挙げると、家の柱やITサービスのサーバー構成である。複数ある要素が常に全て機能しておりその1つに障害が発生しても、システム全体が停止しない。また、全体を停止せずに要素の修理・交換が可能なことも能動的冗長性の大きな効果である。
受動的冗長性
機能していたシステムが完全に停止してから交換する方法である。例を挙げると、車のタイヤである。車のタイヤがパンクした時、パンクしたものをスペアタイヤと交換する。仕組みがシンプルでコストも抑えられるために多用される受動的冗長性だが、効果を発揮する際に、システムが一度停止する点に留意した上で用いなければならない。