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
900
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
変わるもの、変わらないもの :OSSアーキテクチャで実現する持続可能なシステム
gree_tech
PRO
0
3.2k
マネジメントに役立つ Google Cloud
gree_tech
PRO
0
34
今この時代に技術とどう向き合うべきか
gree_tech
PRO
3
2.5k
生成AIを開発組織にインストールするために: REALITYにおけるガバナンス・技術・文化へのアプローチ
gree_tech
PRO
0
240
安く・手軽に・現場発 既存資産を生かすSlack×AI検索Botの作り方
gree_tech
PRO
0
220
生成AIを安心して活用するために──「情報セキュリティガイドライン」策定とポイント
gree_tech
PRO
1
1.6k
あうもんと学ぶGenAIOps
gree_tech
PRO
0
340
MVP開発における生成AIの活用と導入事例
gree_tech
PRO
0
370
機械学習・生成AIが拓く事業価値創出の最前線
gree_tech
PRO
0
260
Other Decks in Technology
See All in Technology
プロポーザルに込める段取り八分
shoheimitani
1
430
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
160
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
370
Tebiki Engineering Team Deck
tebiki
0
24k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.9k
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
150
Greatest Disaster Hits in Web Performance
guaca
0
270
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
240
Agent Skils
dip_tech
PRO
0
120
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
670
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
1
2.6k
Webhook best practices for rock solid and resilient deployments
glaforge
2
300
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
77
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
The Language of Interfaces
destraynor
162
26k
How to make the Groovebox
asonas
2
1.9k
Fireside Chat
paigeccino
41
3.8k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
280
Test your architecture with Archunit
thirion
1
2.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
430
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
57
50k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
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