単一障害点(SPOF)について

f:id:ryoutaku_jo:20190831042335p:plain

【結論】

・単一障害点(Single Point of Failure)とは、システムを構成する要素のうち、停止するとシステム全体が停止してしまう部分のこと

・障害に強いシステムを設計する際、個々の構成要素を複数用意して冗長性を持たせる手法が一般的

・しかし技術的なハードルの高さやコストの問題などで、冗長化できなかった部分が単一障害点となる

【目次】

【本題】

単一障害点について

単一障害点とは、システムを構成する要素のうち、停止するとシステム全体が停止してしまう部分のことを指します。

障害に強いシステムを設計する際の重要な概念の一つです。

英語では「Single Point of Failure」の為、頭文字を取って「SPOF」と呼ばれる場合もあります。

システムの冗長化

単一障害点について説明するには、システムの冗長化に触れる必要があります。

システムの冗長化とは、システムの一部が故障した場合に備えて、システムの構成要素を複数用意しておくことを指します。

例えば、WEBサーバーを複数台用意して、故障したら予備に切り替えるという仕組みです。

障害に強いシステムを設計する上で、システムの冗長化は一般的な手法です。

しかし、予備で用意している要素は、普段は無くても支障が無い為、平常時は無駄になってしまいます。

その為、サービスがそのコストに見合わないということも十分あります。

また、納期や技術的ハードルの問題冗長化が困難なケースも存在します。

この様な事情で冗長化が見送られた箇所が、単一障害点となります。

レプリケーション

システムの冗長化の他にも、障害に強いシステムを設計する仕組みの一つに「レプリケーション」があります。

メインのサーバーのデータを、予備のサーバーにリアルタイムでコピーして、メインのサーバーが故障した際は予備のサーバーに切り替える仕組みです。

バックアップと似ていますが、バックアップが一定期間ごとにデータのコピーを行うのに対して、レプリケーションはリアルタイムでコピーします。

これにより障害が発生したとしても、最新のデータも含めて復旧させることが出来ます。

参考情報

単一障害点 - Wikipedia

冗長化 - Wikipedia

HAクラスター入門 ~第2回 あらゆるものを冗長化?~

インターネット用語1分解説~SPOFとは~ - JPNIC

Tech Tips: 単一障害点とは

レプリケーションとバックアップとアーカイブの違いについて

《今日の学習進捗(3年以内に10000時間に向けて)》

サービスの画面構成を見返しているが、やはり説明が不足しており、初見で操作を完結させるには難易度が高いと改めて感じた。
本来はデザインや文言の工夫や、リッチなチュートリアルなどで理解を促すのが理想的なのだろうが、リリースまで期限が迫っている為、まずは説明文を充実させて対処したい。

この様なユーザビリティの問題点は、開発を進める中では意識しにくいので、他にも問題が潜んでいることが考えられる。
週明けのテストでは、その辺りのチェックも入念に行って行きたい。

学習開始からの期間 :266日
今日までの合計時間:2513h
一日あたりの平均学習時間:9.5h
今日までに到達すべき目標時間:2429h
目標との解離:84h
「10,000時間」まで、

残り・・・「7487時間!」