新人エンジニア必見 非機能要件「可用性」について考える

SCSK LifeKeeper担当 池田です。

新人エンジニアの皆さんの中には、新人研修も一通り終えて、部署に配属されるかたもいらっしゃるかと思います。

これまでの研修のなかで、「機能要件」や「非機能要件」と言ったキーワードが出てきたかと思いますが、今回は「非機能要件」の「可用性」について考えていきたいと思います。

機能要件と非機能要件について

まずその前に、機能要件と非機能要件について簡単におさらいしたいと思います。

機能要件とは、「システム構築におけるお客様の要求事項」のなかでも業務内容に直結したものです。例えば「営業情報をシステム上で共有し把握したい」、「受発注情報に連動した在庫管理を行いたい」など利用者が自らの言葉で語ることのできるという特徴を持ちます。

一方で、非機能要件は、どちらかというと技術要素が強く、利用者からは具体化が進まないと語りにくい内容が多く、例えば、「レスポンスタイムは2秒以内にしてほしい」、「1点で障害が発生してもシステムダウンとならないようにして欲しい」、「将来的に性能を拡張できるようにしてほしい」といったものが該当します。

上記の通り、機能要件は、まさに利用者が「実現したいこと」であるため、利用者側から出てくることが多いですが、非機能要件については利用者でイメージすることが難しく、利用者側から網羅的に出てくることあまりありません

それゆえに要件定義の段階で、エンジニア側からの丁寧な説明と、利用者側との共通認識を持ちながら進めていくことが大切になります。

非機能要件にはどのようなものがあるか

非機能要件には、どのようなものが含まれるかを整理したいと思います。IPA(独立行政法人情報処理推進機構)が公開している非機能要求グレードでは以下の6つが示されています。

・性能・拡張性:システムの応答時間や処理速度、システムが将来的にどれだけ容易に拡張できるか
・可用性:使いたい時に使えるか。システムがどれだけの時間稼働しているか
・セキュリティ:データの保護やアクセス制御
・システム環境・エコロジー:法令や条例などの制約、耐震性、エネルギー消費効率など
・運用・保守性:システムの運用や保守のしやすさ
・移行性:他のシステムへの移行の容易さ
いずれもシステム開発で重要な要素ですね。
その中でも、今回は可用性について掘り下げたいと思います。
可用性とは、(上述した通り)利用者が使いたい時に使えることを意味しますが、逆に可用性を考慮しなかった場合はどのようなことが起こるでしょうか。想像してみましょう。

可用性を考慮しなかった場合を想像する

例えば、ECサイトで想像してみましょう。今やいつでも誰でもどこでも利用できるようになり、頼んだ次の日には届く、配達場所も選べるなど、生活になくてはならない存在となっています。いつでも使い時に使える、これが可用性です。
ここで想像してみましょう。
あなたは、いつもと同じように、ECサイトにアクセスして、明日必要な商品を購入しようと思いました。しかしいつまで経ってもECサイトにアクセスできません。その後何度かアクセスを試してみましたが、やはりダメでした。あなたはきっとこう思うことでしょう。「なんで肝心な時につかえないんだ!!」

このECサイトは、可用性を高める方策を取っていませんでした。これでは、あなたにとっては「買いたい時に買えない」、ECサイト側にとっても「売れるチャンスに売れない」という状況になってしまいます。このようなことが続けば、利用者はこのECサイトから離れていってしまうことでしょう。

だから可用性を考慮することが大切

先述の一例からも、可用性を考慮することはとても大切だということがお解りいただけたのではないでしょうか?

可用性を高めるためのライセンスや保守、運用といった費用はかかってしまいます。しかしひとたび障害が発生してしまうと、機会損失による逸失費用やイメージダウン、信用失墜などに繋がりかねません。

また将来確実に起こるとされている首都直下型地震や南海トラフ地震、富士山噴火などが発生した場合は、数週間から数か月、場合によっては年単位で復旧に時間を要すことが想像されます。

そのように考えると、可用性を考慮することは、必要不可欠であり、ビジネス継続の柱ともいえるのではないでしょうか?

とは言え、全てのシステムでお金をかけて可用性を向上することは現実的ではありませんよね。

その為、これから構築しようとするシステムが停止してしまった場合の復旧までに発生する損失額を試算し、可用性を高めるための費用を比べ適切に判断することが重要となります。

可用性にお金をかけるべきシステムかどうかをちゃんと考えなきゃ

LifeKeeperは可用性レベルとコストのバランスが取れた製品

ここまで可用性の重要性をお伝えしましたが、サーバを始めとする機械は、必ず壊れるものである前提で考える必要があります。

世の中には様々な可用性を高める製品がありますが、私がお薦めするのが、サイオステクノロジー社のLifeKeeperとなります。可用性レベルには大きく以下の表にある通り5つほどあります。上位であればあるほど、ダウンタイムが少なくなりますがその分コストが高くなります。

LifeKeeperはフォールトレジリエントと呼ばれる、障害による年間のダウンタイムが53分まで許容されるシステムで用いられます。中間レベルの可用性レベル(99.99%)となっており、可用性レベルとコストのバランスが取れた製品となっているのが特徴となります。

興味を持たれたかたは、是非SCSKに見積を依頼していただき、障害発生時の損失(企業イメージのダウンを含む)と比べていただくことをお薦めします。

まとめ

今回は、非機能要件のなかでも「可用性」についてお伝えしてきました。システムの重要度によって、可用性を高める必要を見極める必要があることをご理解いただけたかと思います。

LifeKeeperについて、詳しい内容をお知りになりたいかたは、以下のバナーからSCSK LifeKeeper公式サイトまで

著者について
池田 雄介

中学時代にMSXを手に入れ、N88-Basicでのプログラミングを覚える。その後、ユーザ企業の情シスから社会人人生をスタート。100人に1台程度しかパソコンが割り当たっていない時代に、Windows95のパソコンを全国展開、本社、支店、工場のLAN/WAN化を推進。WindowsNTサーバを弄りながら流行りのイントラネットや社外向けのサイト作成・運用など担う。
2002年に現在のSIerへ転職。2007年からオンプレミスや仮想環境を中心としたインフラ基盤の構築に携わり、2013年からLifeKeeperを担当。以来12年に渡り、LifeKeeperビジネスに携わってきた。
趣味は、草野球、ボウリング、バドミントン、キャンプ、天体観測、ゴルフ、お酒を嗜むこと、ドライブなど

池田 雄介をフォローする

クラウドに強いによるエンジニアブログです。

SCSKでは、自社クラウドと3大メガクラウドの強みを活かし、ハイブリッドクラウド/マルチクラウドのソリューションを展開しています。業界の深い理解をもとに、お客様の業務要件に最適なアーキテクチャをご提案いたします。サービスサイトでは、お客様のDX推進をワンストップで支援するサービスの詳細や導入事例を紹介しています。

LifeKeeperその他技術ナレッジ
シェアする
タイトルとURLをコピーしました