ゲーム開発が変わる! Google Cloud Platform実践インフラ構築 第1章(2/3 ページ)
あらゆる書籍の中から、Windows Server Insider読者に有用だと考えられる情報をピックアップして転載する本連載。今回は、ゲームインフラエンジニア向けのGoogleのクラウドサービス「Google Cloud Platform」の中からGoogle Cloud Platformの全体的な紹介部分を転載する。
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.