どうもこんにちは!
サバ缶(@tech_begin)です。
現場で実際にシステムを構築する際、システムが停止しないような構成を考えなければなりません。
そこで、「基本的にはこれで間違いないでしょ!」という基本構想があるので、ご紹介します。
エンジニアとして、プログラミングだけでなくシステム構成も理解する力を持っておいたほうが良いでしょう。
冗長化について
以降「システム」は、実際にユーザが利用する『ITシステム全体』を指します。
システムには、必ずユーザがいるため、システムが止まってしまうと、ユーザの離脱や重要な処理(銀行や売上処理など)が行えないという問題に発展します。
みずほ銀行のATMが使えないという大規模障害が有名ですね。
そこで、システムを安定的に稼働する・大切なデータを守るために「冗長化」という考えが生まれました。
冗長化は、複数のコンピュータを用意してシステム障害に備えることです。
防災グッズを買うとき、万が一のために予備を買っておく。それと同じイメージです。
システム構成の種類と名称
その冗長化という考えを踏まえ、以下の3つの考え方が生まれました。
- デュアルシステム
- デュプレックスシステム
- シンクライアント
さらに細かく分類されるので、以下で詳しく見ていきましょう。
デュアルシステム
複数のシステムで同じ処理を行い、その処理結果を照合するシステム構成です。
片方のシステムが故障した場合、故障したシステムを切り離して処理を継続することが可能です。
つまり、片方が故障してもシステムは停止しない冗長化したシステム構成ですね。
デュプレックスシステム
「デュプレックス(duplex)」は「二重・複式」という意味があります。
同じ機能を持つコンピュータを2台用意しておき、実際に稼働するのは1台というシステム構成です。
「え、もったいなくない?」と思った方は良い勘してますね。
デュプレックスシステムには、稼働方法に2つの種類があります。
構築するシステムに応じて使い分けます。
- コールドスタンバイ
- ホットスタンバイ
コールドスタンバイ
前提として、主系システムと従系システムがあります。
通常は、主系と従系で異なる処理をします。
主系システムが正常に稼働している場合、従系の資源を有効活用できます。
そして、主系システムが故障した場合、従系の処理を停止してから主系の処理を起動します。
コストは後述のホットスタンバイに比べて低いですが、切り替えに時間がかかります。
そのため常に稼働しておかなければならない緊急性の高いシステム(銀行・地震予測など)には向かないでしょう。
ホットスタンバイ
主系と従系で同じ処理を行っているため、主系システムが故障した場合、迅速に切り替えができます。
しかし主系と従系の同期を取る必要があるため、導入・運用コストが比較的高くなります。
シンクライアント
クライアントには必要最低限の機能しか持たせず、サーバでアプリケーションソフトやファイルを管理するシステムです。
クライアントにデータなどを保存しないため、データやアプリケーションソフトの運用管理がしやすく、セキュリティ面でも優れています。
まとめ
システムの構成についてご紹介しました。改めて復習してみましょう。
- デュアルシステム
- デュプレックスシステム
- シンクライアント
基本的には「冗長化」してシステムが止まらないように予備のコンピュータを稼働します。
ほとんどのシステムは冗長化されており、ユーザがいつでもアクセスできるように準備しています。
それによってユーザは安心して当たり前のように利用できるわけですね。
次は、システムの処理形態について学んでいきましょう!