サイバーエリアリサーチ様における
CassandraからAmazon DynamoDBへの
移行事例
2014.01.17
アマゾン データサービス ジャパン株式会社
エマージングソリューション部
部長/ソリューションアーキテクト
大谷 晋平(...
自己紹介
大谷 晋平
• ohtani@amazon.com
• @shot6

アマゾンデータサービスジャパン所属
• 技術本部エマージングソリューション部
• 部長/ソリューションアーキテクト

好きな言葉
• Less is More

...
アジェンダ
DynamoDBとは
サイバーエリアリサーチ様について
どこどこJPとは
CassandraからDynamoDBへの移行
コスト比較
今後の課題
まとめ
3
© 2012 Amazon.com, Inc. and its affil...
DynamoDBとは

4
© 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed ...
DynamoDBとは
NoSQL as a Service
超高速・予測可能な一貫したパフォーマンス
シームレスなスケーラビリティ、そして低コスト
運用管理必要なし
低レイテンシ、SSD
プロビジョンスループット

無限に使えるストレージ

5...
DynamoDBの生い立ち
Amazon.comではかつて全てのアクセスパターンを
RDBMSで処理していた
規模が大きくなるにつれて、RDBMSの課題に直面
• スケーラビリティ
• 処理能力を向上させるのが難しい。データの再配置、より大きな...
DynamoDBの生い立ち
RDBMSの課題に対処するため、Amazon Dynamo
(DynamoDBの先祖)を設計・開発
Amazon Dynamoの特長
• ベネフィット
• 結果整合性モデル採用による可用性向上
• HWを追加する毎に...
DynamoDBの誕生
AWS上に「サービス」として構築
パフォーマンスのためにデータの堅牢性・可用性を妥協
しない
常に低レイテンシーで応答を返す
開発者(利用者)はスケーラビリティを気にしなくて良
く、いつでも簡単に増減できる
サーバーやデ...
DynamoDBの特徴

管理不要で信頼性が高い
プロビジョンスループット
ストレージの容量制限がない

9
© 2012 Amazon.com, Inc. and its affiliates. All rights reserved. Ma...
特長1:管理不要で信頼性が高い
SPOFの存在しない構成
データは3箇所のAZに保存されるので信頼性が高い
ストレージは必要に応じて自動的にパーティショニング
される

クライアント

10
© 2012 Amazon.com, Inc. an...
特長2:プロビジョンスループット
ReadとWrite、それぞれに対して必要な分だけのスルー
プットキャパシティをプロビジョンする(割り当てる)
ことができる
例えば一般的なReadヘビーなDBなら
• Read : 1,000
• Write...
特長3:ストレージの容量制限がない
使った分だけの従量課金制のストレージ
データ容量が増えてきたのでディスクを足したり、ノー
ドを足したりという作業が不要

12
© 2012 Amazon.com, Inc. and its affiliat...
DynamoDBのシンプルな料金体系

プロビジョンスループットで決
まる時間料金
• Read/Writeそれぞれプロビジョンしたスループットによって時
間あたりの料金がきまる
• 大規模に利用するのであればリザーブ度による割引もあり

スト...
DynamoDBを使い始めるには

1. テーブルのKeyやIndexを決める
2. Read/Writeそれぞれのスループッ
トを決める

That’s it, write your code!

14
© 2012 Amazon.com, ...
サイバーエリアリサーチ様について

© 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distribu...
サイバーエリアリサーチ様について

16
© 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distr...
サイバーエリアリサーチ様
アクセスユーザーの地域認識技術であるIPジオロケー
ションデータベース「SURFPOINT」を提供する、国内
オンリーワン企業様。
• http://www.arearesearch.co.jp/

IPジオロケーショ...
SURFPOINT™ for DMPにおける
CassandraからDynamoDBへの移行

18
© 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May no...
SURFPOINT™ for DMPとは?
IPアドレスに「位置情報・組織・回線」など55種類*の
データを紐付けたデータベース。
位置情報のみならず、企業名・業種・上場区分や従業員
数・売上高・資本金コードなどの企業情報を含めたIPア
ドレス...
現状のSURFPOINTの課題
システムへの高負荷 / イマイチな安定性
• データ取得ミス / データ更新への影響
• Cassandra 6ノードを利用

焼津IDC~お客様システム間のレイテンシ
システム拡張におけるコスト面での懸念
→A...
Cassandraの構成
Cassandraとは
• NoSQLのオープンソース製品
• USではメジャーな製品で、スケーラビリティと高可用性が特徴

構成と現状
• オンプレ 6ノード、各ノード2TBx4のRAID0
• DBは実効3TB程度...
解決案
別のIDCに現システムのコピーを構築
• Cassandraシステムを複製しても根本的解決にならない

多くのアドテクのお取引先が、すでにAmazonクラウド
上にシステム構築
• AWS上で作ったらどうだろう?
• システム構成をAW...
解決策

速度面・安定性を重視
IP属性データ提供サービスとして構築
× アクセス数に応じた従量課金
× 管理画面
でもDBはどうしたらいいだろう?
• CassandraをEC2上で構築する?
• 他に選択肢は?
23
© 2012 Amaz...
DynamoDBを検討
DynamoDB
同時Read数/同時Write数に応じて課金
データ量への課金は今回あまり影響しない
並列読み込み・書き込みが前提
テーブル構成の変更

IPアドレス
DynamoDB
地域属性

組織属性

24
©...
属性情報テーブルの分割

・ 42億レコード

・ 36万レコード

・ 100万レコード

・ 500GB

・ 300MB

・ 600MB

25
© 2012 Amazon.com, Inc. and its affiliates. A...
テスト1
Amazon EC2
c1.xlarge
AmazonLinux
NginX + php-fpm + APC
PHP + AWS sdk
Client

Readスループット=80
Writeスループット=10

DynamoDB

...
テスト2
管理サーバー
EC2 ( c1.xlarge )
AmazonLinux
NginX + php-fpm
PHP + AWS sdk

XML出力

監視

データread/write

お客様システム

お客様システム

Dynam...
チューニング(1)
Amazon EC2
c1.xlarge
AmazonLinux
NginX + php-fpm + APC
PHP + AWS sdk
Client

https(SSL接続)で通信している
→httpで通信するよう変更
...
チューニング(2)
1183rps : C1.xlarge, Apache, 非公式sdk

731rps : C1.medium, NginX, 非公式sdk

419rps : C1.xlarge, Apache, 公式sdk, prelo...
今回のシステム構築で悩まなくて済んだこと
本番サーバースペック選定のための実証テスト
• microインスタンスでいきなりプロトタイプ開発を開始
• 様子を見つつインスタンスタイプを変更

システム構築完了から売上計上までのコスト
• 負荷テス...
アプリケーションの移植負荷は?
移植自体はそこまでかからなかった
テスト自身もそこまでかからなかった
DynamoDBのプロビジョンスループット
• 万が一、指定したプロビジョンスループットを超えた場合でもきちん
と対応したい
• →自前でオー...
工夫した点:DynamoDB オートスケール
公式SDKを使い、CapacityUnitsを読み書き
CapacityUnitsを
読み書きする
wrapper関数を書きました

$x
$x
$x
$x

=
=
=
=

$dynamo->g...
オートスケーリングの実行例

プロビジョンしたIOPS

実際に消費したIOPS

33
© 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be c...
オートスケーリングの実行例

34
© 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distribu...
自動的なスケーリングの実行例

35
© 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distrib...
バースト的トラフィックが発生した時

36
© 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or dist...
CloudWatch

監視可能な値
「ネットワークトラフィック」
「今月の課金金額」などなど
値を指定してアラートを上げる事が出来る
公式SDKで読み書きすることができる

37

37

© 2012 Amazon.com, Inc. an...
現在のシステム構成

お客様Server
管理用 / XML出力

極めてシンプルな構成
DynamoDBのスケールを十二分に活かす
オートスケールする工夫で手間いらず
AWS上の多数お客様もそのまま利用可能

IP

地域

組織

38
©...
今後の構成
管理用EC2
お客様EC2

お客様
Server

IP

地域

組織 天気 株価 ・・・

39
© 2012 Amazon.com, Inc. and its affiliates. All rights reserved....
コスト比較

40
© 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in w...
旧Cassandraシステム構築時にかかった費用

開発期間:約18カ月
• 本番サーバースペック選定のための実証テスト
• サーバー機の価格交渉・ 200v電源は確保できるのか?
• などなど

初期コスト:ざっと数100万円
• Cassa...
DynamoDB利用でかかった期間と費用
41億件すべて投入

$1,000

$0
7月度

8月度

9月度

10月度

11月度

12月度

仕様検討
実データ投入
チューニング
→
→
→
開発
負荷テスト
テスト環境公開

(1月...
費用見積もり
10億res/月を処理するシステムのAWS費用見積もり
データ転送量(AWS外部へ送信)は「1レスポンス3KB」として計算

43
© 2012 Amazon.com, Inc. and its affiliates. All r...
比較
CassandraでのTCO
• 開発期間18か月の人的コスト+初期ハードウェアコスト300万円
(+α)+ランニングコスト月額15万円(+α)

DynamoDBでのTCO(1ドル100円換算)
• 初期データ投入コスト約20万円+月額...
まとめ

45
© 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in who...
まとめ

サイバーエリアリサーチ様は
CassandraからDynamoDBへ移行
• 時間的・金銭的コストを大幅削減
• シンプルなアーキテクチャ
• ビジネスの成長に伴うインフラ不安からの解放

「DynamoDBを導入したので、温泉
旅行...
ご静聴ありがとうございました!

47
© 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distri...
Upcoming SlideShare
Loading in...5
×

[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例

4,521

Published on

Published in: Technology
0 Comments
17 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,521
On Slideshare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
35
Comments
0
Likes
17
Embeds 0
No embeds

No notes for slide

[よくわかるクラウドデータベース] CassandraからAmazon DynamoDBへの移行事例

  1. 1. サイバーエリアリサーチ様における CassandraからAmazon DynamoDBへの 移行事例 2014.01.17 アマゾン データサービス ジャパン株式会社 エマージングソリューション部 部長/ソリューションアーキテクト 大谷 晋平(ohtani@amazon.com) © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  2. 2. 自己紹介 大谷 晋平 • ohtani@amazon.com • @shot6 アマゾンデータサービスジャパン所属 • 技術本部エマージングソリューション部 • 部長/ソリューションアーキテクト 好きな言葉 • Less is More 好きなAWSサービス • S3 • DynamoDB 2 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  3. 3. アジェンダ DynamoDBとは サイバーエリアリサーチ様について どこどこJPとは CassandraからDynamoDBへの移行 コスト比較 今後の課題 まとめ 3 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  4. 4. DynamoDBとは 4 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  5. 5. DynamoDBとは NoSQL as a Service 超高速・予測可能な一貫したパフォーマンス シームレスなスケーラビリティ、そして低コスト 運用管理必要なし 低レイテンシ、SSD プロビジョンスループット 無限に使えるストレージ 5 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  6. 6. DynamoDBの生い立ち Amazon.comではかつて全てのアクセスパターンを RDBMSで処理していた 規模が大きくなるにつれて、RDBMSの課題に直面 • スケーラビリティ • 処理能力を向上させるのが難しい。データの再配置、より大きな HWを導入するなどの対処が必要。 • 可用性 • RDBMSは可用性よりもデータの整合性を重視する設計 • トランザクション処理が不要な場面でも、全てはトランザクション として処理される パフォーマンスのオーバーヘッド大 6 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  7. 7. DynamoDBの生い立ち RDBMSの課題に対処するため、Amazon Dynamo (DynamoDBの先祖)を設計・開発 Amazon Dynamoの特長 • ベネフィット • 結果整合性モデル採用による可用性向上 • HWを追加する毎に性能が向上するスケーラビリティ • クエリーモデルが単純なためパフォーマンスが予測できる • 妥協点 • 強い整合性モデルではない • スケールアップの際にHWの追加やクラスタのリバランスが必要 • 開発者がDB管理作業から開放されるわけではない ”Amazon S3のようなサービスとして使いたい”という声 7 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  8. 8. DynamoDBの誕生 AWS上に「サービス」として構築 パフォーマンスのためにデータの堅牢性・可用性を妥協 しない 常に低レイテンシーで応答を返す 開発者(利用者)はスケーラビリティを気にしなくて良 く、いつでも簡単に増減できる サーバーやディスク台数ではなく、シンプルに必要な読 み書きの性能数値を指定するだけ 管理作業が不要 8 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  9. 9. DynamoDBの特徴 管理不要で信頼性が高い プロビジョンスループット ストレージの容量制限がない 9 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  10. 10. 特長1:管理不要で信頼性が高い SPOFの存在しない構成 データは3箇所のAZに保存されるので信頼性が高い ストレージは必要に応じて自動的にパーティショニング される クライアント 10 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  11. 11. 特長2:プロビジョンスループット ReadとWrite、それぞれに対して必要な分だけのスルー プットキャパシティをプロビジョンする(割り当てる) ことができる 例えば一般的なReadヘビーなDBなら • Read : 1,000 • Write : 100 ライトヘビーなDBなら • Read : 500 • Write : 500 この値はDB運用中にオンラインで変更可能 • ただし、スケールダウンに関しては日に4回までしかできない ので注意 11 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  12. 12. 特長3:ストレージの容量制限がない 使った分だけの従量課金制のストレージ データ容量が増えてきたのでディスクを足したり、ノー ドを足したりという作業が不要 12 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  13. 13. DynamoDBのシンプルな料金体系 プロビジョンスループットで決 まる時間料金 • Read/Writeそれぞれプロビジョンしたスループットによって時 間あたりの料金がきまる • 大規模に利用するのであればリザーブ度による割引もあり ストレージ利用量 • 保存したデータ容量によって決まる月額利用料金 • 計算はGBあたりの単価が適用される 実際の料金については下記を参照 http://aws.amazon.com/jp/dynamodb/pricing/ 13 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  14. 14. DynamoDBを使い始めるには 1. テーブルのKeyやIndexを決める 2. Read/Writeそれぞれのスループッ トを決める That’s it, write your code! 14 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  15. 15. サイバーエリアリサーチ様について © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  16. 16. サイバーエリアリサーチ様について 16 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  17. 17. サイバーエリアリサーチ様 アクセスユーザーの地域認識技術であるIPジオロケー ションデータベース「SURFPOINT」を提供する、国内 オンリーワン企業様。 • http://www.arearesearch.co.jp/ IPジオロケーション技術とは? • インターネットに接続されたコンピューター等に割り当てられ たIPアドレスから、アクセスユーザーの位置情報やインター ネット接続環境を認識・マッピングするための技術。 • インターネット広告配信・コンテンツ配信・アクセス解析をは じめ、幅広い分野において利用されています。さらに近年では、 銀行・証券取引におけるオンラインセキュリティ分野での利用 も注目を集めています。 • 専任スタッフで調査を基に定期的なデータベース更新を行う 17 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  18. 18. SURFPOINT™ for DMPにおける CassandraからDynamoDBへの移行 18 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  19. 19. SURFPOINT™ for DMPとは? IPアドレスに「位置情報・組織・回線」など55種類*の データを紐付けたデータベース。 位置情報のみならず、企業名・業種・上場区分や従業員 数・売上高・資本金コードなどの企業情報を含めたIPア ドレスベースのデータを提供し、より付加価値の高い情 報を提供できる 日本国内では全IPアドレスをカバーし、全世界約43億の IPv4アドレスに対応しています。 19 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  20. 20. 現状のSURFPOINTの課題 システムへの高負荷 / イマイチな安定性 • データ取得ミス / データ更新への影響 • Cassandra 6ノードを利用 焼津IDC~お客様システム間のレイテンシ システム拡張におけるコスト面での懸念 →AWSが検討の材料に上がる 20 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  21. 21. Cassandraの構成 Cassandraとは • NoSQLのオープンソース製品 • USではメジャーな製品で、スケーラビリティと高可用性が特徴 構成と現状 • オンプレ 6ノード、各ノード2TBx4のRAID0 • DBは実効3TB程度、42億件のIPアドレス情報 • リクエストには12.2KBのXMLを返す。 課題 • 参照負荷に耐えられていない • 時々Keyに対してValueを返さないなど、暴れがち。 →運用管理に大きな負荷がかかっていた 21 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  22. 22. 解決案 別のIDCに現システムのコピーを構築 • Cassandraシステムを複製しても根本的解決にならない 多くのアドテクのお取引先が、すでにAmazonクラウド 上にシステム構築 • AWS上で作ったらどうだろう? • システム構成をAWSの機能にあわせる 22 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  23. 23. 解決策 速度面・安定性を重視 IP属性データ提供サービスとして構築 × アクセス数に応じた従量課金 × 管理画面 でもDBはどうしたらいいだろう? • CassandraをEC2上で構築する? • 他に選択肢は? 23 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  24. 24. DynamoDBを検討 DynamoDB 同時Read数/同時Write数に応じて課金 データ量への課金は今回あまり影響しない 並列読み込み・書き込みが前提 テーブル構成の変更 IPアドレス DynamoDB 地域属性 組織属性 24 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 24
  25. 25. 属性情報テーブルの分割 ・ 42億レコード ・ 36万レコード ・ 100万レコード ・ 500GB ・ 300MB ・ 600MB 25 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 25
  26. 26. テスト1 Amazon EC2 c1.xlarge AmazonLinux NginX + php-fpm + APC PHP + AWS sdk Client Readスループット=80 Writeスループット=10 DynamoDB 26 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 26
  27. 27. テスト2 管理サーバー EC2 ( c1.xlarge ) AmazonLinux NginX + php-fpm PHP + AWS sdk XML出力 監視 データread/write お客様システム お客様システム DynamoDB 27 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 27
  28. 28. チューニング(1) Amazon EC2 c1.xlarge AmazonLinux NginX + php-fpm + APC PHP + AWS sdk Client https(SSL接続)で通信している →httpで通信するよう変更 Readスループット=80 Writeスループット=10 DynamoDB 28 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 28
  29. 29. チューニング(2) 1183rps : C1.xlarge, Apache, 非公式sdk 731rps : C1.medium, NginX, 非公式sdk 419rps : C1.xlarge, Apache, 公式sdk, preloader有効 132rps : C1.medium, Apache, 公式sdk, preloader有効 131rps : C1.medium, NginX, 公式sdk, preloader有効 109rps : C1.medium, Apache, 公式sdk, preloader適用前 95rps : C1.medium, NginX, 公式sdk, preloader適用前 29 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  30. 30. 今回のシステム構築で悩まなくて済んだこと 本番サーバースペック選定のための実証テスト • microインスタンスでいきなりプロトタイプ開発を開始 • 様子を見つつインスタンスタイプを変更 システム構築完了から売上計上までのコスト • 負荷テスト完了後、一旦”休眠状態”にさせておくことができた インフラ調達に関わるコストやリスク • 万が一(?)の際にもすぐにサービス撤収ができる・・・のも事実 30 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 30
  31. 31. アプリケーションの移植負荷は? 移植自体はそこまでかからなかった テスト自身もそこまでかからなかった DynamoDBのプロビジョンスループット • 万が一、指定したプロビジョンスループットを超えた場合でもきちん と対応したい • →自前でオートスケール部分をやや作りこんだ 31 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 31
  32. 32. 工夫した点:DynamoDB オートスケール 公式SDKを使い、CapacityUnitsを読み書き CapacityUnitsを 読み書きする wrapper関数を書きました $x $x $x $x = = = = $dynamo->getreadCapacityUnits( $tableName ); $dynamo->getwriteCapacityUnits( $tableName ); $dynamo->getConsumedReadCapacityUnits( $tableName ); $dynamo->getConsumedWriteCapacityUnits( $tableName ); CapacityUnitsを上げる条件: CapacityUnit 利用率が 80% を超えていたら ⇒ CapacityUnit を現在の200%に上げる CapacityUnitsを下げる条件: CapacityUnit 利用率が 25% 以下の状態が2時間(5分間隔×24回)継続したら ⇒CapacityUnit を現在の25%に下げる 32 32 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  33. 33. オートスケーリングの実行例 プロビジョンしたIOPS 実際に消費したIOPS 33 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 33
  34. 34. オートスケーリングの実行例 34 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 34
  35. 35. 自動的なスケーリングの実行例 35 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 35
  36. 36. バースト的トラフィックが発生した時 36 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc. 36
  37. 37. CloudWatch 監視可能な値 「ネットワークトラフィック」 「今月の課金金額」などなど 値を指定してアラートを上げる事が出来る 公式SDKで読み書きすることができる 37 37 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  38. 38. 現在のシステム構成 お客様Server 管理用 / XML出力 極めてシンプルな構成 DynamoDBのスケールを十二分に活かす オートスケールする工夫で手間いらず AWS上の多数お客様もそのまま利用可能 IP 地域 組織 38 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  39. 39. 今後の構成 管理用EC2 お客様EC2 お客様 Server IP 地域 組織 天気 株価 ・・・ 39 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  40. 40. コスト比較 40 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  41. 41. 旧Cassandraシステム構築時にかかった費用 開発期間:約18カ月 • 本番サーバースペック選定のための実証テスト • サーバー機の価格交渉・ 200v電源は確保できるのか? • などなど 初期コスト:ざっと数100万円 • Cassandraノード用x86サーバー ×6台 ランニングコスト:月額 数10万円 • IDC費用(設置場所+電源+ネットワーク) • 加えて、ファイヤーウォールやロードバランサーのコスト 41 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  42. 42. DynamoDB利用でかかった期間と費用 41億件すべて投入 $1,000 $0 7月度 8月度 9月度 10月度 11月度 12月度 仕様検討 実データ投入 チューニング → → → 開発 負荷テスト テスト環境公開 (1月度) サービス開始 42 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  43. 43. 費用見積もり 10億res/月を処理するシステムのAWS費用見積もり データ転送量(AWS外部へ送信)は「1レスポンス3KB」として計算 43 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  44. 44. 比較 CassandraでのTCO • 開発期間18か月の人的コスト+初期ハードウェアコスト300万円 (+α)+ランニングコスト月額15万円(+α) DynamoDBでのTCO(1ドル100円換算) • 初期データ投入コスト約20万円+月額15万円 差分 • 開発期間18か月分人的コストとハードウェアコスト300万円(+α) • 18か月というリードタイム ご参考 • DynamoDBのリザーブドキャパシティで更にお得に! • http://aws.amazon.com/jp/dynamodb/pricing/ 44 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  45. 45. まとめ 45 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  46. 46. まとめ サイバーエリアリサーチ様は CassandraからDynamoDBへ移行 • 時間的・金銭的コストを大幅削減 • シンプルなアーキテクチャ • ビジネスの成長に伴うインフラ不安からの解放 「DynamoDBを導入したので、温泉 旅行にいけるようになりました」 46 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  47. 47. ご静聴ありがとうございました! 47 © 2012 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified or distributed in whole or in part without the express consent of Amazon.com, Inc.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×