Successfully reported this slideshow.
Your SlideShare is downloading. ×

Cloud Spanner をより便利にする運用支援ツールの紹介

Ad

Cloud Spanner をより便利に
する運用支援ツールの紹介
グリー株式会社 インフラエンジニア 石松佑太

Ad

2
自己紹介
名前: 石松 佑太
所属:
• 開発本部
インフラストラクチャ部
サービスオペレーショングループ
サービスオペレーションチーム
• RDBMS ユニット
一緒にコーディングするぐらい
インコが大好きです!

Ad

3
Cloud Spanner

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 31 Ad
1 of 31 Ad

More Related Content

More from gree_tech (20)

Cloud Spanner をより便利にする運用支援ツールの紹介

  1. 1. Cloud Spanner をより便利に する運用支援ツールの紹介 グリー株式会社 インフラエンジニア 石松佑太
  2. 2. 2 自己紹介 名前: 石松 佑太 所属: • 開発本部 インフラストラクチャ部 サービスオペレーショングループ サービスオペレーションチーム • RDBMS ユニット 一緒にコーディングするぐらい インコが大好きです!
  3. 3. 3 Cloud Spanner
  4. 4. 4 Cloud Spanner とは GCP が提供するデータベースのマネージドサービス • RDBMS の特性を持つ • スキーマ • 強整合性 • SQL クエリ • NoSQL の特性を持つ • 水平方向のスケーラビリティ ( ダウンタイムなしにノード数の増減が可能 )
  5. 5. 5 Cloud Spanner を利用する上での課題 1.ウォームアップ リリース前に負荷をかけてスプリットを分割させる必要がある → ♨ Spanner 温めるくん 1.オートスケール スケジュールや負荷状況に合わせてオートスケールしたい → 🔧 Spanner 上げ下げくん
  6. 6. 6 Spanner 温めるくん
  7. 7. 7 Spanner 温めるくん リリース前にウォームアップを行うツール 発表の流れ 1.ウォームアップの流れ 2.Spanner 温めるくんの特徴 3.Spanner 温めるくんを使った事例
  8. 8. 8 Spanner 温めるくん: ウォームアップの流れ 準備 ダミーデータ INSERT ダミーデータ SELECT ダミーデータ DELETE ダミーデータ 生成
  9. 9. 9 Spanner 温めるくん: ウォームアップの流れ 準備 ダミーデータ INSERT ダミーデータ SELECT ダミーデータ DELETE ダミーデータ 生成 事前にスケジュールをスプレッドシートに設定
  10. 10. 10 Spanner 温めるくん: ウォームアップの流れ 準備 ダミーデータ INSERT ダミーデータ SELECT ダミーデータ DELETE ダミーデータ 生成 Scheduler が各機能の CronJob を作成
  11. 11. 11 Spanner 温めるくん: ウォームアップの流れ 準備 ダミーデータ INSERT ダミーデータ SELECT ダミーデータ DELETE ダミーデータ 生成
  12. 12. 12 Spanner 温めるくん: ウォームアップの流れ 準備 ダミーデータ INSERT ダミーデータ SELECT ダミーデータ DELETE ダミーデータ 生成
  13. 13. 13 Spanner 温めるくん: ウォームアップの流れ 準備 ダミーデータ INSERT ダミーデータ SELECT ダミーデータ DELETE ダミーデータ 生成
  14. 14. 14 Spanner 温めるくん: ウォームアップの流れ 準備 ダミーデータ INSERT ダミーデータ SELECT ダミーデータ DELETE ダミーデータ 生成 Spanner からダミーデータを削除
  15. 15. 15 Spanner 温めるくん: 特徴 1 2 SELECT だけで負荷をかけることが可能 背景 リリース後の運用段階でもウォームアップが必要な場合がある • 例: 大規模なスキーマの変更 • 例: 2 日以上の長期メンテ • ( スプリットが削除されてしまうため )
  16. 16. 16 Spanner 温めるくん: 特徴 1 2 SELECT だけで負荷をかけることが可能 問題 運用段階でダミーデータを INSERT すると、 テーブル内に実データとダミーデータが混在してしまう → 実データを SELECT することで気軽にウォームアップ可能
  17. 17. 17 Spanner 温めるくん: 特徴 1 2 SELECT する Bot を自動で追加 → CPU使用率が上がるように Bot の台数を自動で調整
  18. 18. 18 事例: プロダクトリリース前のウォームアップ INSERT レイテンシ悪化 レイテンシ安定 SELECT
  19. 19. 19 Spanner 上げ下げくん
  20. 20. 20 Spanner 上げ下げくん Spanner のノード数をオートスケールするツール 発表の流れ 1.オートスケールの流れ 2.Spanner 上げ下げくんの特徴 3.Spanner 上げ下げくんを使った事例
  21. 21. 21 Spanner 上げ下げくん: オートスケールの流れ 事前にスケジュールをスプレッドシートに設定 準備 ノード数 調整 Cloud Functions 定期実行
  22. 22. 22 Spanner 上げ下げくん: オートスケールの流れ ノード数を調整する Cloud Functions が定期実行 準備 ノード数 調整 Cloud Functions 定期実行
  23. 23. 23 Spanner 上げ下げくん: オートスケールの流れ スケジュールと負荷状況に合わせてノード数を調整 準備 ノード数 調整 Cloud Functions 定期実行
  24. 24. 24 Spanner 上げ下げくん: 特徴 スケジュールに沿ったスケール 1 2 3 例1: 深夜帯にノード数を減らす → コスト削減
  25. 25. 25 Spanner 上げ下げくん: 特徴 スケジュールに沿ったスケール 1 2 3 例2: ガチャ更新やイベント前にノード数を増やす → 安定稼働
  26. 26. 26 Spanner 上げ下げくん: 特徴 負荷状況に合わせたスケール 1 2 3 想定以上のリクエストが来た場合はノード数を自動で調整
  27. 27. 27 Spanner 上げ下げくん: 特徴 ノード数を徐々に下げる 1 2 3 減らす時は少ない台数を10〜30分かけて徐々に減らすことが推奨 自動でやってくれるので便利
  28. 28. 28 事例: 開発環境におけるノード数の調整 → 深夜に性能を下げてコスト削減 深夜は使っていないので 性能を下げられる
  29. 29. 29 まとめ
  30. 30. 30 まとめ ♨ Spanner 温めるくん リリース前に Spanner をウォームアップするツール 特徴 • SELECT だけで負荷をかけることが可能 • SELECT する Bot を自動で追加 🔧 Spanner 上げ下げくん Spanner のノード数をオートスケールするツール 特徴 • スケジュールに沿ったスケール • 負荷状況に合わせたスケール • ノード数を徐々に下げる
  31. 31. 31

×