[GCP] GCPサービスを勝手にまとめてみた(管理ツール編)

# GCPって
https://qiita.com/risa0320/items/5f34bc9102e575705274

# サービスの分類
おおまかにはこんな感じ。（一部省略してます）
※2019年8月末時点のもの。
※α版、β版を含む。
https://cloud.google.com/products/?hl=ja よりいろいろ引用してます。

| 分類       |  サービス例    |
|:-----------------|:------------------|
| AIと機械学習   | AutoML,Vision AI,Cloud TPU... |
| API管理 | Apigee Sense,Cloud Healthcare API... |
| コンピューティング | Compute Engine,App Engine,Cloud Functions... |
| データ分析 | BigQuery,Cloud Composer,Cloud Dataflow... |
| データベース | Cloud SQL,Cloud Bigtable,Cloud Spanner... |
| デベロッパーツール | Container Registry,Cloud Build... |
| ハイブリットとマルチクラウド | Anthos,GKE On-Prem... |
| IoT | Cloud IoT Core,Edge TPU |
| 管理ツール | Stackdriver,Monitoring,Private Catalog... |
| メデイアとゲーム | Zync Render,Anvato... |
| 移行 | Cloud Data Transfer,Transfer Application... |
| ネットワーキング | Virtual Private Cloud,Cloud DNS,Cloud NAT... |
| セキュリティ | Cloud Security Scanner,Cloud IAM,Cloud HSM... |
| ストレージ | Cloud Storage,Cloud Firestore... |

# サービスをもう少し深く見てみる
## 管理ツール
### Stackdriver
サービス、コンテナ、アプリケーション、インフラストラクチャのモニタリングと管理
> Stackdriver は、インフラストラクチャからの指標、ログ、イベントを集約して豊富な観測可能シグナルのセットを提供します。デベロッパーやオペレーターはこれを使用して速やかに根本原因を分析し、平均修復時間（MTTR）を短縮できます。Stackdriver は統合に多くの作業を要したり、複数のツールを必要としたりすることはありません。またデベロッパーを特定のクラウド プロバイダに縛りつけることもありません。

<特徴>

* デバッガ
* アラート
* エラー報告
* トレース
* すばやい検出
* ロギング
* 稼働時間のモニタリング
* ダッシュボード
* 統合
* プロファイリング
* スマートなデフォルト設定

エンドユーザーからバックエンド サービスやインフラストラクチャに至るどの時点で発生した問題でも追跡できるのすごい。
また、2分足らずでクラウド プラットフォームの主要な情報を可視化できるようになっている。

### Stackdriver Monitoring
Google Cloud Platform と Amazon Web Services で実行されるアプリケーションに対応
> Stackdriver Monitoring では、クラウドで実行されるアプリケーションのパフォーマンスや稼働時間、全体的な動作状況を視覚的に確認できます。Stackdriver Monitoring は、Google Cloud Platform、Amazon Web Services、ホステッド アップタイムのプローブ、アプリケーション インストゥルメンテーション、よく使われるさまざまなアプリケーション コンポーネント（Cassandra、Nginx、Apache Web Server、Elasticsearch など）から、指標、イベント、メタデータを収集します。また、収集したデータを取り込んで分析情報を引き出し、ダッシュボード、グラフ、アラートで表示します。Stackdriver のアラート機能を Slack や PagerDuty などと統合すると、共同作業に便利です。

AWSにも対応しているとか、驚き。
わざわざDataportalでダッシュボードを作成しなくても、こっちを使う方がいい？

<特徴>

* AWSとの統合
* カスタム指標
* GCPとの統合
* モニタリング エージェント
* ダッシュボード
* ロギングの統合
* アラート
* グループやクラスタのサポート
* 稼働時間モニタリング

### Stackdriver Service Monitoring(α版)
Istio サービスと Google App Engine サービス用の Stackdriver Service Monitoring。
> 最新のアプリケーションは複数のサービスで構成されており、特定の用途をサポートする数十、場合によっては数百にも及ぶ依存関係が存在します。そのどこかで障害が発生すると、多数の障害が同時に発生しているように見えることも珍しくありません。このような複雑さを管理できるように、Stackdriver ではモニタリング サービスを追加しており、Cloud Services Platform や Istio サービスのメッシュ技術を通じて提供されています。Stackdriver Service Monitoring は、Google App Engine サービスもモニタリングできます。

### Logging
Google Cloud Platform と Amazon Web Services で実行されるアプリケーションに対応
> Stackdriver Logging では、Google Cloud Platform や Amazon Web Services（AWS）からのログデータやイベントを格納、検索、分析、モニタリング、アラートできます。また、Google の API を使えば、あらゆるソースからカスタム ログデータを取り込むこともできます。Stackdriver Logging は、数千もの VM からアプリケーションとシステムログのデータを取り込むことができる、大規模なログ分析が可能なフルマネージド サービスです。さらに、こうしたログデータすべてのリアルタイム分析に対応しています。

<特徴>

* カスタムログと Ingestion API
* ログアラート
* AWS の統合とエージェント
* BigQuery を使った高度な分析
* Cloud Storage にアーカイブ
* ログの保持
* Cloud Pub/Sub でログをストリーミング
* ログの検索
* サードパーティの統合
* ログベースの指標
* 監査ログ

以前は、GCP内のサービスを組む合わせて自らこういうサービスを構築するしかなかったですが、初めからGCPで提供してくれているとありがたい。

### Stackdriver Error Reporting
アプリケーション エラーを特定して把握
> Stackdriver Error Reporting は、実行中のクラウド サービスで発生したクラッシュをカウント、分析、集計します。結果は一元化されたエラー管理インターフェースに表示され、並べ替えやフィルタリングも行えます。専用のビューには、タイムチャート、発生回数、影響を受けたユーザー数、最初または最後の発生日時、削除された例外スタック トレースといったエラーの詳細が表示されます。新しいエラーの発生時にメールアラートやモバイルアラートを送信できます。

<特徴>

* リアルタイム処理
* エラーのインテリジェントなグループ化
* フィルタリングによる概要
* エラーの詳細
* スタック トレースの調査
* アラート
* 公開バグトラッカーとの統合
* モバイルアプリ
* 設定は簡単

### Stackdriver Trace
本番環境におけるパフォーマンスのボトルネックを検出
> Stackdriver Trace は、アプリケーションからレイテンシ データを収集して、Google Cloud Platform Console に表示する分散トレース システムです。アプリケーション内でやり取りされるリクエストを追跡し、ほぼリアルタイムでパフォーマンスの分析情報を提供します。Stackdriver Trace は、アプリケーションのトレースを自動的に分析し、パフォーマンス低下の原因となるレイテンシの詳細レポートを生成します。また、VM、コンテナ、Google App Engine プロジェクトからもトレースを取得できます。

<機能>

* 簡単な設定
* パフォーマンス分析情報
* 自動分析
* カスタム ワークロードに対する拡張性
* レイテンシの変化の検出

こっちはStackdriver Monitoringとは違い、App Engineのためのもののよう。

### Stackdriver Debugger
本番環境におけるコードの動作を調査
> Stackdriver Debugger は、Google Cloud Platform の機能の 1 つです。実行中のアプリケーションを停止したり、処理速度を下げたりすることなく、リアルタイムでアプリケーションの状態を調べることができます。ソースコード内のどの場所にあるコールスタックと変数をキャプチャしても、ユーザーには影響しません。これを使って本番環境でのコードの動作を理解し、状況を分析して見つけにくいバグを検出することもできます。

<特徴>

* デバッグ スナップショット
* デバッグ ログポイント
* 条件付きデバッグ
* IDE との統合
* 簡単なセットアップ

本番環境で気軽にデバッグができるのは、バグを見つけられたり、状態の確認をできるのでいいな。

### Stackdriver Profiler
パフォーマンス向上やコスト削減に役立つ、CPU とヒープの継続的なプロファイリング
> コードのパフォーマンスが悪いとレイテンシが大きくなり、何の対応も取られないまま気付かぬうちにアプリケーションやウェブサービスにかかる日々のコストが高くなります。Stackdriver Profiler を使用すると、CPU のパフォーマンスや、アプリケーション全体で実行されるメモリ消費量の多い関数を継続的に分析することで、この問題に対応できます。Stackdriver Profiler は関連する関数の呼び出し階層とリソース消費量をインタラクティブなフレームグラフで表示するため、リソースの消費が特に高くなっているパスや、コードが実際に呼び出されているさまざまな方法の理解に役立ちます。

本番環境下で計測するのに、本番のパフォーマンスに影響を与えることなく正確な値を得られるのはすごくいい。

### Private Catalog(β版)
社内ソリューションを管理し、見つけやすくします。
> プライベートカタログにより、クラウド管理者は配信を制御し、内部コンプライアンスを確保し、企業内のソリューションの発見性を高めることができます。

<特徴>

* 1つのツール
* 高度な検索とフィルター
* 統合ビュー
* APIのサポート
* 展開ガードレール
* 在庫管理

### Cloud Shell
ブラウザを使って、コマンドラインでインフラストラクチャとアプリケーションを管理
> Google Cloud Shell ではコマンドラインを使って、お使いのブラウザから直接クラウド リソースにアクセスできます。そのため、Google Cloud SDK などのツールをシステムにインストールすることなく、プロジェクトやリソースを簡単に管理できます。Cloud SDK gcloud コマンドライン ツールなどのユーティリティを、必要なときにいつでも、最新かつ認証済みの状態で使うことができます。

<特徴>

* ウェブブラウザからアクセス
* 安全な管理ツール
* 永続ストレージ
* 開発ツール

どこからでもGCPリソースにアクセスできるので、思い立った時に確認できたり、ちょっとしたコマンドを気軽にすぐにできていい。