はじめに
Google Cloudは、ビジネスや開発者がGoogleの高いスケーラビリティと信頼性の高いインフラストラクチャ上でアプリケーションを構築、展開、管理するためのサービスを提供しています。Google Cloudが提供する主要なコアサービスには、さまざまなユースケースと要件に対応するために設計されたコンピューティング製品が含まれています。この記事では、Google Cloudが提供する5つの主要なコンピューティング製品について探っていきます。
Compute Engine
Google Compute Engineは、Googleのインフラストラクチャ上で実行されるスケーラブルで高性能な仮想マシン(VM)を提供するInfrastructure as a Service (IaaS)です。
このサービスにより、CPU、メモリ、ストレージなどの大量のコンピューティングリソースが必要なアプリケーションを構築し、展開することができます。Compute Engineでは、リソースとオペレーティングシステムを構成した仮想マシンであるインスタンスを作成および管理できます。
インスタンスは、Google Cloudコンソール、gcloudコマンドラインツール、またはCompute Engine APIを使用して作成できます。 Compute Engineは、Virtual Private Cloud(VPC)ネットワーク、ファイアウォール、負荷分散などの高度なネットワーキング機能も提供しています。 Compute Engineは、管理されたインスタンスグループを使用した自動スケーリングも提供します。
Google Kubernetes Engine (GKE)
Google Kubernetes Engine(GKE)は、Google Cloud上でKubernetesクラスタを簡素化してデプロイ、管理するマネージドKubernetesサービスです。 Kubernetesは、コンテナ化されたアプリケーションのデプロイ、スケーリング、および管理を自動化するオープンソースのコンテナオーケストレーションプラットフォームです。
GKEを使用すると、Google Cloudコンソール、gcloudコマンドラインツール、またはGKE APIを使用してKubernetesクラスタを作成および管理できます。クラスタが起動したら、Kubernetesマニフェストを使用してコンテナ化されたアプリケーションを展開し、標準的なKubernetesツールとAPIを使用してライフサイクルを管理できます。
GKEは、アプリケーションのスケーリングや更新を内蔵したサポートを提供し、需要に応じて実行中のコンテナの数を自動的に調整したり、ダウンタイムをなくしてアップデートを展開したりできます。
App Engine
Google App Engineは、スケーラブルなアプリケーションを構築および展開するための完全に管理されたプラットフォームです。2つの環境(スタンダードとフレキシブル)を提供し、基礎となるインフラストラクチャに対して異なる抽象化レベルと制御を提供します。スタンダード環境は、最小限の構成を必要とするアプリケーションで、トラフィックスパイクを処理できるように自動的にスケールできるように設計されています。
一方、フレキシブル環境は、基礎となるインフラストラクチャに対してより高度な制御を提供し、カスタムランタイムとコンテナをサポートしています。App Engineを使用すると、Google Cloudコンソール、gcloudコマンドラインツール、またはApp Engine APIを使用して、アプリケーションを簡単に展開および管理できます。
App Engineには、Datastore、Task Queues、Memcacheなどの組み込みのサービスやAPIが用意されており、アプリケーションの機能性を向上させることができます。
Cloud Run
Google Cloud Runは、完全に管理された環境で状態を持たないコンテナ化されたアプリケーションを実行できるサーバーレスコンピューティングプラットフォームです。 Cloud Runを使用すると、コード、依存関係、ランタイム環境を単一のポータブルユニットでカプセル化するコンテナを使用して、アプリケーションを構築および展開できます。
これにより、基礎となるインフラストラクチャについて心配することなく、さまざまな環境でアプリケーションを開発、テスト、展開できます。 Cloud Runは、需要に応じてアプリケーションを自動的にスケーリングし、実際に使用したコンピューティングリソースのみを支払うようにすることで、コストを最適化します。
Cloud Runアプリケーションを展開および管理するには、Google Cloudコンソール、gcloudコマンドラインツール、またはCloud Run APIを使用できます。
Cloud Functions
Google Cloud Functionsは、特定のイベント(データの変更、着信リクエストなど)に応答して小規模なコードを実行できるサーバーレスのイベント駆動型コンピューティングサービスです。 Cloud Functionsを使用すると、最小のオーバーヘッドと操作の複雑さで複雑なマルチサービスアプリケーションを構築できます。
Cloud Functionsは、Pub/Sub、Cloud Storage、Firestoreなどの他のGoogle Cloudサービスと簡単に統合でき、これらのサービスによって生成されたイベントに応答して適切なアクションを実行できます。Google Cloudコンソール、gcloudコマンドラインツール、またはCloud Functions APIを使用して、Cloud Functionsを作成および展開できます。
サービスは、着信イベントの数に応じて自動的に関数をスケーリングし、関数の実行中に使用されたコンピューティングリソースのみを支払うようにすることで、コストを最適化します。
References