NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ

4,814 views
4,669 views

Published on

Published in: Technology
1 Comment
15 Likes
Statistics
Notes
No Downloads
Views
Total views
4,814
On SlideShare
0
From Embeds
0
Number of Embeds
52
Actions
Shares
0
Downloads
0
Comments
1
Likes
15
Embeds 0
No embeds

No notes for slide
  • Traditional IT capacity planning, by the very nature of the logistics of acquiring hardware, installation, configuration and networking, has to take a forward looking view. Complex estimates of the utilisation of resources are made in order to handle the peaks you anticipate. Shown here in red is the level of resources a business needs to install in order to handle the peak needs of a service. Demand on that service might vary by the time of day, week, month or year, or be driven by exceptional demand driven by promotions or seasonal events.
  • There are many patterns of usage that make capacity planning a complex science. From on and off usage patterns, where capacity is only needed at fixed times and not at others, fast growth where an online service becomes so successful that step changes in traditional capacity need to be added, variable peaks - where you just don't know what demand will be when and best guess applies, to predictable peaks such as during commute times as customers use mobile devices to access your service.
  • Each of these examples is typified by wasted IT resources. Where you planned correctly, the IT resources will be over provisioned so that services are not impacted and customers lost during high demand. In the worst cases, that capacity will not be enough, and customer dissatisfaction will result. Most businesses have a mix differing patterns at play, and much time and resource is dedicated to planning and management to ensure services are always available. And when a new online service is really successful, you often can't ship in new capacity fast enough. Some say that's a nice problem to have, but those that have lived through it will tell you otherwise!
  • You control how and when your service scales, so you can closely match increasing load in small increments, scale up fast when needed, and cool off and reduce the resources being used at any time of day. Even the most variable and complex demand patterns can be matched with the right amount of capacity - all automatically handled by AWS.
  • Back in 2008, they launched a Facebook application that lets people tell their friends when they've uploaded a video that includes that friend. When people saw the music videos their friends created when the application shared it with them, they wanted to go out and create their own videos. Shortly after launching their social networking modification, they were featured on Techcrunch. As you can imagine, this brought them a lot of unexpected traffic. In the course of 3 days, they went from running on 40 instances to 5,000 instances. Because they were using Amazon Web Services, they were able to handle all of this incoming traffic without having to do a thing. AWS managed it all for them.
  • http://www.marketresearchmedia.com/2010/11/11/nosql-market/
  • NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ

    1. 1. NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ Amazon Data Services Japan 株式会社 松尾康博/ matsuoy@amazon.co.jp 2012/8/21
    2. 2. 自己紹介名前:松尾康博所属:アマゾンデータサービスジャパン職種:ソリューションアーキテクト好きなAWSサービス: SQS HPCインスタンス Copyright © 2012 Amazon Web Services
    3. 3. 本日のアジェンダAWS(Amazon Web Services)のご紹介ソーシャルゲームの課題AWSで実現できるアーキテクチャまとめ Q&A Copyright © 2012 Amazon Web Services
    4. 4. 本日のアジェンダAWS(Amazon Web Services)のご紹介ソーシャルゲームの課題AWSで実現できるアーキテクチャまとめ Q&A Copyright © 2012 Amazon Web Services
    5. 5. AWSのご紹介
    6. 6. アマゾンの3つのビジネス一般消費者様 Eコマース向けサービス (Amazon.co.jp)セラー様向け マーケットプレイス サービス 物流サービス提供 (Amazon Services) クラウド企業様向け コンピューティングサービス (Amazon Web Services)
    7. 7. なぜアマゾンは…About AmazonWeb Services Deep experience in building and ?operating global web scale systems …クラウドに参入したのか?
    8. 8. 10年以上のインフラ運用経験セラー様向けビジネスの経験アマゾン内部からのスケーラブルなインフラ需要外部デベロッパー・インフラエンジニアからの需要
    9. 9. クラウドコンピューティングとは?初期投資が不要 低額な利用価格 実際の使用分 のみ支払いセルフサービスな スケールアップ、 ビジネススピード インフラ ダウンが容易 の改善 Deploy
    10. 10. 必要なときにすぐに調達可能 オンプレミス クラウド新しいインフラの構築は複雑 ワンクリックで新しい かつ遅くなりがち インフラを用意 必要 調査 評価 新しいデプロイ環境を構築 新しいテスト環境を構築 計画 設計 エンジニア 新しい環境を海外に構築 調達 契約 コミッション 1,000 サーバ追加デプロイ 1,000 サーバ削除
    11. 11. 世界中からデータセンターを選択可能 GovCloud 米国西部 米国東部 南米 EU西部 アジア アジア (Dublin)(US ITAR Region) (Northern (Northern (Sao paulo) パシフィック パシフィック California) Virginia) (Singapore) (東京) AWS リージョン AWS エッジロケ―ション: コンテンツデリバリーネットワーク http://aws.amazon.com/jp/about-aws/globalinfrastructure/
    12. 12. リージョンとアベイラビリティゾーン1リージョン内にAZ(データセンター群)が複数拠点存在AZはお互いに地理的・電源的・ネットワーク的に分離されているAZ間は高速専用線で接続(リージョン間はインターネット経由)
    13. 13. 成長を続けるアマゾンクラウド 米国で、クラウドストレージ=Amazon S3 2006年 1 クラウド仮想サーバ=Amazon EC2のサービスを開始 仮想プライベートクラウドサービス=Amazon VPC 2009年 1 RDBサービス=Amazon RDSを開始 世界で5番目のリージョンとして、 2011年3月 1 日本に東京リージョン(データセンタ群)を開設 世界8か所のデータセンター群と、 現在 1 33拠点のエッジロケーション網で、 20を超えるサービスを提供中 13
    14. 14. AWSの拡張のペース アマゾン ドット コムが2000年当時に 年商27.6億ドルの企業であった時 に必要なキャパシティと同等のものを AWSは毎日追加しています (circa 2000) Copyright © 2012 Amazon Web Services
    15. 15. AWSの様々なサービス お客様のアプリケーション IDE プラグイン Tools to ライブラリ & SDKs Web インターフェース デプロイと自動化 Access Java, PHP, .NET, Eclipse AWS Elastic Beanstalk Services Python, Ruby Management Console AWS CloudFormation Visual Studio ネットワーク&ルーティング 認証 & 請求 Amazon VPC Cross- AWS IAM モニタリング スケーリング Amazon Elastic LB ServiceIdentity Federation Amazon CloudWatch Auto Scale Amazon Route 53 FeaturesConsolidated Billing AWS Direct Connect コンテンツ配信 メッセージAmazon オンデマンド High-Level 分散処理 メール配信 Amazon SNS ワークホース Building Elastic MapReduce Amazon SES CloudFront Amazon SQS Amazon Mechanical Turk Blocks データベース ストレージ Amazon RDS コンピュータ処理 Amazon S3 Low-Level Amazon DynamoDB Amazon EC2 Amazon EBS Amazon SimpleDB Building AWS StorageGateway Amazon Elasticache Blocks AWS のグローバルなインフラ Geographical Regions, Availability Zones, Points of Presence
    16. 16. AWSの様々なサービスAmazon EC2・台数やスペックを柔軟に変更可能な仮想サーバ 1・必要な時に、必要な台数を時間課金でご利用可能Amazon S3 1・容量無制限のオンラインストレージ・自動的に日本国内の複数DCに複製保存し、高い耐久性Amazon Elastic MapReduce・HW購入不要の分散処理(Hadoop)サービス 1・ご利用時間×ご利用台数だけのお支払いAmazon Elastic Load Balancing(ELB) 1・AWS専用の自動でスケールするロードバランサー・高信頼で低価格。SSL、ヘルスチェックなど完備
    17. 17. AWSの様々なサービスAmazon Relational Database Service(RDS) 1・マネージドRDBサービス(MySQL/Oracleが利用可能)・マスタ/スレーブ構成や自動バックアップなどご利用可能Amazon DynamoDB 1・スループット性能指定可能な高速NoSQLサービス・3カ所のデータセンターでSSDにデータを保持Amazon Simple Queue Service(SQS)・メッセージをキューイングするサービス 1・メッセージは冗長化されたストレージに保存Amazon ElasticCache 1・Memached互換のキャッシングサービス・ご利用時間×ご利用台数だけのお支払い
    18. 18. AWSの高い汎用性 フロントUI 開発言語 ミドルウェア × × HTML5OS
    19. 19. Entertainment & AWS SN SS c i a l o Facebookアプリ Top50の内 G a me s 70%がAWS上で稼働 Vi d e oS t r e a mi n g Copyright © 2012 Amazon Web Services
    20. 20. AWSとソーシャルゲーム
    21. 21. なぜAWSが選ばれるのか?ソーシャルゲームの性質 ?  トラフィック量の予測が難しい  日次、週次でのピーク変動  イベント等の突発的なアクセスへの対応  業界そのものの変化の速さ
    22. 22. なぜAWSが選ばれるのか?スケール増減が容易 必要な時に必要な分だけリソース利用が可能EC2以外にもフルマネージドなサービスが充実 OS・ミドルの運用をせずに、サービスのAPIを叩くだけ実際の使用分のみ支払 効率的なランニングコスト運用が可能初期投資が不要 スモールスタート、撤退リスクが容易に取れる
    23. 23. Elastic capacity 従来の Capacity PlanningCapacity Time 必要なリソース Copyright © 2012 Amazon Web Services
    24. 24. Elastic capacityオンとオフ 急成長予測できないピーク 予測可能なピーク Copyright © 2012 Amazon Web Services
    25. 25. Elastic capacity 余剰キャパシティオンとオフ 急成長予測できないピーク 予測可能なピーク 機会損失 Copyright © 2012 Amazon Web Services
    26. 26. Elastic capacity 柔軟性のあるクラウドキャパシティオンとオフ 急成長予測できないピーク 予測可能なピーク Copyright © 2012 Amazon Web Services
    27. 27. 3日間で40から5,000サーバへ ピーク時にEC2が5,000 インスタンスにスケール アップロードした写真、動画、音楽を もとに、 ビデオクリップをオンラインで作成でNumber of EC2 Instances きるサービス Facebookで アプリを公開 40インスタンス以下で サービスを開始 4/12/2008 4/13/2008 4/14/2008 4/15/2008 4/16/2008 4/17/2008 4/18/2008 4/19/2008 4/20/2008
    28. 28. 一般的なキャパシティ拡大方法EC2(APサーバ、memcached)の台数増加(スケールアウト)RDSのスペックを上げる(スケールアップ)RDSのRead Replica (MySQL Slave)を追加 ELB m1.large m2.4xlarge App App サーバ App サーバ サーバ メモリ 7.5GB メモリ 68GB CPU 4ECU CPU 26ECU Cache サーバ Copyright © 2012 Amazon Web Services
    29. 29. それでも残る課題 ソーシャルゲーム特有の大量Write負荷DBのI/O(write)がボトルネックでスケールしないシステム全体のスループット・レイテンシに影響 サービス的、ビジネス的にもインパクト大DBのスケールアップ(CPU/メモリ) では効果薄アプリケーション、DBのチューニングでも限界がある
    30. 30. DBのWrite 性能向上対策 その1現実的な時間で対応可能か?さらなる負荷に対応可能か?ストレージ高速化 DBシャーディング ストライピング(RAID, Write I/Oを分散 LVM) ストレージ容量も分散 高速ディスクに置換 ELB App App サーバ App サーバ サーバ Cache サーバ
    31. 31. DBのWrite 性能向上対策 その2安定運用可能か?さらなる負荷に対応可能か? 分散KVS導入 キュー導入 I/O分散しやすく Write負荷を平準化 ELB App App App KVS App サーバ App KVS サーバ 非同期 サーバ サーバ サーバ サーバ サーバ サーバ Cache サーバ KVS キュー サーバ サーバ
    32. 32. AWSならではのアーキテクチャ
    33. 33. なぜAWSが選ばれるのか?(再掲)スケールアップ/ダウンが容易 必要な時に必要な分だけリソースの配分が可能フルマネージドなサービスが充実 OS・ミドルの運用をせず、サービスのAPIを叩くだけ実際の使用分のみ支払 効率的なランニングコスト運用が可能初期投資が不要 スモールスタート、撤退リスクが容易に取れる Copyright © 2012 Amazon Web Services
    34. 34. DynamoDB Copyright © 2012 Amazon Web Services
    35. 35. Amazon DynamoDBとは?・フルマネージドなNoSQLデータベース・超高速・予測可能な一貫したパフォーマンス・シームレスなスケーラビリティ、そして低コスト 運用管理必要なし 低レイテンシ、SSD プロビジョンスループット 無限に使えるストレージ Copyright © 2012 Amazon Web Services
    36. 36. Amazon10年以上の経験の末に・・・• Amazonの継続構築・改善・運用経験 • 大規模なデータベースの構築経験 • リレーショナルデータベースから NoSQLデータベースまで• AWSで培ってきた、拡張性が高く信頼性の 高いクラウドサービスの構築経験 • S3, SimpleDB, RDS…• 上記の経験を活かしてDynamoDBという、 データベースサービスを実現 Copyright © 2012 Amazon Web Services
    37. 37. DynamoDBの特徴• 管理不要である• プロビジョンスループット• データへの高速アクセス• 信頼性が高い Copyright © 2012 Amazon Web Services
    38. 38. 管理不要なデータベース・サービス管理不要で高い拡張性を提供 ADMINサービス vs プロダクトの違い DynamoDBはサービス 他のデータベースはプロダクト 運用コストに大きな差が出る Copyright © 2012 Amazon Web Services
    39. 39. プロビジョンスループット Copyright © 2012 Amazon WebWeb Services Copyright © 2012 Amazon Services
    40. 40. プロビジョンスループットとは• IOPSを開発者がいつでも指定できる  テーブル作成時、あとからでも可能  ダウンタイムなし  秒間あたりの、読み/書きを指定  1レコードが1KBとした場合の数値 Copyright © 2012 Amazon WebWeb Services Copyright © 2012 Amazon Services
    41. 41. データベースのスケーラビリティ 要求: 予測可能で、一貫し たパフォーマンスパフォーマンス  ハードウェア購入と プロビジョニング $1.8B by 2015* $3.4B by 2018*  シャーディング  キャッシュ  クラスタ管理 現実: スケールを追及する  耐障害性と管理 度にパフォーマンスは急激 に減速 Scalability* Market Research Media, Dec 2011
    42. 42. データへの高速なアクセスAWSクラウドの特性を活用 ストレージにSSD(Solid State Drive)利用 SSD用に最適化 データへの高速なアクセスデータベースがいかに大規模になっていようと、数ミリ秒のアクセス速度が可能 Copyright © 2012 Amazon WebWeb Services Copyright © 2012 Amazon Services
    43. 43. 非常に低いレイテンシ数ミリ秒のレイテンシ Read Latency Copyright © 2012 Amazon Web Services Copyright © 2012 Amazon Web Services
    44. 44. DCレベルの障害にも耐える高い堅牢性 Copyright © 2012 Amazon WebWeb Services Copyright © 2012 Amazon Services
    45. 45. お客様がDynamoDBでやること 必要なテーブルを作成 各テーブル毎にRead/WriteのIOPSを指定 SDKを使って、アプリからPut/Get/Query Copyright © 2012 Amazon Web Services Copyright © 2012 Amazon Web Services
    46. 46. お客様がDynamoDBでやらなくてよい事 テーブルの容量拡張 ハードウェア拡張やスケーラビリティの確保 データベースの障害管理・フェイルオーバ機 能の実装・管理 データベースの堅牢性の維持アプリケーションの開発に集中してほしい Copyright © 2012 Amazon Web Services Copyright © 2012 Amazon Web Services
    47. 47. AWSでのDBのWrite 性能向上対策 その1運用負荷軽減、さらなる負荷の対応も楽に。 DynamoDB導入 運用負荷軽減 スケーラブル ELB App App App App サーバ App サーバ 非同期 サーバ サーバ サーバ サーバ Amazon DynamoDB Cache サーバ KVS キュー サーバ サーバ
    48. 48. Simple Queue Service Copyright © 2012 Amazon Web Services
    49. 49. SQS(Simple Queue Service)とは 分散キューサービス  AWSをスケールアウトして使うためのキーコンポーネント  2006年よりある最古参サービス 堅牢性・信頼性・可用性が高く低コスト  最低一度は届くことを保証(At-Least-Once delivery)  3箇所以上のDCにメッセージを複製保存しロストを防ぐ フルマネージド  インストール・管理不要  アプリからSDK・APIでSend/Receive/Deleteするだけ Copyright © 2012 Amazon Web Services
    50. 50. 3箇所以上にメッセージを自動複製 S3 世界中の7拠点から選択 東京リージョンメッセージを送受 信するだけ。可用性・性能は気 にしない。 容量無制限。 データセンターA データセンターB キュー 3か所以上で 自動複製 データセンターC 高い耐久性で データ失わない: メッセージ Copyright © 2012 Amazon Web Services
    51. 51. AWSでのDBのWrite 性能向上対策 その2運用負荷軽減、さらなる負荷の対応も楽に。 DynamoDB導入 SQS導入 運用負荷軽減 運用負荷軽減 スケーラブル スケーラブル ELB App App App App サーバ App サーバ 非同期 サーバ サーバ サーバ サーバ Amazon DynamoDB Cache サーバ Amazon Simple Queue Service (SQS)
    52. 52. お客様がキャパシティ増強時にやることAPサーバ・非同期サーバをスケールアウトDynamoDBの各テーブルのRead/WriteのIOPSを増加 Copyright © 2012 Amazon Web Services Copyright © 2012 Amazon Web Services
    53. 53. キャパシティ増強時でやらなくてよい事テーブルの容量拡張ハードウェア拡張やスケーラビリティの確保データベースの障害管理・フェイルオーバ機能の実装・管理データベース・キューの堅牢性の維持アプリケーションの修正アプリケーションの開発に集中してほしい Copyright © 2012 Amazon Web Services Copyright © 2012 Amazon Web Services
    54. 54. AWS レファレンスアーキテクチャAWS レファレンスアーキテクチャ for オンラインゲームオンラインゲーム Copyright © 2012 Amazon Web Services
    55. 55. AWS アーキテクチャセンター http://aws.amazon.com/jp/architecture/ Copyright © 2012 Amazon Web Services
    56. 56. まとめ Copyright © 2012 Amazon Web Services
    57. 57. まとめすぐに安く試せる  無料枠でも十分にクラウドサービスを試せます!どこまでもスケーラブルなキャパシティ  インスタンス数  ストレージ容量  スループットAWSのフルマネージドサービスを活用  運用を楽に!  開発を楽に! Copyright © 2012 Amazon Web Services
    58. 58. クラウドデザインパターン(CDP)http://aws.clouddesignpattern.org/ http://www.amazon.co.jp/dp/4822211967/
    59. 59. 来場登録ウェブサイトで申し込み受付中! http://www.awssummittokyo.com/ Copyright © 2012 Amazon Web Services
    60. 60. 62

    ×