連載
» 2016年04月07日 05時00分 公開

ゲーム開発が変わる! Google Cloud Platform実践インフラ構築 第1章 (2/3)

[橋口剛,著]

Google Cloud Platformのサービス概要

 それではGCPのサービスラインナップはどうなっているのでしょうか。GCPはSaaS、PaaS、IaaSの様々なサービスの集合体で、現在も新しいサービスが日々ローンチされ続けています。ベータサービスなども含めるとかなり多くのサービスがあり、本書ではその全てを詳細に紹介することは行いませんが、本項ではゲームインフラを検討する上で重要となってくるサービスを中心に紹介します。

GCPのサービス分類と各サービスの概要

 GCPでは他のクラウドサービス同様に多くのサービスがありますが、本書ではそれらサービスを以下の「実行環境サービス」「ストレージサービス」「ネットワークサービス」「データ処理サービス」「その他」の5カテゴリに分類して紹介します。本カテゴリはあくまで本書に限定した分類ですが、GCPのサービスの概要を理解するには有用かと思います。

 実際には誰もがこれら全てのサービスを使う訳ではないですが、こういうサービスがあるのだという観点でざっと概要を覚えると、より柔軟なアーキテクチャの設計に役立つでしょう。

コンピューティング(実行環境)サービス

 アプリケーションやプログラムを実行するための環境サービス群です。

サービス名 概要と特徴
Compute Engine
(略称:GCE)
最も中心となるIaaSのサービスです。OSのレイヤまでをマネージドサービスとして提供しています。LinuxとWindowsをサポートしています。
特色はメンテナンス停止がほぼない、地域をまたいだプライベートネットワーク構成が簡単に作れる、インスタンス起動速度が早い、課金額が安いことなどです。
App Engine
(略称:GAE)
PaaSサービスでアプリケーションのランタイム、即ち実行環境までをマネージドサービスとして提供しています。言語としてはPHP、Java、Python、Go言語をサポートします。負荷に応じて高速にオートスケールする点が特徴です。
Container Engine
(略称:GKE)
Dockerコンテナの実行と管理のためのクラスタマネージサービスです。オープンソースの Kubernetesのマネージドサービスです。

ストレージサービス

 オブジェクトストレージ、NoSQL、RDBMSなどデータ保存のためのサービス群です。

サービス名 概要と特徴
Cloud Storage
(略称:GCS)
高性能、高可用、低コストなオブジェクトストレージのマネージドサービスです。一般的なオブジェクトストレージの機能や品質は担保しつつ、エッジキャッシュと呼ばれるキャッシュ機能も有しています。
Cloud Storage Nearline
(略称:Nearline)
高可用、低コストなコールドストレージのマネージドサービスです。データアーカイブやバックアップなどに適しています。一般的なコールドストレージサービスはデータのリカバリ開始まで数時間程度かかるのに対し、Nearlineでは数秒でリカバリを開始することが可能です。
Cloud SQL Second Generation 高性能なMySQLのマネージドサービスです。第1世代と第2世代(Second Generation)がありますが、ゲームでは性能の観点から第2世代の利用を強く推奨します。
Cloud Datastore NoSQLのマネージドデータベースサービスです。アプリケーションの負荷やデータのサイズにあわせて自動的にペタバイト規模にまでスケールできるのが特徴です。
Cloud Bigtable スケーラビリティの高いNoSQLマネージドデータベースサービスです。Datastoreよりもより応答性能を求めるアプリケーションに向いています。Apache HBase互換のAPIを使えます。昔からGmailなどの主要なデータベースとして各種Google社のサービスで使われています。

ネットワークサービス

 DNSやロードバランサなどのサービス群です。GCPのネットワークサービスは各種クラウドサービスと比較しても強力です。

サービス名 概要と特徴
ロードバランシング
(GCEの機能)
GCEでは非常に強力なネットワーク(L3)ロードバランシングとHTTP(S)ロードバランシングを使うことができます。これらのロードバランサはサイジングやウォームアップなしでいきなり秒間100万リクエスト(Request per second)のアクセスを処理することができ、またAnycast(IPベースでのロードバランシング)を行うことが可能です。ゲームインフラではこのロードバランサは他のクラウドサービスと比較した時の大きな差別化要因の一つとなっています。
Cloud CDN GCSやGAEはGoogleのインフラの一部であるエッジキャッシュが自動的に適用されますが、Cloud CDNもこのエッジキャッシュの仕組みを利用しています。GCEではHTTP(S)ロードバランシングを設定することでキャッシュの機能を使うことができます。このキャッシュ機能を使うことでサーバの負荷を軽減しながら、エンドユーザはより高速にコンテンツにアクセスすることができるようになります。
Cloud DNS GoogleのグローバルネットワークとAnycastなどの仕組みを活かした、信頼性が高い低遅延のDNS サービスです。コマンドラインインタフェースやRESTful APIでさまざまな設定やカスタマイズを柔軟に行うことができます。
Cloud VPN GCEインスタンスからIPSec接続を行い、インターネット経由でもセキュアな通信を行うための機能です。
GCPはリージョンをまたがったプライベートネットワークがデフォルトで構築できるため、Cloud VPNがゲームインフラに使われることは少ないでしょう。
Cloud CDN Interconnect Google社とAkamai社などのCDNパートナとのネットワークを直結することにより、GCEとGCSからエンドユーザへのトラフィックを高品質化し、またGCP→CDNパートナへのダウンロードトラフィックを割引き利用することができるサービスです。
Cloud Interconnect Google社のネットワークと企業やネットワークキャリアのネットワークをダイレクト接続するサービスです。本サービスもゲームインフラとして使われることは少ないでしょう。

データ処理サービス

 大量のデータを加工、分析するためのサービス群です。

サービス名 概要と特徴
BigQuery SQLライクな構文で大量データを処理するためのOLAP/DWH(データウェアハウス)サービスです。インフラチューニングは一切不要で、分析したデータ量に応じた安価な課金体系となっており、ゲームにおける、課金、ユーザ行動、ログ分析ではスタンダードになりつつあるサービスです。
Cloud Dataproc Hadoop/Sparkのマネージドサービスです。ビッグデータを処理する際に使えます。ゲーム業界では既存資産を移行するケースに使うことが多いかと思います。
Cloud Dataflow 大量データをバッチ、ストリーム処理・加工する際に活用します。ビッグデータのETLプラットフォームと考えると分かりやすいかもしれません。
Cloud Datalab Jupyter(iPython Notebook)上で稼働するGCPと統合されたサービスです。インタラクティブに大規模データの検索や分析、可視化を行うためのデータ可視化・分析を行います。
Cloud Pub/Sub 高可用なMQサービスです。ゲームではログの収集やチャットなどの非同期メッセージ送受信で使うことがあります。

その他のサービス

 これまで紹介した以外のサービスを紹介します。これらのサービスはゲームインフラにて直接利用される機会はあまりないでしょう。

サービス名 概要と特徴
Translate API テキストを指定した言語に翻訳してくれるサービスです。
Prediction API 機械学習によって予測や分類を行うサービスです。
Cloud Endpoints 簡単にGAE上にAPIサービスを構築し、AndroidとiOS、そしてWebクライアントの向けのクライアント ライブラリを生成してくれるサービスです。Endpoints自身はランタイムサービスではなく、サーバ・クライアント上で実行されるコードを生成するためのツールです。

AWSのサービススタックとの対応比較

 ゲームインフラでよく利用されるサービスについて、GCPとAWSのサービススタックの対応について比較してみます。これらはあくまでサービススタックの対応でありサービスによってはその特性が全く異なるものもありますので注意が必要です。

 RightScale社はAWS、GCP、Azure、Softlayerの4社のクラウドについてのサービス比較ツールを公開していますので、それぞれのクラウドにどういうサービスが存在しているのか比べてみても面白いかも知れません。

  GCP AWS
IaaS
(仮想サーバサービス)
Google Compute Engine Elastic Compute Cloud
(EC2)
PaaS(アプリケーション実行環境サービス) Google App Engine Elastic Beanstalk
RDBMS Cloud SQL 第2世代 Relational Database Service(RDS)
オブジェクト
ストレージ
Google Cloud Storage Simple Storage Service
(S3)
ロードバランサ GCEロードバランシング Elastic Load Balancing
(ELB)
CDN -
(Akamaiなどのサードパーティ、エッジキャッシュ、Cloud CDN, )
CloudFront CDN
キャッシュ/KVM -
(GAE上ではMemcache機能が利用可能)
ElastiCache
データ分析環境 BigQuery Redshift

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。