GCPの各サービスについて ※2016/12/17時点
先日GoogleCloudPlatform(以降GCP)トレーニングツアーに参加してきました。
トップゲートの小林明大さんがGCPの機能やサービスについて解説してくださったので、
簡単にまとめていきます。
GCPを操作するユーザについて
以下の4つがあり、GoogleはOwnerを最低2人に付与することを推奨しているらしい。
* Owner
* Editor
* Viewer
* Billing adminisitrator
API Manager
各サービスのAPIを許可するかどうかを設定できます。
デフォルトで有効になっているものもありますが、無効になっているものもあるので
必要なときは有効にしてあげましょう。
Google APIs Explorer
https://developers.google.com/apis-explorer/#p/
ブラウザでAPIを選択し、値を入れたら使えるというAPI操作をブラウザで設定できます。
Google Cloud Shell
一番上のバーの右側のアイコンから使用できます。
例えば、GoogleComputeEngineを使用する際に、SSHで接続しなくてもその画面でコマンドを実行できます。
AppEngine
Standard Environment
Googleが指定した言語で、Googleが用意したコンテナの中で実行します。
負荷が上がればオートスケーリングしてくれます。
作成したバージョンごとにリクエストの割合に応じてリリースすることもできます。
(例: リクエストの30%は開発版、70%は最新安定版のような使い方が可能)Flexible Environment
言語の制約がありません
ミドルウェアの操作がしたい時に使用します。
こちらもコンテナで動いてます。
1VM 1コンテナで動いているため、スケールアウトの動作はStandard Enviaronmentよりは遅いです。
Endpoints
APIを自動生成してくれるツールです。
APIを構築する時、トラブル発生時の問題の切り分けも分かりやすいです。
Datastore
AppEngineのDBを外出ししたサービスです。
NoSQLでKey-Value型です。
Strage
ObjectStrageです。
AWSのS3と同じです。
CloudStorageFuseというツールを使ってマウントも可能です。
バケットはリージョン毎でもマルチリージョンでも利用可能です。
Cloud Storage Transfer Serviceを使ってAWSのS3から転送することも可能です。
一度バケットを作成してしまうとプランを変更できないので、プランを変更したいときに既存のデータを別のプランのバケットへ転送する際にも使えます。
オフライン メディアのインポートとエクスポートもありますが、利用できるサービスプロバイダがかなり限られています。
Bigtable
NoSQLです。
get, putはめちゃ早いです。
HBaseとの互換性があります。
HadoopでHbase使ってたら移行しやすいらしい。
GmailとかGoogleAnalyticsの裏側で使われてるそうです。
SQL
Container Engine
KubernetesっていうDockerコンテナのオーケストレーションツールを使ってコンテナを管理する仕組みになってます。
Borgっていうクラスタマネージャから作ったそうです。
Compute Engine
メンテナンス時はGoogleの人が勝手に他のサーバに移動してくれて、ユーザは何も気せず利用できます。 勝手に停止していた場合は、自動的に起動してくれます。 分単位の課金で1度起動すると最低10分は費用が発生します。
継続利用割引というものがあり、 同じマシンタイプを使い続けると最大30%お得になります。
料金周りについてはこちら
https://cloud.google.com/compute/pricing
インスタンス作成時に可用性ポリシーからプリエンプティブを選択すると、 24時間以内に必ずシャットダウンする仕様のインスタンスが作成されます。 その代わりかなり安く利用できます。
Cloud Interconnect
GCPとデータセンター等のオンプレサーバーとを接続する時に使用します。
Cloud CDN
Googleのエッジポイントを使用して、HTTPのコンテンツをキャッシュすることで、高速にコンテンツを配信できるよになります。
Stackdriver
監視ツールです。
AWSの監視もできます。
Agentを入れれば、詳細を見ることもできます。
Debuggerを使ってクラウド上でデバッグもできます。
Deployment Manager
yamlで書く構成管理ツールです。
AWSでいうCloudFormationです。
Source Repositories
非公開のGitホスティングサービスです。
Stackdriverと一緒に使ってソースをデバッグすることもできます。
Funtions
javascriptで書くサーバレスなサービスです。
AWSでいうLambdaと同じです。
BigQuery
膨大なデータに対してクエリを投げて短時間でレスポンスが返ってくるというビッグデータ解析サービスです。
AWSのRedshiftに近いけど、運用作業がほとんど必要ないのが特徴です。
Pub/Sub
非同期メッセージングサービス
アプリケーション間でメッセージ送受信を行います。
Dataflow
プログラミングモデルのマネージドサービス
JavaとPythonで書けます。
必要なインスタンスは勝手にスケールしてくれるので、運用が楽ちんです。
使い終わったらインスタンスをシャットダウンしてくれるので無駄な費用がかかりません。
Dataproc
Hadoopクラスタをプロビジョニングするサービス。
Hadoopのオートスケールはしてくれませんので注意が必要です。
使い終わったら自分でインスタンスをシャットダウンしないといけません。
Datalab
データを分析してグラフ化したりするツールです。
Jupyterという、プログラムを実行して結果を記録しながらデータの分析作業を行うツールを使って作られたサービスです。
Machine Learning Platorm
Tensorflowを使って得たアルゴリズムを使ったサービスです。
★おまけ
Googleが提供してるAPIの中には、以下のようなMachineLearningから作られたAPIがあります。
以上です。
Googleのサービスは世界中のたくさんの人が使っていて、各サービスの裏側で動いてるものをGCPとして使えるので信頼性はかなり高いと思います。 今のところAWSの方が知名度が高く、導入事例も多い気がしますが、GCPで構築できるならコスト次第ではありだと思いました。