Google コンピューティングの概要

このドキュメントでは、Google Cloudで使用できるコンピューティング サービスについて説明します。インフラストラクチャの制御と管理の抽象化のスペクトルを理解することで、ワークロードに適したコンピューティング サービスを選択するために必要な基礎知識を得ることができます。

Google Cloud の「コンピューティング」という用語は、アプリケーションの実行に必要な処理能力やメモリなどの仮想化されたコンピューティング リソースを指します。これらのリソースは、未加工の仮想マシン(VM)インスタンスからフルマネージド プラットフォームまで多岐にわたります。VM インスタンスを使用すると、オペレーティング システム(OS)、ネットワーク、ソフトウェア スタックを完全にカスタマイズできます。マネージド プラットフォームの場合、基盤となるインフラストラクチャのほとんどは Google が処理します。

サービス提供地域の概要

Google Cloud のコンピューティング カテゴリには、次の主要なサービス領域が含まれます。

  • VM インスタンスとベアメタル インスタンス: Compute Engine は、独自の OS とアプリケーションをインストールして管理できる構成可能な VM インスタンスとベアメタル インスタンスを提供します。この構成には、カスタマイズされた VM またはベアメタル インスタンスへのグラフィック プロセッシング ユニット(GPU)または Tensor Processing Unit(TPU)の追加も含まれます。

  • コンテナ: Google Kubernetes Engine(GKE)などのサービスを使用すると、コンテナ化されたアプリケーションをデプロイして管理できます。

  • バッチ処理: Batch などのサービスを使用すると、大規模な非同期ジョブを実行できます。

  • AI インフラストラクチャ: クラスタ ディレクタやクラスタ ツールキットなどの専用サービスとハードウェアが含まれます。これらのサービスは、AI または ML の複雑なオーケストレーションされたトレーニング ワークロードと推論ワークロードを大規模に実行するように設計されています。

  • HPC インフラストラクチャ: 密結合の物理シミュレーション、気象モデル、分子動力学など、ハイ パフォーマンス コンピューティング(HPC)ワークロードを実行するための特殊なサービスとハードウェアが含まれます。

インフラストラクチャにおける制御と抽象化

Google Cloud は、制御と抽象化のスペクトル全体にわたってコンピューティング サービスを提供します。主なカテゴリは次の 2 つです。

Infrastructure as a Service

Infrastructure as a Service(IaaS)は、最も制御性の高いモデルです。OS、ミドルウェア、アプリケーションはユーザーが管理します。代わりに、基盤となる仮想化、サーバー、ストレージ、ネットワーキングは Google が管理します。 Google Cloud で利用可能な IaaS ソリューションは次のとおりです。

  • Compute Engine: このサービスを使用すると、Google のインフラストラクチャ上に VM インスタンスとベアメタル インスタンスを作成して実行できます。Compute Engine は、さまざまなマシンシリーズ、ストレージ サービス、アクセラレータ、ゲスト OS から選択できるため、幅広いワークロードを柔軟に実行できます。

  • Google Cloud VMware Engine: VMware ワークロードを Google Cloudに移行してネイティブに実行できるサービス。基盤となるハードウェアと VMware プラットフォームは Google が管理します。VM、ゲスト OS、アプリケーションの完全な制御はお客様が維持します。このアプローチにより、既存の VMware 環境を再設計することなくクラウドに移行できます。

IaaS は、カスタム環境をゼロから設計して管理する必要があるインフラストラクチャ アーキテクト、ML インフラストラクチャ エンジニア、プラットフォーム エンジニアに好まれることがよくあります。

マネージド プラットフォームとサービス

マネージド プラットフォームとサービスは、制御と使いやすさのバランスが取れています。基盤となるインフラストラクチャ、OS、ランタイム環境は Google が管理するため、ユーザーはワークロードの実行に集中できます。 Google Cloud で利用可能なマネージド ソリューションには、次のものがあります。

  • Batch: バッチ コンピューティング ジョブを大規模にスケジュールし、キューに入れて実行できるマネージド サービス。Batch は、ジョブの実行に必要な Compute Engine リソースをプロビジョニングし、ライフサイクルを管理します。そのため、基盤となる VM インスタンスやベアメタル インスタンスを直接管理する必要はありません。

  • Cloud Run: サーバーレス インフラストラクチャ上で、スケーラビリティの高いコンテナ化されたアプリケーションを開発してデプロイできるフルマネージド プラットフォーム。Cloud Run ではインフラストラクチャ管理が一切不要です。この抽象化により、サーバーやクラスタを管理しなくても、ウェブ リクエストやイベントに応答するコンテナを実行できます。

  • Cluster Director: AI、ML、ハイ パフォーマンス コンピューティング(HPC)クラスタの複雑な設定と構成を自動化するマネージド サービス。クラスタ インフラストラクチャは Google が管理するため、運用オーバーヘッドを最小限に抑えてワークロードの実行に集中できます。

  • Cluster Toolkit: 事前定義されたブループリントを使用して Google Cloud に AI、ML、HPC クラスタをプロビジョニングするのに役立つオープンソース ツールキット。結果として得られるクラスタ インフラストラクチャはユーザーが管理しますが、ツールキットはデプロイ プロセスを抽象化し、デプロイとソフトウェア スタックをカスタマイズできます。

  • GKE: Kubernetes でコンテナ化されたアプリケーションを実行するためのマネージド環境。Google は Kubernetes コントロール プレーンを管理しますが、コンテナ ワークロードのデプロイと管理はユーザーが行います。デプロイ モード(Autopilot または Standard)に応じて、基盤となるインフラストラクチャをどの程度制御するかを選択できます。

マネージド プラットフォームとサービスは、インフラストラクチャの管理を深く行うことなく、リソースを迅速にプロビジョニングしてワークロードをデプロイしたいデータ サイエンティスト、AI 研究者、ML エンジニアに好まれる傾向があります。

次のステップ