一般に単に「IaaS」と呼ばれるInfrastructure-as-a-Serviceは、クラウド・コンピューティングの一形式で、基本的なコンピューティング、ネットワーク、ストレージ・リソースをオンデマンドで、インターネットを介し、従量課金制を利用して消費者に提供します。 IaaSを使用すると、エンド・ユーザーは必要に応じてリソースを拡張および縮小できるため、特に「スパイクの多い」ワークロードの場合に、高額の先行投資や不要な「所有」インフラストラクチャーの必要性を減らすことができます。 PaaSやSaaSとは対照的に(コンテナやサーバーレスなどの新しいコンピューティング・モデルと比較しても)、IaaSではクラウド内のリソースに対する制御が、最も低いレベルになっています。
IaaSは、2010年代初頭に人気のあるコンピューティング・モデルとして登場し、それ以来、多くの種類のワークロードの標準的な抽象化モデルになりました。 ただしIaaSは、現在も基礎であり続ける一方で、コンテナやサーバーレスなどの新しいテクノロジーの出現と、それに関連したマイクロサービス・アプリケーション・パターンの台頭によって、未だかつてないほどの競争の激しい分野にいます。
次の動画では、Bradley KnappがIaaSの基本を説明しています。
IaaSは、クラウドでアプリケーションとワークロードを実行するために必要な基本的な構成要素を消費者に提供する、以下の物理リソースと仮想化リソースの集合から成り立っています。
物理データセンター: IaaSプロバイダーは、通常は世界中の大規模なデータセンターを管理します。こうしたデータセンターには、さまざまな抽象化レイヤーを強化するために必要な物理マシンが含まれており、エンド・ユーザーはWeb経由で利用できます。 ほとんどのIaaSモデルで、エンドユーザーは物理インフラストラクチャーと直接対話せず、エンド・ユーザーへのサービスとして提供を受けます。
計算: IaaSは通常、仮想化されたコンピューティング・リソースとして理解されているため、この記事では、IaaSコンピューティングを仮想マシンとして定義します。 プロバイダーはハイパーバイザーを管理し、エンド・ユーザーはプログラムで仮想「インスタンス」に必要な量のコンピューティングとメモリー(場合によってはストレージ)をプロビジョニングできます。 ほとんどのプロバイダーは、さまざまなタイプのワークロードに対応するためにCPUとGPUの両方を提供しています。 クラウド・コンピューティングは通常、自動スケーリングや負荷平準化などのサポート・サービスとペアになっており、クラウドをまず第一に望ましいものにするような、スケールとパフォーマンスの特性を提供します。
ネットワーク: クラウドでのネットワーキングは、ルーターやスイッチなどの従来型のネットワーキング・ハードウェアが、通常はAPIを介してプログラマチックに利用できるようにする、ソフトウェア定義ネットワーキングの形式です。 より高度なネットワーキングのユースケースでは、マルチゾーン・リージョンと仮想プライベートクラウドの構築が含まれます。これについては、両方とも後で詳しくご説明します。
ストレージ: クラウド・ストレージの3つの主要なタイプとしては、ブロック・ストレージ、ファイル・ストレージ、およびオブジェクト・ストレージが挙げられます。 ブロック・ストレージとファイル・ストレージは従来型のデータセンターでは一般的ですが、クラウドのスケーリングやパフォーマンス、分散特性に苦労する場合が多くあります。 したがって、3つのうち、オブジェクト・ストレージがクラウドで最も一般的なストレージ・モードになっています。その理由は、オブジェクト・ストレージが高度に分散されている(したがって復元力がある)こと、コモディティー・ハードウェアを活用し、HTTP経由でデータに簡単にアクセスできること、および拡張が本質的に無制限であるだけでなく、クラスターの成長に応じて線形にパフォーマンスが拡大することにあります。
BMaaSは、従来型のIaaSよりもさらに低いレベルの制御を提供します。 BMaaS環境でも、リソースはオンデマンドでプロビジョニングされ、インターネット経由で利用可能で、従量制(通常は月単位または時間単位)で請求されます。
BMaaSが従来型のIaaSと異なるのは、すでに仮想化されたコンピューティング、ネットワーク、およびストレージをエンド・ユーザーに提供しない点です。その代わりに、基盤となるハードウェアに直接アクセスできるようになっています。 このレベルのアクセスよって、エンド・ユーザーはハードウェア仕様をほぼ完全に制御できます。 ハードウェアは仮想化されておらず、複数の仮想マシンをサポートしていないことから、エンド・ユーザーに最大量の潜在的なパフォーマンスを提供します。これは、HPCやGPUコンピューティング、高性能データベース、分析ワークロードなどのユースケースにとって非常に価値のあるものです。
従来型のデータセンターでの運用に精通しているエンド・ユーザーにとっては、BMaaS環境も、最も馴染み深い上に、既存のワークロードのアーキテクチャー・パターンを最適にマッピングする場合があります。
ただし、これらの利点は、従来型のIaaSのメリット、つまり、インスタンスのコピーを作成し、インスタンス間で負荷平準化するだけで、リソースを非常に迅速にプロビジョニングして水平方向にスケーリングする機能を犠牲にすることもあります。
BMaaSとIaaSの比較において、どちらかのモデルがより優れているということはなく、特定のユースケースやワークロードをサポートする上で、どちらが最適なモデルであるかという違いしかありません。
リソースの可用性と復元力を高めるために、今日のほとんどのクラウド・プロバイダーは、ワークロードが物理インフラストラクチャーと仮想インフラストラクチャー、さらには地域ごとにどのようにマッピングされるかについての階層を提供しています。
例として、IBM Cloudにはアベイラビリティー・ゾーンとリージョンがあります。 これら2つの用語は次のように定義されています。
IBM Cloudブログで、リージョンとゾーンについて詳しくお読みください。
多くのエンド・ユーザー、特に機密データや厳格なコンプライアンス要件を持つ企業にとっては、パブリッククラウド内のセキュリティーとプライバシーの追加が望まれます。 仮想プライベートクラウド(VPC) は、速度、規模、または機能を犠牲にすることなく、クラウド・インフラストラクチャー・リソースの追加の分離を作成する手段になり得ます。
VPCを使用すると、エンド・ユーザーはパブリッククラウド内で単一テナント用のプライベート・ネットワークを作成できます。 これらは、サブネットの作成、IPアドレス範囲の選択、仮想ファイアウォール、セキュリティー・グループ、ネットワークACL、サイト間仮想プライベート・ネットワーク(VPN)、および負荷平準化の制御をユーザーに提供します。
次の動画では、Ryan SumnerがVPCについて詳しく説明しています。
IaaSは通常、消費ベースで価格設定されます。つまり、ユーザーは使用分のみに課金されます。 時間の経過とともに、クラウド・インフラストラクチャーの価格設定モデルは、次のようにさまざまなレベルに細分化されてきました。
総合的に、クラウド・インフラストラクチャーが潜在的に適していると考えられる理由はたくさんあります。
IaaSは、汎用のコンピューティング・リソースとして、あらゆるタイプのユースケースをサポートできます。 今日、IaaSは、開発環境とテスト環境、顧客向けのWebサイトとWebアプリケーション、データ・ストレージ、分析とデータウェアハウジングのワークロード、および特にオンプレミスのワークロードのバックアップとリカバリーに最も一般的に使用されています。 IaaSは、SAPなどの一般的なビジネス・ソフトウェアやアプリケーションの展開と実行にも適しています。
また、IaaSは非常に多様なワークロードに対応できますが、後のセクションでご説明するように、いくつかの新興コンピューティング・モデルの方が、特定のタイプのワークロードやマイクロサービスなどのアプリケーション・アーキテクチャーへの対応に、より適している場合もあります。
IaaS、PaaS、およびSaaSの粗粒度の-aaSカテゴリーの違いについては、ベンダーとエンド・ユーザーのそれぞれがどのスタックの要素を管理するのかについて把握することで、最も簡単かつ一般的に理解することができます。
従来型のIT設定では、サーバーやネットワークの物理ハードウェアから仮想化、オペレーティング・システム、ミドルウェアなどに至るまで、スタック全体をエンドツーエンドで管理するのはエンド・ユーザーの責任です。
IaaS、PaaS、およびSaaSはそれぞれ、その後、漸進的な抽象化レイヤーを提供します。 IaaSは、物理コンピューティング、ネットワーク、ストレージ、および、これらのリソースを仮想化するために必要なテクノロジーを抽象化します。 PaaSは、さらに一歩進んで、オペレーティング・システム、ミドルウェア、およびランタイムの管理を抽象化します。 サーバーレス・コンピューティング(以下を参照)は、アプリケーション・コード自体以外のすべての管理を抽象化し、SaaSはエンドユーザー・アプリケーション全体をサービスとして提供し、スタックの残りの部分全体を抽象化します。
IaaS、PaaS、およびSaaSの違いの詳細はこちらをご覧ください。
最近では、クラウド・ワークロードに関する議論において、コンテナとサーバーレスの話題が多くの割合を占めるようになってきています。 クラウドの理想的な形を目指したジャーニーにおいて、IaaSは、あらゆる面で1つの段階となりました。
IaaSでは、エンド・ユーザーへの使用分に対する支払いについて、さらに細かい設定がありますが、実際の支払いが使用した分のみであることは稀です。 仮想サーバーであっても、処理の実行に長時間を要する上に、完璧とは言えない容量使用率である場合が数多くあります。
IaaSが多くの低レベルのコンポーネントを抽象化することで、開発者はビジネスを差別化するビジネス・ロジックに集中できますが、一方でエンド・ユーザーは引き続き、オペレーティング・システム、ミドルウェア、およびランタイムを管理する必要があります。
IaaSは多くの場合、従来のコンピューティングよりもリソースと財務効率が高くなりますが、VMの起動には多少時間がかかる可能性があり、各VMにはオペレーティング・システムの形でオーバーヘッドが発生します。
このITモデルは、ワークロードの観点ではほぼすべてをサポート可能でしたが、クラウドをクラウドたらしめる、特定の基礎を成す哲学と価値観においては、進化の余地がありました。
コンテナとサーバーレスは、特定のクラスのクラウドネイティブのアプリケーションとワークロードの優位性という点で、従来のIaaSモデルに対抗する2つの新しいクラウド・モデルです。
クラスターのエコシステム全体を管理するKubernetesなどのオーケストレーション・ツールを備えたコンテナが、プロセスまたはサービスのデプロイメントの標準ユニットとしてVMに置き換わり始めている事例もあります。
サーバーレスは、あらゆるモデルの中で最も前進したものであり、ビジネス・ロジック以外のほぼすべてを抽象化し、需要に合わせて完全にスケーリングする上に、支払いは使用分のみということを確実に保証します。
アプリケーションを分解して細分化し、独立してデプロイすると共に、独自のデータを管理し、APIを介して通信するという、マイクロサービスのアーキテクチャーに世界が移行するにつれて、コンテナとサーバーレスのアプローチは、より一層一般的になっていくものと考えられています。
今日、従来のIaaSが、クラウドで最も成熟したコンピューティング・モデルであり、この分野の市場シェアの大部分を制しています。しかしコンテナとサーバーレスは、今後必要に応じて日和見的に採用すべきである、注目のテクノロジーなのです。
IBMは、仮想化されたコンピューティング、ネットワーク、およびストレージの完全なIaaSレイヤーを含むフルスタック・クラウド・プラットフォームを提供します。 さらに、業界内で唯一IBM Cloudは、基盤となるハードウェアをさらに制御したいユーザー向けにBMaaSも提供します。
IBMは、IaaSに加えて、サーバーレス・アプリケーション向けのIBM Cloud Kubernetes ServiceおよびIBM Cloud Functionsを含む、クラウドネイティブのアプリケーションとワークロード向けのソリューションの提供にも取り組んでいます。
クラウドIaaSの使用を開始するには、IBM Cloudアカウントを作成し、最初の仮想サーバーをプロビジョニングします。
すべてのサーバー・リソースにルート・レベルでアクセスできる専用サーバーを使用してパフォーマンスを最大化し、安全なシングル・テナント構成を実現することで、簡単にワークロードをカスタマイズできます。
IBM Cloud Virtual Serversは、オンデマンドのプロビジョニングと拡張を行う、パブリックおよび専用の仮想サーバーであり、月単位と時間単位の請求オプションがあります。
クラウド・ストレージ・サービスは、デバイス間でのデータへのアクセスを可能にする、接続されたデータ・サーバーから成るスケーラブルで耐久性があり、セキュリティーが充実した、費用効果の高いネットワークで構成されています。