第3回 Google Cloud INSIDE Games & Appsに参加してきました
はじめに
はじめてGoogle Cloud INSIDE Games & Appsに参加してきました。
このイベントは、事例をもとにアプリ開発の裏側を徹底解説することで、より実践的な知識と経験の共有の場となることを目指しています。
とありましたが、今回のテーマが「マイクロサービスのアーキテクチャと事例紹介」でしたので、GCPでマイクロサービスをどう実現したか(するか)という内容が主でした。アプリ開発に関してはFirebaseが少し出てきたかなくらいです。以下簡単ですが、内容の共有です。詳細はスライドを確認してください。
Google Cloud Platformで実現するプロダクションレディマイクロサービス
GCPを使えばプロダクションレディマイクロサービスが簡単に構築運用できますよという話でした。 プロダクションレディマイクロサービスによると、以下の原則を備えたマイクロサービスを作れば、本番トラフィックを任せられる可用性の高いシステムが構築できるとのことです。
- 安定性
- 信頼性
- スケーラビリティ
- 耐障害性と大惨事への対応
- パフォーマンス
- 監視
- ドキュメント
上記の原則を備えたマイクロサービスをGCPでどう実現するか。
- 安定性 / 信頼性
- 標準的なデプロイパイプライン
GAE
: カナリアリリース・A/BテストGKE
: Spinnakerを併用
- 標準的なデプロイパイプライン
- スケーラビリティ
GAE
: Webアプリのための統合PaaSGKE
: マネージドのKubernetes (KaaS)
- 耐障害性と大惨事への対応
- サービスごとにリリースチェックリストがある
- パフォーマンス
- タスクの処理効率
Task Queue
: App Engineに組み込み済みのキューCloud Pub/Sub
: Publisher/Subscriber型のメッセージサービス
- データ処理
BigQuery
,Cloud SQL
,Cloud Storage
など- 最適なストレージを選択するためのY/Nチャート
- タスクの処理効率
- 監視
Stackdriver
: 運用のための統合ツール -ドキュメントCloud Endpoints
: 標準化されたエンドポイントを提供
チュートリアル - Google App Engine - Google Kubernetes Engine - Google Endpoints
バスNAVITIME on GKE, Inside of Bus NAVITIME.
GKEに移行した手順と苦労した点の話でした。
GCP本格採用で遭遇した課題とマイクロサービス的解決
CQRSという切り口でC(Command:更新系)をGAE flexible × Scala でQ(Query:参照系)をGAE standard × GoでUniposを開発したという話でした。 GAE flexibleはインスタンスの起動時間が分単位だったり、セキュリティの関係で(?)週に1度リブートされたりするため注意が必要とのことです。
おわりに
はじめての六本木ヒルズは怖くて終始挙動不審だったと思います。セッションの内容はマイクロサービスに関する話が主でした。もう少しアプリ開発ならではの話も聞きたかった気もしますが、すごく勉強させていただきました。今回は予定があり懇親会に参加できなかったですが、次回はぜひ参加したいです。