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
AIやマイクロサービスを活用したDynamoDB節約術
Search
gree_tech
PRO
January 17, 2020
Technology
0
470
AIやマイクロサービスを活用したDynamoDB節約術
「WFS Tech Talk #2」で発表された資料です。
https://gree.connpass.com/event/158257/
gree_tech
PRO
January 17, 2020
Tweet
Share
More Decks by gree_tech
See All by gree_tech
LLM翻訳ツールの開発と海外のお客様対応等への社内導入事例
gree_tech
PRO
0
28
ヘブンバーンズレッドのレンダリングパイプライン刷新
gree_tech
PRO
0
24
ヘブンバーンズレッドにおける、世界観を活かしたミニゲーム企画の作り方
gree_tech
PRO
0
23
「魔法少女まどか☆マギカ Magia Exedra」のグローバル展開を支える、開発チームと翻訳チームの「意識しない協創」を実現するローカライズシステム
gree_tech
PRO
0
27
「魔法少女まどか☆マギカ Magia Exedra」での負荷試験の実践と学び
gree_tech
PRO
0
29
「魔法少女まどか☆マギカ Magia Exedra」の必殺技演出を徹底解剖! -キャラクターの魅力を最大限にファンに届けるためのこだわり-
gree_tech
PRO
0
31
ヒューリスティック評価を用いたゲームQA実践事例
gree_tech
PRO
0
27
ライブサービスゲームQAのパフォーマンス検証による品質改善の取り組み
gree_tech
PRO
0
26
コミュニケーションに鍵を見いだす、エンジニア1年目の経験談
gree_tech
PRO
0
140
Other Decks in Technology
See All in Technology
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
4
1.6k
『FailNet~やらかし共有SNS~』エレベーターピッチ
yokomachi
1
170
DuckDB-Wasmを使って ブラウザ上でRDBMSを動かす
hacusk
1
130
【 LLMエンジニアがヒューマノイド開発に挑んでみた 】 - 第104回 Machine Learning 15minutes! Hybrid
soneo1127
0
170
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
6
770
生成AI時代に必要な価値ある意思決定を育てる「開発プロセス定義」を用いた中期戦略
kakehashi
PRO
1
130
どこで動かすか、誰が動かすか 〜 kintoneのインフラ基盤刷新と運用体制のシフト 〜
ueokande
0
210
Vault meets Kubernetes
mochizuki875
0
140
モダンな現場と従来型の組織——そこに生じる "不整合" を解消してこそチームがパフォーマンスを発揮できる / Team-oriented Organization Design 20250825
mtx2s
6
39k
事業価値と Engineering
recruitengineers
PRO
6
4.5k
現場が抱える様々な問題は “組織設計上” の問題によって生じていることがある / Team-oriented Organization Design 20250827
mtx2s
7
57k
自社製CMSからmicroCMSへのリプレースがプロダクトグロースを加速させた話
nextbeatdev
0
290
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
Bash Introduction
62gerente
614
210k
Fireside Chat
paigeccino
39
3.6k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
780
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Site-Speed That Sticks
csswizardry
10
800
Side Projects
sachag
455
43k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
Transcript
AIやマイクロサービスを活用した DynamoDB節約術 グリー株式会社 開発本部 インフラストラクチャ部 サービスインストレーショングループ 橋本順之
目次 • 前置き • コストの肝のキャパシティ • キャパシティの自動化 • まとめ 2
前置き • DynamoDB ◦ アナザーエデンとダンメモのメインストレージ ◦ 国内および海外を合わせると7箇所で運用 ◦ NoSQL:アクセス数に対してスケールしやすい ◦
データ量だけでなく、キャパシティ(スループット)で費用がかかる • 解決したい問題 ◦ メインストレージなのでサーバーの運用費を安くしたい ◦ 運用を自動化したい ▪ (20~50テーブル) x 7 の キャパシティを設定
キャパシティ • DynamoDBはキャパシティ(スループット)で費用がかかる • テーブル単位でキャパシティを設定 一時間:1リクエスト/秒 リード:$0.0001484 ライト:$0.000742
キャパシティ • DynamoDBはキャパシティ(スループット)で費用がかかる • テーブル単位でキャパシティを設定 一カ月:10000リクエスト/秒 ReadWriteこみで$6410
キャパシティ • DynamoDBはキャパシティを上げ下げすると安くなる プロビジョンされたキャパシティ 利用しているキャパシティ
キャパシティの注意点 • 利用しているキャパシティ > プロビジョンされたキャパシティの場合 ◦ アクセスに失敗します。 プロビジョンされたキャパシティ 利用しているキャパシティ
キャパシティ • (20~50テーブル) x 7 の キャパシティを設定
キャパシティの費用体系 • オンデマンド ◦ リクエストした分だけ費用がかかる ◦ これまでのピークの倍のスループットが出せる ◦ 0.001026USD/RCU (一時間)
• プロビジョニング ◦ あらかじめ決めたキャパシティで費用がかかる ▪ 0.0001484USD/RCU (一時間) ▪ RCU = 1秒1回のリード • リザーブドを買う(一年) ▪ 0.000029USD/RCU(一時間) • プロビジョニング • リザーブド • 自分でキャパシティ管理
キャパシティの費用体系(1Mリクエスト/秒) Read(USD 1MReq/sec) Write(USD 1MReq/sec) オンデマンド 0.285 1.427 プロビジョニング 0.041
0.206 リザーブド(1年) 0.008 0.041 東京リージョン、2020/01/14調査 例:プロビジョニング Read 0.041 = 0.0001484/3600*1000000
前置き • DynamoDB ◦ アナザーエデンとダンメモのメインストレージ ◦ 国内および海外を合わせると7箇所で運用 ◦ NoSQL:アクセス数に対してスケールしやすい ◦
データ量だけでなく、キャパシティ(スループット)で費用がかかる • 解決したい問題 ◦ メインストレージなのでサーバーの運用費を安くしたい ◦ 運用を自動化したい ▪ (20~50テーブル) x 7 の キャパシティを設定
キャパシティをコントロールするシステム構成 • AWS Lambdaで構成 • 特徴 ◦ AIが5分おきにキャパシティを調整 ◦ 突発の負荷に対応(設定値を超えると自動で増やす)
• 定常の調整 ◦ 設定値の40%の負荷で調整 ◦ 前日の負荷をみてAIが当日のキャパシティを調整 ◦ Haskellでかかれているので安全 • イベントのための調整 ◦ ユーザーが設定 ◦ AIが自動と手動(ユーザー定義)を切り替える
キャパシティをコントロールするシステム構成
まとめ • DynamoDB ◦ アナザーエデンとダンメモのメインストレージ (7箇所) ◦ 安く使うにはリザーブドがおすすめ ◦ キャパシティをテーブルごとにコントロールする必要があります
◦ 問題:テーブルが多い。(20~50テーブル) x 7 • 対応策 ◦ ユーザーによるスケジュールと前日の利用量からAIがキャパシティをコント ロール ◦ AWS Lambda の無料利用枠には、1 か月に 1,000,000 件の無料リクエスト ▪ 5分おきの実行:8640回/月 ▪ 100テーブル程度なら無料
ご清聴ありがとうございました。