Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cloud Spanner をより便利にする運用支援ツールの紹介
Search
gree_tech
PRO
November 11, 2021
Technology
0
420
Cloud Spanner をより便利にする運用支援ツールの紹介
GREE Tech Conference 2021 で発表された資料です。
https://techcon.gree.jp/2021/session/ShortSession-6
gree_tech
PRO
November 11, 2021
Tweet
Share
More Decks by gree_tech
See All by gree_tech
kustomizeをいい感じに使う方法
gree_tech
PRO
4
2.3k
スケーラビリティとコスト管理 Google Cloud Spanner 費用最適化の取り組み
gree_tech
PRO
0
760
「アナザーエデン 時空を超える猫」の5年前のログを引っ越してデータドリブンで事業運用プロセスを改善した話
gree_tech
PRO
0
490
Unity,PHP+Jenkins+GAS 多言語対応を意識させない開発を目指したシステム構築
gree_tech
PRO
0
1k
全社総会における「REALITY Spaces」の活用と、Addressableを用いたコンテンツ配信技術について
gree_tech
PRO
0
630
AWSのEKS環境でログ機能を構築/リリースしたお話
gree_tech
PRO
0
490
「ヘブンバーンズレッド」の大規模アップデートにおける国内及び翻訳QAの取り組み
gree_tech
PRO
0
580
アプリ「REALITY」の12言語対応プロセスの仕組みと品質向上の取り組み
gree_tech
PRO
0
870
REALITYアプリのメンテナンスなしでの機能リリースを実現する、Istio導入とB/Gデプロイ実現の取り組み
gree_tech
PRO
0
700
Other Decks in Technology
See All in Technology
大規模ドラレコデータ収集・機械学習基盤を支える AWS CDK 〜導入・運用事例紹介〜
pemugi
0
110
ギークの理想が7つ集まるエムスリーで夢を叶えよう - エムスリー株式会社
m3_engineering
1
260
Github Actions 로 Android 팀의 효율성 극대화
hadonghyun
0
160
AutomatedLabを使って内部ペンテストを勉強しよう! -やられ社内ネットワークの自動構築-
n_etupirka
1
610
GoとアクターモデルでES+CQRSを実践! / proto_actor_es_cqrs
ytake
1
150
累計ダウンロード数1億8000万を超えるアプリケーションプラットフォームのレガシーシステム脱却とモダン化への道
kmitsuhashi
0
120
Azure OpenAI Service Dev Day / LLMでできる!使える!生成AIエージェント
masahiro_nishimi
3
740
開発と事業を繋ぐ!SREのオブザーバビリティ戦略 ~ Developers Summit 2024 Summer ~
leveragestech
0
620
クラウド利用者の「責任」をどう果たす?AWSセキュリティ対策のススメ #AWSSummit
hiashisan
0
270
Azure AI ことはじめ
tsubakimoto_s
0
130
ACRiルーム最新情報とAMD GPUサーバーのご紹介
anjn
0
150
データ分析基盤を作ってみよう~設計編~
nrinetcom
PRO
1
110
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
93
5k
The Brand Is Dead. Long Live the Brand.
mthomps
52
36k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
19k
The MySQL Ecosystem @ GitHub 2015
samlambert
248
12k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
26
1.6k
Scaling GitHub
holman
458
140k
The Invisible Side of Design
smashingmag
294
50k
Why Our Code Smells
bkeepers
PRO
332
56k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
From Idea to $5000 a Month in 5 Months
shpigford
377
46k
Transcript
Cloud Spanner をより便利に する運用支援ツールの紹介 グリー株式会社 インフラエンジニア 石松佑太
2 自己紹介 名前: 石松 佑太 所属: • 開発本部 インフラストラクチャ部 サービスオペレーショングループ
サービスオペレーションチーム • RDBMS ユニット 一緒にコーディングするぐらい インコが大好きです!
3 Cloud Spanner
4 Cloud Spanner とは GCP が提供するデータベースのマネージドサービス • RDBMS の特性を持つ •
スキーマ • 強整合性 • SQL クエリ • NoSQL の特性を持つ • 水平方向のスケーラビリティ ( ダウンタイムなしにノード数の増減が可能 )
5 Cloud Spanner を利用する上での課題 1.ウォームアップ リリース前に負荷をかけてスプリットを分割させる必要がある → ♨ Spanner 温めるくん
1.オートスケール スケジュールや負荷状況に合わせてオートスケールしたい → 🔧 Spanner 上げ下げくん
6 Spanner 温めるくん
7 Spanner 温めるくん リリース前にウォームアップを行うツール 発表の流れ 1.ウォームアップの流れ 2.Spanner 温めるくんの特徴 3.Spanner 温めるくんを使った事例
8 Spanner 温めるくん: ウォームアップの流れ 準備 ダミーデータ INSERT ダミーデータ SELECT ダミーデータ
DELETE ダミーデータ 生成
9 Spanner 温めるくん: ウォームアップの流れ 準備 ダミーデータ INSERT ダミーデータ SELECT ダミーデータ
DELETE ダミーデータ 生成 事前にスケジュールをスプレッドシートに設定
10 Spanner 温めるくん: ウォームアップの流れ 準備 ダミーデータ INSERT ダミーデータ SELECT ダミーデータ
DELETE ダミーデータ 生成 Scheduler が各機能の CronJob を作成
11 Spanner 温めるくん: ウォームアップの流れ 準備 ダミーデータ INSERT ダミーデータ SELECT ダミーデータ
DELETE ダミーデータ 生成
12 Spanner 温めるくん: ウォームアップの流れ 準備 ダミーデータ INSERT ダミーデータ SELECT ダミーデータ
DELETE ダミーデータ 生成
13 Spanner 温めるくん: ウォームアップの流れ 準備 ダミーデータ INSERT ダミーデータ SELECT ダミーデータ
DELETE ダミーデータ 生成
14 Spanner 温めるくん: ウォームアップの流れ 準備 ダミーデータ INSERT ダミーデータ SELECT ダミーデータ
DELETE ダミーデータ 生成 Spanner からダミーデータを削除
15 Spanner 温めるくん: 特徴 1 2 SELECT だけで負荷をかけることが可能 背景 リリース後の運用段階でもウォームアップが必要な場合がある
• 例: 大規模なスキーマの変更 • 例: 2 日以上の長期メンテ • ( スプリットが削除されてしまうため )
16 Spanner 温めるくん: 特徴 1 2 SELECT だけで負荷をかけることが可能 問題 運用段階でダミーデータを
INSERT すると、 テーブル内に実データとダミーデータが混在してしまう → 実データを SELECT することで気軽にウォームアップ可能
17 Spanner 温めるくん: 特徴 1 2 SELECT する Bot を自動で追加
→ CPU使用率が上がるように Bot の台数を自動で調整
18 事例: プロダクトリリース前のウォームアップ INSERT レイテンシ悪化 レイテンシ安定 SELECT
19 Spanner 上げ下げくん
20 Spanner 上げ下げくん Spanner のノード数をオートスケールするツール 発表の流れ 1.オートスケールの流れ 2.Spanner 上げ下げくんの特徴 3.Spanner
上げ下げくんを使った事例
21 Spanner 上げ下げくん: オートスケールの流れ 事前にスケジュールをスプレッドシートに設定 準備 ノード数 調整 Cloud Functions
定期実行
22 Spanner 上げ下げくん: オートスケールの流れ ノード数を調整する Cloud Functions が定期実行 準備 ノード数
調整 Cloud Functions 定期実行
23 Spanner 上げ下げくん: オートスケールの流れ スケジュールと負荷状況に合わせてノード数を調整 準備 ノード数 調整 Cloud Functions
定期実行
24 Spanner 上げ下げくん: 特徴 スケジュールに沿ったスケール 1 2 3 例1: 深夜帯にノード数を減らす
→ コスト削減
25 Spanner 上げ下げくん: 特徴 スケジュールに沿ったスケール 1 2 3 例2: ガチャ更新やイベント前にノード数を増やす
→ 安定稼働
26 Spanner 上げ下げくん: 特徴 負荷状況に合わせたスケール 1 2 3 想定以上のリクエストが来た場合はノード数を自動で調整
27 Spanner 上げ下げくん: 特徴 ノード数を徐々に下げる 1 2 3 減らす時は少ない台数を10〜30分かけて徐々に減らすことが推奨 自動でやってくれるので便利
28 事例: 開発環境におけるノード数の調整 → 深夜に性能を下げてコスト削減 深夜は使っていないので 性能を下げられる
29 まとめ
30 まとめ ♨ Spanner 温めるくん リリース前に Spanner をウォームアップするツール 特徴 •
SELECT だけで負荷をかけることが可能 • SELECT する Bot を自動で追加 🔧 Spanner 上げ下げくん Spanner のノード数をオートスケールするツール 特徴 • スケジュールに沿ったスケール • 負荷状況に合わせたスケール • ノード数を徐々に下げる
31