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
330
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
550
『ヘブンバーンズレッド』におけるフィールドギミックの裏側
gree_tech
PRO
2
260
セキュリティインシデント対応の体制・運用の試行錯誤 / greetechcon2024-session-a1
gree_tech
PRO
1
260
『アナザーエデン 時空を超える猫』国内海外同時運営実現への道のり ~別々で開発されたアプリを安定して同時リリースするまでの取り組み~
gree_tech
PRO
1
220
『アサルトリリィ Last Bullet』におけるクラウドストリーミング技術を用いたブラウザゲーム化の紹介
gree_tech
PRO
1
270
UnityによるPCアプリの新しい選択肢。「PC版 Google Play Games」への対応について
gree_tech
PRO
1
510
実機ビルドのエラーによる検証ブロッカーを0に!『ヘブンバーンズレッド』のスモークテスト自動化の取り組み
gree_tech
PRO
1
310
"ゲームQA業界の技術向上を目指す! 会社を超えた研究会の取り組み"
gree_tech
PRO
1
380
Jamstack でリニューアルするグリーグループのメディア
gree_tech
PRO
2
530
Other Decks in Technology
See All in Technology
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
3
1.3k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
2.1k
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
130
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
13
2.6k
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
2
2.9k
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
210
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
530
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
730
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
57k
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
710
君も受託系GISエンジニアにならないか
sudataka
2
430
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
51
7.4k
Done Done
chrislema
182
16k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Music & Morning Musume
bryan
46
6.3k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
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テーブル程度なら無料
ご清聴ありがとうございました。