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
340
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
960
『ヘブンバーンズレッド』におけるフィールドギミックの裏側
gree_tech
PRO
2
300
セキュリティインシデント対応の体制・運用の試行錯誤 / greetechcon2024-session-a1
gree_tech
PRO
1
300
『アナザーエデン 時空を超える猫』国内海外同時運営実現への道のり ~別々で開発されたアプリを安定して同時リリースするまでの取り組み~
gree_tech
PRO
1
260
『アサルトリリィ Last Bullet』におけるクラウドストリーミング技術を用いたブラウザゲーム化の紹介
gree_tech
PRO
1
310
UnityによるPCアプリの新しい選択肢。「PC版 Google Play Games」への対応について
gree_tech
PRO
1
560
実機ビルドのエラーによる検証ブロッカーを0に!『ヘブンバーンズレッド』のスモークテスト自動化の取り組み
gree_tech
PRO
1
350
"ゲームQA業界の技術向上を目指す! 会社を超えた研究会の取り組み"
gree_tech
PRO
1
420
Jamstack でリニューアルするグリーグループのメディア
gree_tech
PRO
2
570
Other Decks in Technology
See All in Technology
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
780
自分だけの仮想クラスタを高速かつ効率的に作る kubefork
donkomura
0
110
AWS Well-Architected Frameworkで学ぶAmazon ECSのセキュリティ対策
umekou
2
150
日経のデータベース事業とElasticsearch
hinatades
PRO
0
260
AIエージェント元年@日本生成AIユーザ会
shukob
1
250
OPENLOGI Company Profile
hr01
0
60k
LINEギフトにおけるバックエンド開発
lycorptech_jp
PRO
0
390
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.8k
開発者のための FinOps/FinOps for Engineers
oracle4engineer
PRO
2
220
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
510
Amazon Aurora のバージョンアップ手法について
smt7174
2
180
AIエージェント開発のノウハウと課題
pharma_x_tech
8
4.4k
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Scaling GitHub
holman
459
140k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Six Lessons from altMBA
skipperchong
27
3.6k
YesSQL, Process and Tooling at Scale
rocio
172
14k
4 Signs Your Business is Dying
shpigford
183
22k
How to Ace a Technical Interview
jacobian
276
23k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Bash Introduction
62gerente
611
210k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
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テーブル程度なら無料
ご清聴ありがとうございました。