SPOFとは
SPOFとは、Single Point Of Failureの頭文字をつなげたもので、 日本語では「単一障害点」と呼びます。 システムを構成する要素のうち、そこが停止するとシステム全体が停止してしまう部分のことです。
障害に強い(可用性が高い)システムを設計する際には、個々の構成要素を複数用意して、 故障などの際には自動的に切り替えることで冗長性を持たせるという手段が一般的です。 しかしながら、技術的な理由や、コストの問題等ですべてを冗長化できない場合、 冗長化できなかった部分がSPOFとなります。
例えばWebサーバを例に挙げると、わかりやすくするために現在ではありえない構成ですが、 Webサーバが1台しかない場合はそのサーバが故障するだけでサービスが停止するため、 そこがSPOFになっています。 それを回避するためにWebサーバを複数台用意して、故障時に切り替える仕組みを入れた場合も、 切り替え装置が1台だけではそこがSPOFになりますし、停電が起こることを考えると、 無停電電源装置やシステムを複数拠点に設置するといった対策も必要になってきます。 さらには、通信断を考慮すると回線も複数用意した方が良いですし、 アクセス回線や伝送経路も異なるものが複数あった方が、より障害には強くなります。
このように、SPOFとなり得る要素は、サーバ、電源、通信回線など多岐にわたります。 前述のようにSPOFを減らすには冗長化が必要ですが、サーバを複数台用意したり、 非常用電源を確保したりするなどの対策には、相応のコストがかかります。 高可用性システムを設計/運用する際には、どこまでSPOFを減らすのかのバランスを考えることと、 どこがSPOFなのかを把握しておくことが大切です。