gcp

[GCP]Google Cloud Platform アーキテクチャまとめ

More than 1 year has passed since last update.

GCPの登場人物をカテゴリー別に、特徴やメリットを中心にまとめる

Compute System

Compute Engine kubernetes Engine App Engine Cloud Fonctions Managed services
IaaS ハイブリット PaaS server less 自動化

Compute Engine

  • 要するにGoogle版EC2
  • ディスクのサイズ変更、ダウンタイムなしでインスタンス移行(ダウンタイムなしでVMotion)
  • プリエンプティブなインスタンスが選べる(SLAがない。急遽止まってしまう可能性もある。5分10分で処理を行ったり、処理が止まった時に救済できるような処理をプログラムに組み込む事ができれば非常に安価に利用できる)

Kubernetes Engine

  • Dockerコンテナ

App Engine スタンダード環境

  • PaaS
  • デプロイ、メンテナンス、スケーリングが容易
  • 特定バージョンのPython, Java, Go, Node.jsがサポートされる
  • サンドボックス制約に従う必要がある(ローカルファイルへ書き込みできない,リクエストは60秒でタイムアウト)
  • AppEngineのサービス経由で接続

App Engine フレキシブル環境

  • 1回のクリックでコンテナ化されたアプリをビルド、デプロイ
  • スタンダードランタイム - Python, Java, Go, Node.js
  • サンドボックスの制約がない
  • SSHアクセス可能(ただしデフォルトではない)
  • ディスク書き込み可能(ただし一時的)
  • サードパーティバイナリサポート
  • ネットワークアクセス可能

API関連

Google Cloud Endpoints

  • 分散型のAPI管理
  • RESTful インターフェースを使用
  • JSON WebトークンとGoogle APIキーを使用してアクセス制御
  • クライアントライブラリを生成
  • Java , Python オープンソースフレームワーク
  • iOS , Android , JSの各クライアント

Strage

Cloud Datastore Cloud Strage Cloud SQL Cloud Spanner Bigtable
ストレージタイプ NoSQL BLOB リレーショナルSQL NoSQL
全容量 テラバイト超 ペタバイト超 第1世代: 500G 第2世代: 10T(?) ペタバイト
トランザクション OK NO OK OK
用途 バイナリデータ AppEngine 分析データ アプリケーション
使用例 画像、バックアップデータ User Profile IoTデータ アプリケーション DB

Cloud Datastore

  • 拡張性の高いNoSQL DB
  • NoSQLストア 数十億行に自動スケーリング
  • 組み込みの冗長性
  • トランザクション可
  • RESTfulインターフェースを通じてどこからでもアクセス可能

Cloud Strage

  • シンプルな管理(容量管理が不要)
  • 転送中のデータと保存データの暗号化
  • ストレージクラスは以下の4クラス
クラス Multi-regional Regional Nearline Coldline
SLA 99.95% 99.90% 99.00% 99.00%
用途 コンテンツの保存,配信 リージョン内データ分析,コード変換 コンテンツバックアップ アーカイブ、DR(ディザスタ リカバリー)

Cloud SQL

  • マネージド RDBMS
  • MySQL or PostgreSQLから選択
  • 自動レプリケーション
  • マネージドバックアップ
  • 最大スペック 16 CPU、100 GB RAM パッチや更新の適用、バックアップの管理やレプリケーションの設定を任せることができる
  • MySQL のフルマネージド データベースでありながら、リレーショナル データベースと従来型のクエリ処理のメリットを両方活用できる

Cloud Spanner

  • 自動レプリケーション
  • ビルドインの高可用性
  • 高いIOPS (1秒間に1万回以上の読み取り/書き込み)
  • 2TBを超えるデータベースサイズ

https://cloudplatform.googleblog.com/2017/02/inside-Cloud-Spanner-and-the-CAP-Theorem.html

Cloud Bigtable

  • マネージドNoSQL
  • ペタバイトクラスの高負荷アプリケーションに対応可能
  • HBase API
  • Bigdata, Hadoopエコシステムをサポート
  • 高スループットのデータまたは頻繁に変更されるデータに最適