IaaS (Infrastructure as a Service) とは?

IaaS (Infrastructure as a Service) は、サーバー、ストレージ、ネットワークを含むコンピューティング機能をインターネット上でフルに利用できるサービスです。


IaaS は「HaaS (Hardware as a Service)」とも呼ばれるクラウドコンピューティングの一種で、コンピューティング、ネットワーク、ストレージのリソースにアクセスできるため、これらをオンサイトで購入、設置、メンテナンスせずに済みます。その代わり、IaaS ベンダーのほとんどは従量制モデルを採用しており、企業はコンピューティングリソースを「借りる」ことになります。安全なインターネット接続であればどこからでもリソースにアクセスできます。

インターネット上で使いやすいインフラストラクチャサービスを提供する IaaS は、ほぼすべての業界で非常によく利用されているソリューションです。以下に IaaS を使用するメリットをいくつか紹介します。

資本経費が不要で、継続コストも低減

オンプレミスのソリューションに依存する企業にとって、ハードウェアとメンテナンスコストは多額の経費です。IaaS はこうしたコストをなくします。ユーザーはリソースを使用したときに使用した分だけ料金を支払えばいいのです。
IaaS のメリット | ServiceNow

資本経費が不要で、継続コストも低減

オンプレミスのソリューションに依存する企業にとって、ハードウェアとメンテナンスコストは多額の経費です。IaaS はこうしたコストをなくします。ユーザーはリソースを使用したときに使用した分だけ料金を支払えばいいのです。

事業継続性の強化

事業継続性の効果は利用できるテクノロジーに大きく依存します。クラウドベンダーは、インフラストラクチャの責任を負うことで、緊急事態や災害時にも重要なテクノロジーが利用できるようにする責任も負うため、ユーザーは事業継続性を高められます。

信頼性の向上

企業がクラウドベンダーに対してインフラストラクチャリソースへのアクセスの料金を支払う場合、ベンダーは特定のサービスレベルを満たすことに同意したものとされます。サービスレベルアグリーメント (SLA) は、ビジネステクノロジーがいつでも利用可能で信頼できるものであることを保証し、サーバーのメンテナンス、ネットワークセキュリティのアップグレード、ハードウェア関連の問題解決をユーザーが行う必要はありません。そうしたタスクはすべてクラウドベンダーの責任となります。

迅速な拡張、縮小が可能

クラウドベンダーは通常、一度に複数の企業にサービスを提供するため、クライアントの変化するニーズを満たすには大量のコンピューティングリソースをいつでも使えるようにしておく必要があります。企業は需要の増減があれば簡単にリソースの拡張や縮小ができ、使用する分の料金だけ支払うことができます。

インフラストラクチャの制御を開発者に提供可能

IaaS は多くの場合、プログラム (つまりコード) で制御されています。つまり開発者は、IaC (Infrastructure as Code) を使用して独自のインフラストラクチャ要件を定義でき、コードをテスト環境と本番環境で展開すれば実装できます。これは責任を「左」にシフトしたと表現されることがあります。つまり、デリバリーパイプラインの初期の段階で、責任を運用のロールから開発者や DevOps チームアクティビティに移行したということです。

IaaS では、企業は信頼性の高いリモートインフラストラクチャ上で独自のプラットフォームを構築できます。このように、IaaS アプリケーションはほとんど制限がありません。IaaS には以下の 3 つの主なユースケースがあります。

ストレージと災害復旧

IaaS では、ストレージのニーズに合わせてリソースを拡張できるため、バックアップと復旧システムの管理が簡素化されます。

データ分析

IaaS はビッグデータとビジネスインテリジェンスを効果的に組み合わせることができるため、企業は構造化/非構造化データソース (ソーシャルメディア、メール、画像など) から競争上の優位性をもたらすインサイトを引き出せるようになります。

テストと開発

信頼度に関わらず、ソフトウェアを展開するにはまずテストと評価を行う必要があります。IaaS では、企業はコンピューティング能力とその他のリソースをすばやく簡単に拡張し、自社製品や特定のニーズに合わせた現場でのテスト環境をセットアップできるため、他の方法よりも短期間で展開できます。開発者には、コードで機能を書き込むのと同じように IaC (Infrastructure as Code) を定義する権限を与えることも可能です。

従来のオンプレミスのコンピューティングソリューションでは、企業がエンドツーエンドのスタック全体 (ハードウェア、ソフトウェア、オペレーティングシステム、仮想化などを含む) の管理に責任を負うのに対して、クラウドコンピューティングでは、これらの責任の一部あるいは全部をベンダーが負い、クラウド上でアクセスできるオプションとして構築してくれます。

IaaS はクラウドコンピューティングの形態の 1 つに過ぎません。他には PaaS (Platform as a Service) や SaaS (Software as a Service) などの形態があります。これらの違いは、どのスタック要素がユーザー/顧客の責任なのか、どれをクラウドベンダーが管理するのかという点にあります。

SaaS、PaaS、IaaS の比較

IaaS

オンプレミスソリューションでは、コンピューティングリソースに対する全責任と制御をエンドユーザーが負います。これに対して、IaaS ソリューションでは、クラウドベンダーが必要なインフラストラクチャテクノロジー (ハードウェアやコンポーネントを含む) を提供し、すべての関連機器のハウジング、運用、メンテナンス、アップデートの責任を負います。顧客はこのインフラストラクチャを使用して、自社のアプリケーションスタックだけを展開できます。

IaaS では、エンドユーザーがアプリケーション、ミドルウェア、ランタイム、仮想ネットワーク、オペレーティングシステムを提供する一方で、クラウドベンダーが物理ネットワーク、サーバー、ストレージを担当します。IaaS プロバイダーは付随するサービス (ロードバランシング、セキュリティ、モニタリングなど) を提供することもあります。

PaaS

PaaS は IaaS よりも 1 段階進んだもので、消費者対応アプリケーションのホスト、構築、展開に必要なリソース、ストレージスペース、インフラストラクチャをエンドユーザーに提供します。IaaS ソリューションと同じように、PaaS クラウドベンダーはインフラストラクチャと物理ハードウェアやサーバーの責任を負いますが、カスタムアプリの作成に必要なランタイム、ミドルウェア、オペレーティングシステムも提供します。

SaaS

SaaS はクラウドコンピューティングの論理的帰結です。全スタックを管理し、関連リソースのすべてに対して基本的に全責任を負います。SaaS はおそらく最も有名で広く利用されている業務用クラウドコンピューティングの形態です。完全に開発されメンテナンスされたアプリケーションへのアクセスを提供しており、これは一般的な Web ブラウザならどのブラウザからでもアクセスできます (ローカルでのインストール不要)。

IaaS、PaaS、SaaS がクラウドコンピューティングの最も一般的な形態ですが、新しいクラウドモデル (コンテナやサーバーレス) が普及し始めていることを知っておいても良いでしょう。これらのモデルはサーバーと仮想マシンを貸し出してそれを元に構築するという IaaS のコンセプトを踏襲しています。結果としては、開発者のコーディングの責任が減り、より包括的なレベルのサービスがベンダーから提供されます。

コンテナ

簡単に言うと、コンテナはすべての必要なコードと関連する依存関係を含むソフトウェアの自己完結型ユニットです。このため、アプリケーションはどんなコンピューティング環境でも効果的に機能し、ある環境から別の環境に移すことも可能です。コンテナは物理マシンの仕事を模倣したり実現したりするのではなく、アプリケーションレイヤー自体を抽象化するため、開発者は自社のアプリケーションがどんなオンプレミスサーバーでもクラウドプラットフォームでも正常に機能することを確信できます。

サーバーレスコンピューティング

サーバーレスコンピューティングでは、完全なアプリケーションを用意する必要がなくなりました。ユーザーがアプリを構築して、提供されたインフラストラクチャ上で実行するのではなく、さまざまなアプリケーションコンポーネントを構成要素である機能に分割します。そしてベンダーがアプリを構築し、各機能の拡張縮小や請求を行い、アプリケーションがサーバー上で最適に実行されるように処理能力を適切に割り当てます。サーバーレスはほぼ「すべて」を抽象化するため、ユーザーが定義すべきなのはビジネスロジックのみとなります。

IaaS の方がよりリソース効率のいいアプローチですが、コンテナやサーバーレスソリューションはクラウドコンピューティングの未来を象徴しているとも言えるかもしれません。

IaaS にはいくつかの明確なメリットがありますが、課題がないわけではありません。

コスト管理

IaaS のコスト構造は非常に細かくなっています。使用した分だけ支払うのは不要なコストを避けるという点で確かにメリットなのですが、その反面、使ったもの「すべて」に対して「常に」料金を支払うことになります。また、あらゆるリソースやサービスに値段が設定されているため、あっという間にコストが跳ね上がることもあり得ます。こうした点から、IaaS のコスト管理や予測は難しくなっています。

ピアツーピア構成

IaaS ユーザーは提供されるコンピューティング/インフラストラクチャリソースを使用する権限がありますが、インフラストラクチャ自体の構成や詳細を見る権限はない場合もあります。これによって、システム管理を困難にする可視性と透明性の問題が出てくるおそれがあります。

チーム変更が困難

運用チームに関して言うと、IaaS では開発者がインフラストラクチャに関する意思決定についてより多くのことを管理するように強いられます。企業が別のプロジェクトモデルに移行する場合、製品チームに運用担当者を配置することが多いのですが、それがインフラストラクチャの変更や構成の管理に関する問題の原因となるおそれがあります。

運用者のミス

開発者が IaC を使用してインフラストラクチャを定義できるということは、インフラストラクチャの構成に関するチェックは運用の範疇からパイプラインの一環として行うべきものへと移行するということです。Configuration Data Management は類似の自動化アプローチをテストとパイプライン内セキュリティとして利用する新しいパイプライン原則です。

ベンダーリスク

さらに、IaaS ソリューションを利用するということは、クラウドベンダーを信頼するということです。ベンダーが機能停止に陥ったり、予期せぬ攻撃にあったりした場合、依存している企業はマイナスの影響を受けるおそれがあります。

ServiceNow API とインテグレーションの詳細

IaaS を ServiceNow と統合しましょう。ServiceNow の API、統合ツール、分析機能は、SaaS、IaaS、レガシーシステム、社内外のデータベースと統合することで、ビジネスの課題により速く対応できるようになります。