こんにちは。ERP・AI事業部 本社開発部の清水です。
みなさんは、ゲームのセーブデータが消滅したことはありますか?
私はよくありました。
特にスーパーファミコンのソフトは軽い衝撃でデータが消えたりしました。
(某ピンクで丸いキャラのゲームはトラウマレベルでデータが消えました・・・)
本題に戻ります。
みなさんは「RASIS」という言葉をご存じですか?
「RASIS」とは、システムにおいて「どれだけ、しっかりしているか?」を判断するための5つの要素をまとめたものです。
RASISの語源は5つの要素の頭文字をとったもので、各要素は以下の通りです。
R・・・Reliability(信頼性:壊れにくさ)
A・・・Availability(可用性:使用可能状態の維持の度合い)
S・・・Serviceability(保守性:維持管理のしやすさ)
I・・・Integrity(保全性・完全性:データがおかしくなっていないこと)
S・・・Security(安全性・機密性:使って良い人以外が使えないこと)
引用:https://wa3.i-3-i.info/word16314.html
冒頭にあげたセーブデータについては、保全性・完全性が欠けている、ということになるでしょうか。
スーパーファミコンのソフトはデータのバックアップが取れないことが基本となるので、保全性・機密性は担保されていない、となります。
RASISには様々な観点がありますが、今回は可用性について深く触れたいと思います。
理由は、先日、社内で行われた勉強会でインフラの可用性について学んだからです。
その勉強会で、サーバーを多重化することで可用性を向上させる手法について学びました。
サーバーを複数台用意して、通常時に使用される稼動系と、稼動系に異常が発生したときに切り替える待機系を用意するというものです。
1台だけでなく、複数台用意しておくことで安心!というわけですね。
最近では、システムがクラウド上に構築されることが多くなり、
クラウドサービスベンダーが提供する機能を利用すれば、可用性を担保できるようになっています。
ですが、ここで一つ問題があります。
クラウドのデータセンターで物理的な障害が発生したら・・・
怖いですね。
こんなことあってほしくないと思いますが・・・
最近、実際にデータセンターで火災が発生しました。
(ニュースのリンクはコチラ)
もし、そのデータセンターだけに環境やデータがあるとしたら・・・
データを復元することは難しいでしょう。
クラウド上で可用性を担保するには、待機系のシステムを別の地域のデータセンターに建てた方がいいのかもしれませんね。
さらに、データのバックアップも別のデータセンターに保管するようにするとより安心です。
※バックアップは、可用性ではなく、保全性・完全性を保証するうえでの観点となります。
以上、RASIS(特に可用性)について触れてみました。
システムを安定稼働させるためには、様々なことを考慮しなければならないのですね。
本稿で触れた要素以外にも様々な観点があるので、気になった方はぜひ調べてみてください。