適材適所でクラウドを使い分ける企業が増えている。ここで課題になるのがクラウドごとの違いだ。AWS(アマゾン・ウェブ・サービス)、Google Cloud Platform(GCP)、Microsoft Azureはサービスラインアップが似ているが、用語やサービスの構造、利用できる機能などに差異がある。本連載ではテーマ別に各クラウドの特徴を取り上げ、違いを浮き彫りにしていく。第7回から第9回は、最近注目されている技術である「コンテナ」と「サーバーレス」をテーマに解説する。第8回はGCPを取り上げる。

 クラウド上でアプリケーションを開発・運用する際に選べるアーキテクチャーには、以前からよく知られている仮想マシン(VM)以外に、「コンテナ」と「サーバーレス」があります。3者の大きな違いは、運用管理をどの範囲までクラウドベンダーに任せるのか、という点にあり、VM、コンテナ、サーバーレスの順に、クラウドベンダーの管理に任せる範囲がより広くなります。

 ベンダーに管理を任せられる範囲が増えるにつれ、開発者は運用管理作業に煩わされることなく、肝心のアプリケーション開発により集中できるようになります。クラウドベンダーが提供するコンテナ関連サービスを利用すると、さらに開発を効率化できます。コンテナを本番運用する際に必要となる、コンテナイメージレジストリ、コンテナ実行基盤、コンテナオーケストレーションといったサービスを容易に入手できるからです。

 今回は、Googleがクラウドサービス「Google Cloud Platform(GCP)」と共に提供している、コンテナやサーバーレスに関連するサービスと、利用上の注意点について解説します。

* コンテナとサーバーレス全般については、本連載の第7回「話題のコンテナとサーバーレス、Azureは多様なサービスの使い分けに注意」で解説しています。詳しく知りたい方はそちらを参照してください。

GCPが提供するコンテナ関連サービス

 コンテナイメージレジストリは、コンテナのイメージファイルを保管および配信するサービスです。一般公開されているコンテナイメージレジストリとしては、「Docker Hub https://hub.docker.com/ 」がよく知られています。前回解説したAzureで「Azure Container Registry」がコンテナレジストリサービスとして提供されているように、GCPでは「Artifact Registry」が提供されています。

 コンテナ実行基盤は、コンテナを実行させるための基盤を提供するサービスです。AzureでVMサービスである「Azure Virtual Machines」上でコンテナを実行できたように、GCPでは、VMである「Google Compute Engine」上でコンテナを実行できます。ほかにもコンテナ専用の実行基盤サービスとして「Google Cloud Run」が提供されています。

 Cloud Runはフルマネージドのサーバーレス実行環境です。Cloud Runには、

  • ITインフラを気にせずにコンテナ化されたステートレスなアプリケーションを実行できる「Cloud Run」
  • オンプレミスまたはGoogle Kubernetes Engine(後述)のクラスタにデプロイできる「Cloud Run for Anthos」
の2種類があります。以降、本記事でCloud Runと記述した場合は前者を指すものとして説明します。

 Cloud Runはサーバー管理なしでコンテナを実行できるため、サーバーレスサービスでもあります。コンテナイメージさえあればコマンド一つで起動でき、インターネット上に直接公開することもできます。マイクロサービスやバッチ処理などをサーバーレス環境で実行でき、負荷に応じて自動的にクラウドサーバーの台数を増減させる自動スケールに対応するなど、運用面で大きなメリットがあります。

 ただし、Cloud Runには、タイムアウトやレスポンスのサイズ制限などの制約事項が存在します。実行予定のワークロードで、こうした制約が問題にならないかどうかを確認しておく必要があります。制約によってCloud Runの利用が難しいようなら、次に説明する「Google Kubernetes Engine(GKE)」を使うことになります。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。