活クラウド awsをどう利用するべきか

Post on 28-May-2015

911 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

活クラウド AWSをどう利用するべきか

2013/11/09 DevLOVE現場甲子園2013

楽天タワー2号館Junichiro Ueno / @jun116

現場

技術ブログ Developers.IO http://dev.classmethod.jp/

自己紹介

Junichiro Ueno

上野 潤一郎 Community :  DevLOVE !

 Company :  クラスメソッド株式会社 AWSソリューション部 !

twitter : @jun116 facebook : junichiro.ueno

クラウドをどう活用すればいいの?

その前に

普段の現場

受託開発

サービス・システム開発

インフラエンジニア ではなく

開発エンジニア

会社がAWSを推進

今日から EC2, RDS, S3, SQS, SES, …

で開発よろしく

( ́Д`)=3

とはいえ、 結構面白そう

何ができるの? から始める

現場での経験を元に 仮想システムの構築

するとどのようにするか

広告配信システム • 配信広告の制御 • ブラウザから広告をクリック • クリックで対象サイトに遷移 • クリック数等をDBに保存

実現したいこと • 大量アクセスに耐えられる構成 • アクセス数に応じて構成を調整 • データをロストが発生しない

Attention !! 今回のサーバ構成等は架空のものです 広告配信の経験もありませんw AWSを利用するとどんなことが できるのかのイメージとご理解 いただければと思います この構想には @makotan にご協力 いただきました

構成イメージ

構成 • WebサーバEC2 c1.xlarge

• WorkerEC2 m1.medium

• DynamoDBIOPS = ワーカーの処理可能数 x 台数

• RDSdb.m1.medium

構成のポイント

ポイント① SQSを利用

なぜ? 直接 DynamoDB を更新すれば

DynamoDB 設定したIOPSを超えた瞬間から 急激にパフォーマンスが落ちる → 書込IOPSは値段も高い 大量アクセスの書込に利用は 必ずしも向いているわけではない

だから SQSを利用して負荷を軽減

SQS キューの追加に制限がなく、 データロストがない(冗長構成) 低コストで利用可能 → 急激な負荷に耐えつつ   ある程度パフォーマンス保証 !

※ メッセージは重複します

Worker SQSからデータを取得し、 DynamoDBとRDSを更新 → データ取得量を調整が可能   瞬間ピークにも焦らなくて済む

ポイント② DynamoDBの利用

なぜ? RDSだけでよいのでは

DynamoDB 更新が速いのはメリットだが、 読込パフォーマンスの速さも抜群! → 読込IOPSは比較的安価

だから DynamoDBをデータ読込に活用

例えば • 広告の表示時にどのような内容を表示するかをDynamoDBから取得

• 広告の表示数による表示の可否調整

参照系として利用 • RDSのリードレプリカを並べるより安価→ リードレプリカは起動も遅い

• パフォーマンスの調整も簡単→ IOPSを調整すれば良い

• なにより圧倒的な信頼性→ 分散型で強い整合性を持つ

パフォーマンス

想定性能 !

秒間 2500リクエスト !

※ 似た構成での計測値

構築・運用

Cloudformation → 何度でも再構築が可能 → テンプレートで環境管理 !

※ 似た構成での計測値

まとめ

ただの箱 ﹅ ﹅ ﹅ ﹅

から サービス群の活用へ

設計、構築 開発エンジニア視点でも 担当できるようになる

いままで !

開発したものを 提供する

これから !

運用環境を含め 開発・提供する

Thank you for listening! Lets us make new cloud modeling together!

top related