どうも、フリーランスエンジニアのMakotoです。
今回は、クラウドのメリットを表す用語について解説します。
こちらの記事では、クラウドの5つの特徴とそのメリットを図解を交えて説明しました。
こちらの記事は主にサーバを調達してから構築完了するまでのメリットが中心ですが、今回ご紹介するのは構築が終わったサーバを運用していく時のメリットが中心です。
AZ-900試験では、障害や災害に強い、負荷に耐えられる、変化に対応できるなどの性質を表す「〇〇性」という言葉や「スケーラビリティ」などの横文字がよく登場し、クラウドの利点としてその意味を問われます。
似たような意味であっても微妙にニュアンスの異なる用語もあるので、この記事を読んでぜひ理解を深めてください。それではいってみましょう!
高可用性
可用性とは、システムやサービスを継続して利用できる度合いや能力のことです。英語では「アベイラビリティ(availability)」と呼びます。
そして、システムやサービスがいつでも利用できる(可用性が高い)ことを「高可用性(high availability)」と呼びます。
システムやサービスを継続して利用できる
Azureでは高可用性を担保するための様々な仕組みが備わっています。例えば、地域やデータセンターを跨いで複数のサーバを用意したりバックアップをしておくことで、災害や局所的な障害に強いシステムを構築することができます。
可用性を高くすればするほどコストが高くなる傾向になるため、コストとのトレードオフになる点に注意しましょう。
フォールトトレランス
フォールトトレランスとは、システムを構成する一部に障害があっても正常にサービスを継続できる能力のことです。
フォールト(fault)= 障害、トレランス(tolerance)= 耐久性といった意味で、日本語では「耐障害性」になります。
システムを構成する一部に障害があっても正常にサービスを継続できる
例えば、停電があっても自家発電設備に切り替わって電力の供給を継続できたり、データを保管しているディスクが1本故障しても別のディスクに書き込みされているのでデータが消失しない、といった性質のことです。
高可用性とほぼ同じ意味ですが「フォールトトレランス」は横文字でやや覚えにくいかもしれません。高可用性とセットで覚えておきましょう。
ディザスタリカバリ
ディザスタリカバリ(disaster recovery)は「災害復旧」という意味で、自然災害などの大規模障害から迅速に復旧することを指します。頭文字を取って「DR」と略して呼ばれることもあります。
自然災害などの大規模障害から迅速に復旧できる
Azureには地域やデータセンターをまたいでサーバを冗長化したり、複製したりできる機能が備わっており、例えば、東日本のデータセンターが丸ごと停止しても西日本のデータセンターで復旧させるような仕組みを取り入れることができます。
類似の用語として、前述のフォールトトレランスは「一部が停止してもサービスが停止しない」性質のことですが、ディザスタリカバリは「サービスが停止しても迅速に復旧する」ための取り組みです。(ある程度の停止は許容した上でなるはやでの復旧を目指す場合がほとんどです)
スケーラビリティ
スケーラビリティは「拡張性」という意味で、自由にサーバの台数を増減させたり性能を上げ下げできる能力のことです。(特に台数を増やす、性能を上げる場面で用いられます)
自由にサーバの台数を増減させたり性能を上げ下げできる
サーバの台数を増減させたり性能を上げ下げすることを「スケール」と呼び、クラウドを学ぶ上で頻出します。次の用語とセットで覚えておくのが良いでしょう。
- スケールアウト ・・・ 台数を増やす
- スケールイン ・・・ 台数を減らす
- スケールアップ ・・・ 性能を上げる
- スケールダウン ・・・ 性能を下げる
- 自動スケール ・・・ 負荷の状態によって自動的に台数を増減すること
弾力性
弾力性とは、負荷に応じて自動的に調整する能力のことです。「伸縮性」と表現されることもあります。要は、自動スケールできる性質のことです。
負荷に応じて自動的に調整できる
弾力性は英語で elasticity といい、「伸び縮みする」という意味の elastic(エラスティック)という用語はたまに耳にします(AWSではサービス名で頻出します)
似たような意味の用語に前述の「スケーラビリティ」がありますが、スケーラビリティはサービスの規模などに合わせて計画的に「手動で」スケールする意味合いが強く、負荷に応じて「自動で」スケールする弾力性とは厳密には少し目的が異なります。
・・・どっちもスケーラビリティでえぇやん。
機敏性
機敏性とは、変化に素早く対応できる能力のことです。「俊敏性」「アジリティ(agility)」とも呼びます。
個人的には、参考書などで表記がバラけていて最もややこしいと思った用語です。機敏性、俊敏性、アジリティ。。。Microsoft Learnでは「機敏性」と記載されていますが、アジリティもセットで覚えていた方が良さそうです(俊敏性は想像つくので)
変化に素早く対応できる
アプリケーションの要件変更や機能追加に応じてすぐにデプロイできたり、サーバをすぐに起動・破棄できるため、これまでに比べて圧倒的に早く開発のサイクルをまわすことができます。
これに似た用語に「アジャイル(agile)」があり「アジャイル開発」という言葉を耳にしたことがあるかもしれません。アジャイル開発は、機能単位の小さなサイクルで開発を素早く進めるための手法です。
まとめ
今回はクラウドのメリットを表す重要な用語6つについて解説しました。それぞれの用語をまとめると次の表のような形になります。
用語 | 意味 |
---|---|
高可用性 | システムやサービスを継続して利用できる |
フォールトトレランス | システムを構成する一部に障害があっても正常にサービスを継続できる |
ディザスタリカバリ(DR) | 自然災害などの大規模障害から迅速に復旧できる |
スケーラビリティ | 自由にサーバの台数を増減させたり性能を上げ下げできる |
弾力性 | 負荷に応じて自動的に調整できる |
機敏性(アジリティ) | 変化に素早く対応できる |
類似の用語もありややこしいですが、Azureのコアサービスや機能を理解する上でも重要です。しっかりと頭に入れておきましょう。