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
280
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
REALITY株式会社における開発生産性向上の取り組み: 失敗と成功から学んだこと
gree_tech
PRO
2
190
『ヘブンバーンズレッド』におけるフィールドギミックの裏側
gree_tech
PRO
2
150
セキュリティインシデント対応の体制・運用の試行錯誤 / greetechcon2024-session-a1
gree_tech
PRO
1
140
『アナザーエデン 時空を超える猫』国内海外同時運営実現への道のり ~別々で開発されたアプリを安定して同時リリースするまでの取り組み~
gree_tech
PRO
1
120
『アサルトリリィ Last Bullet』におけるクラウドストリーミング技術を用いたブラウザゲーム化の紹介
gree_tech
PRO
1
150
UnityによるPCアプリの新しい選択肢。「PC版 Google Play Games」への対応について
gree_tech
PRO
1
240
実機ビルドのエラーによる検証ブロッカーを0に!『ヘブンバーンズレッド』のスモークテスト自動化の取り組み
gree_tech
PRO
1
180
"ゲームQA業界の技術向上を目指す! 会社を超えた研究会の取り組み"
gree_tech
PRO
1
230
Jamstack でリニューアルするグリーグループのメディア
gree_tech
PRO
2
390
Other Decks in Technology
See All in Technology
Qiita埋め込み用スライド
naoki_0531
0
860
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
180
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
280
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
160
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
110
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
180
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
260
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
180
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
210
大幅アップデートされたRagas v0.2をキャッチアップ
os1ma
2
520
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
170
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
470
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Writing Fast Ruby
sferik
628
61k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Designing for Performance
lara
604
68k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Adopting Sorbet at Scale
ufuk
73
9.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
4 Signs Your Business is Dying
shpigford
181
21k
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テーブル程度なら無料
ご清聴ありがとうございました。