クラウド アーキテクチャは、クラウド構築の重要な要素です。レイアウトを参照し、クラウド コンピューティングに必要なすべてのコンポーネントとテクノロジーを接続します。
クラウドへの移行は、アジリティとスケーラビリティの向上から費用対効果の向上まで、オンプレミス環境に比べて多くのメリットを提供します。多くの組織は、まず最小限の変更でオンプレミス アプリケーションを移行する「リフト&シフト」アプローチから始めることがありますが、最終的にはクラウド環境のニーズと要件に合わせてアプリケーションを構築してデプロイする必要があります。
クラウド アーキテクチャにより、コンポーネントの統合方法が決まります。これにより、ネットワークを介してリソースをプール、共有、スケーリングできます。これは、クラウド環境でアプリケーションを実行してデプロイするための構築用ブループリントと考えることができます。
Google Cloud でビジネスニーズに合わせてクラウド アーキテクチャを設計する方法をご覧ください。Google のアーキテクチャ フレームワークは、ワークロードのビルドとクラウド移行に関するガイダンス、推奨事項、ベスト プラクティスを示しています。Google のアーキテクチャ作図ツールを使って、事前構築済みのリファレンス アーキテクチャをユースケースに合わせてカスタマイズできます。
クラウド アーキテクチャとは、ハードウェア、仮想リソース、ソフトウェア機能、仮想ネットワーク システムなどのさまざまなクラウド テクノロジー コンポーネントがどのように相互に接続され、クラウド コンピューティング環境を構成しているかをいいます。これは、特定のビジネスニーズに合わせたクラウド環境を構築するためにリソースを戦略的に組み合わせる最適な方法を定めた設計図の役割を果たします。
クラウド コンピューティングでは、フロントエンド プラットフォームにクライアント インフラストラクチャ(ユーザー インターフェース、クライアント側アプリケーション、ユーザーがクラウド コンピューティング サービスを操作してアクセスできるクライアント デバイスまたはネットワーク)が含まれています。たとえば、スマートフォンでウェブブラウザを開き、Google ドキュメントを編集できます。これら 3 つはすべて、フロントエンド クラウド アーキテクチャのコンポーネントに相当します。
一方で、バックエンドとは、コンピューティング リソース、ストレージ、セキュリティ メカニズム、管理など、クラウド自体を構成するクラウド アーキテクチャ コンポーネントを指します。
主なバックエンド コンポーネントは次のとおりです。
アプリケーション: クライアントがフロントエンドからアクセスして、クライアントのリクエストや要件を調整したり満たしたりするバックエンド ソフトウェアまたはアプリケーションです。
サービス: サービスは、クラウド アーキテクチャの中心となるもので、クラウド コンピューティング システム上で実行されるすべてのタスクを処理します。ストレージ、アプリケーション開発環境、ウェブ アプリケーションなど、ユーザーがどのリソースにアクセスできるかを管理します。
ランタイム クラウド: ランタイム クラウドは、サービスが実行される環境を提供し、サービスタスクの実行と管理を処理するオペレーティング システムとして機能します。ランタイムは仮想化テクノロジーを使用して、アプリ、サーバー、ストレージ、ネットワーキングなど、すべてのサービスを表すハイパーバイザを作成します。
ストレージ: バックエンドのストレージ コンポーネントには、アプリケーションを運用するためのデータが保存されます。クラウド ストレージ オプションはプロバイダによって異なりますが、ほとんどのクラウド サービス プロバイダは、膨大な量のデータをクラウドに保存、管理するための柔軟でスケーラブルなストレージ サービスを提供しています。ストレージの例としては、サーバーベイ内のハードドライブ、SSD(ソリッド ステート ドライブ)、永続ディスクが挙げられます。
インフラストラクチャ: インフラストラクチャは、クラウド アーキテクチャの最も一般的なコンポーネントといえます。実際、クラウド インフラストラクチャはクラウド アーキテクチャであるとも考えられます。ただし、クラウド インフラストラクチャは、CPU、画像処理装置(GPU)、ネットワーク デバイス、システムの円滑な稼働に必要なその他のハードウェア コンポーネントなど、クラウド サービスに使用されるすべての主要なハードウェア コンポーネントで構成されています。インフラストラクチャは、あらゆる実行と管理に必要なすべてのソフトウェアでもあります。
一方、クラウド アーキテクチャは、クラウド リソースとインフラストラクチャをどのように編成するかを決定する計画です。
管理: クラウド サービスモデルでは、ユーザーの要件に従ってリソースをリアルタイムで管理する必要があります。管理ソフトウェア(ミドルウェア)を使用して、バックエンドとフロントエンドのクラウド アーキテクチャ コンポーネント間の通信を調整し、特定のタスクにリソースを割り当てることが不可欠です。ミドルウェアだけでなく、管理ソフトウェアには、使用状況のモニタリング、データ統合、アプリケーションのデプロイ、障害復旧のための機能も含まれます。
セキュリティ: クラウド コンピューティングを採用する組織が増える中、データ、アプリケーション、プラットフォームを保護するためにクラウドのセキュリティ機能とツールを実装することが非常に重要です。可視性を担保し、データの損失とダウンタイムを防ぎ、冗長性を確保するには、データ セキュリティとネットワーク セキュリティの計画と設計が不可欠です。これには、定期的なバックアップ、デバッグ、仮想ファイアウォールが含まれることがあります。
クラウド アーキテクチャでは、各コンポーネントが連携して、リソースとサービスへのオンデマンド アクセスをユーザーに提供するクラウド コンピューティング プラットフォームを実現します。
バックエンドには、クラウド サービス プロバイダが提供するすべてのクラウド コンピューティング リソース、サービス、データ ストレージ、アプリケーションが含まれます。ネットワークの使用により、フロントエンドとバックエンドのクラウド アーキテクチャ コンポーネントを接続し、コンポーネント間でデータを送受信できるようになります。ユーザーがフロントエンド(またはクライアント側インターフェース)を操作すると、サービスモデルが特定のタスクまたはリクエストを実行するミドルウェアを使用して、バックエンドにクエリを送信します。
使用可能なサービスの種類は、選択したクラウドベースのデリバリー モデルまたはサービスモデルによって異なります。主なクラウド コンピューティング サービスモデルには、次の 3 つがあります。
基本的なクラウド アーキテクチャ レイヤは次のとおりです。
選択可能なクラウド アーキテクチャの主なタイプは、パブリック型、プライベート型、ハイブリッド型の 3 つです。
パブリック クラウド アーキテクチャは、サードパーティのクラウド サービス プロバイダが所有および運営するクラウド コンピューティング リソースと物理インフラストラクチャを使用します。パブリック クラウドでは、独自のハードウェアやソフトウェアに投資することなく、リソースを簡単にスケーリングできますが、他のユーザーにも同時にサービスを提供するマルチテナント アーキテクチャを採用する必要があります。
プライベート クラウド アーキテクチャは、ユーザーの組織が所有、管理する専用のクラウドを指します。ユーザーの自社データセンターでオンプレミスで限定公開でホストされているため、リソースをより細かく制御し、データとインフラストラクチャをより安全に管理できます。ただし、このアーキテクチャはかなり高価であり、維持するには多くの IT 専門知識が必要です。
ハイブリッド クラウド アーキテクチャは、パブリック クラウド アーキテクチャとプライベート クラウド アーキテクチャの両方を使用して、クラウド サービスを柔軟に組み合わせたものです。ハイブリッド クラウドでは、環境間でワークロードを移行できるため、ビジネスの需要とワークロードに最適なサービスを利用できます。ハイブリッド クラウド アーキテクチャは、データを制御する必要があるものの、パブリック クラウドのサービスも活用したい企業で選択されることの多いソリューションです。
近年、複数のクラウド プロバイダが提供するクラウド サービスの利用を希望する組織が増える中、マルチクラウド アーキテクチャ も登場しています。マルチクラウド環境は、ベンダーを問わず、特定のサービスに合わせてユースケースを柔軟に調整できることで人気が高まっています。
クラウド アーキテクトは、組織のクラウド アーキテクチャの開発、実装、管理を担当する IT エキスパートです。クラウド戦略が複雑さを増し続ける中、企業がクラウド環境の複雑な状況に対処し、適切な戦略を実施し、クラウド システムの円滑な運用を維持できるよう支援するために、クラウド アーキテクトのスキルと専門知識がますます重要となっています。
組織にとってのクラウド アーキテクチャの利点としては、以下が挙げられます。
優れた費用対効果 サーバーの初期費用に投資するのではなく、クラウド サービス プロバイダのインフラストラクチャを利用することもできます。動的プロビジョニングにより、使用したコンピューティング リソースに対してのみ料金を支払うことで、支出をさらに最適化できます。 | 製品化までの時間を短縮 コンピューティング インフラストラクチャの調達、設定、構成を待つ必要がなくなります。クラウド アーキテクチャを採用することで、迅速に運用開始できるため、新しいプロダクトの開発と提供により多くの時間を費やせるようになります。 | スケーラビリティ クラウド アーキテクチャを採用すると、インフラストラクチャの要件に基づいてコンピューティング リソースを柔軟にスケールアップ(またはスケールダウン)できます。成長または季節的なトラフィックの急増による需要の増加に対応するため、簡単にスケーリングできます。 |
変革の加速 Kubernetes のようなクラウドネイティブ アーキテクチャを使用すると、クラウド サービスと自動環境を最大限に活用してモダナイゼーションを加速し、デジタル トランスフォーメーションを促進できます。 | 高可用性 クラウド アーキテクチャ上で実行、管理されるアプリケーションは、負荷の変動に関係なく継続的な可用性を確保できるハイ パフォーマンス コンピューティング リソースの恩恵を受けることができます。 | |
強固なセキュリティ クラウド サービス プロバイダは、データ、システム、ワークロードを保護するために、専門家と最新のテクノロジーの力を借りて、常にセキュリティ メカニズムをアップグレードして改善します。 |
優れた費用対効果
サーバーの初期費用に投資するのではなく、クラウド サービス プロバイダのインフラストラクチャを利用することもできます。動的プロビジョニングにより、使用したコンピューティング リソースに対してのみ料金を支払うことで、支出をさらに最適化できます。
製品化までの時間を短縮
コンピューティング インフラストラクチャの調達、設定、構成を待つ必要がなくなります。クラウド アーキテクチャを採用することで、迅速に運用開始できるため、新しいプロダクトの開発と提供により多くの時間を費やせるようになります。
スケーラビリティ
クラウド アーキテクチャを採用すると、インフラストラクチャの要件に基づいてコンピューティング リソースを柔軟にスケールアップ(またはスケールダウン)できます。成長または季節的なトラフィックの急増による需要の増加に対応するため、簡単にスケーリングできます。
変革の加速
Kubernetes のようなクラウドネイティブ アーキテクチャを使用すると、クラウド サービスと自動環境を最大限に活用してモダナイゼーションを加速し、デジタル トランスフォーメーションを促進できます。
高可用性
クラウド アーキテクチャ上で実行、管理されるアプリケーションは、負荷の変動に関係なく継続的な可用性を確保できるハイ パフォーマンス コンピューティング リソースの恩恵を受けることができます。
強固なセキュリティ
クラウド サービス プロバイダは、データ、システム、ワークロードを保護するために、専門家と最新のテクノロジーの力を借りて、常にセキュリティ メカニズムをアップグレードして改善します。