SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
RIAとスマホとクラウドと

クラスメソッド株式会社
自己紹介
• クラスメソッド株式会社
 – 2004年設立(第8期目)
 – 従業員数:約40人
 – 平均年齢:約32歳


• 横田聡
 – クラスメソッド代表取締役
 – 1977年生34歳・妻子1人
 – 東京出まれ東京育ち
今日は主にAWSの技術話をします。




RIA(リッチなUI)とクラウドは相性が良い
RIA+クラウドが実現すること
   ブラウザ      社内システム
                        業務B          DB
              業務A
                        業務C          DB

   デスクトップ    社外サービス
                         WEB
     File               サービス         DB
               WEB
              サービス       WEB
      DB                サービス         DB


   モバイル      クラウド
                                     業務B

                               業務A    業務C

                                          仮想化



   デバイス      インタークラウド
なぜUIとサーバー側を分けるのか?


ユーザーイン   ・使い勝手に関する要求は増え続ける。
 タフェース   ・増え続けるクライアント端末に対応。
         ・画面サイズに合わせた情報量。


          ライフサイクルの違いをAPIで吸収
API
         ・データ構造やロジックの定義には時間が
 ロジック     掛かるが1回固まれば変化が少ない。
         ・データ構造が固まれば次は応答スピード。
 / データ   ・増加するリクエスト数やデータ量に
          対して安定的に応答する構造が必要。
良いアプリには良いレスポンスが必要です
良いレスポンスのために
• サービスを止めない
 –   EC2(MultiAZ)
 –   ELB
 –   AutoScaling
 –   CloudWatch
 –   自動スナップショット
 –   RDS(MultiAZ)
• ボトルネックを解消する
 – リクエスト数を減らす
 – ディスクアクセスを減らす
 – データベースアクセスを減らす
リクエスト数を減らす(1)
• ファイルをまとめる
 – CSS/JSを1つのファイルにまとめる。
 – CSSによる画像スライスで1ファイルにする。
• 適切な場所に配置
 – HTMLの上部にCSS、下部にJSを配置する。
 – 動的HTML内でCSS/JSを書かない。外に出す。
 – JSライブラリを非同期に読み込む。
• 静的ファイルを全てEBS上に置くと。。。
 – HTML,CSS,JS,画像,映像,大容量ファイル等は、
   S3かCloudFrontに置くことで、EC2へのリクエスト
   回数が減ります。
 – 多くの場合、ELBを併せて使っていると思いますの
   で、ELBへの負荷も減ります。
ELB/EC2を通らない

                                                         Elastic Load
                                                          Balancer




                   Instance                                                                 Instance




                                                                                                              Amazon Elastic
Amazon Elastic                                                                                                Block Storage
Block Storage                                                                                                     (EBS)
    (EBS)

                 Availability Zone                                                        Availability Zone




                                                                        Amazon Simple
                                     Amazon CloudFront                  Storage Service
                                                                             (S3)
                                           Storage Service / Content Delivery
リクエスト数を減らす(2)
• S3に静的ファイルを置くときに気をつける
 – HTML,CSS,JSはgzip圧縮してから置きます。
 – 画像はExpires Cache-Control を長めに設定
• S3とCloudFrontどっちに置く?
 – S3はストレージサービス。長期保存用。
   東京リージョンに置けばそこそこスピードが出るが、
   高速にデータをダウンロードしたければCloudFront
 – アクセス制限を付与したい場合はS3。
   認証付きURLならCloudFront/S3
 – CloudFrontのエッジロケーションが大阪にもできた。
   ネットワーク遅延を解消するため効果が大きい。
 – CloudFrontはS3 Originのヘッダを引き継ぐため、
   キャッシュや圧縮が有効であれば引き継ぐ。
   コスト面でのメリットが非常に大きい!
S3/CloudFrontを賢く使う




東京

     Edge Location



                                         Amazon Simple
                     Amazon CloudFront   Storage Service   Instance
                                              (S3)
                                                                      Amazon Elastic
                                                                      Block Storage
                                                                          (EBS)


     Edge Location




大阪
S3/CloudFrontへの配備
• 手作業はめんどくさい
 – キャッシュ設定
 – Gzip圧縮
 – アップロード
 – 公開設定
 – アクセス制限
• ビルドツールの活用
 – Ant
 – S3cmd
 – S3sync
リクエスト数を減らす(3)
• Webサーバで自動生成されるページのHTMLを
  修正できない場合
 – Apache/nginx等のUrlRewriteを使って304転送
• 全て静的なWebページの場合
 – CloudFrontのカスタム Originを設定する。
   CloudFrontのURLにドメイン名を指定すれば完了。
 – DNSレコード情報の反映スピード大事。
   Route 53はマストツールです。
 – クロスドメイン問題があるので注意が必要。別サー
   バから動的データを取得する方法を考える。JSONP、
   マテリアライズドビュー(検索済み)
HTMLを修正できない場合




 東京                               Instance

                                             Amazon Elastic
                                             Block Storage
                                                 (EBS)




      304転送




                                     Amazon Simple
              Amazon CloudFront      Storage Service
                                          (S3)
ディスクアクセスを減らす(1)
• EC2とEBSはネットワークで繋がれています
 – インスタンスサイズが大きいと割り当てられるネッ
   トワーク帯域が太くなります。
 – ネットワーク帯域をたくさん使ってしまうと応答が
   遅くなります。
 – EBSはディスクですのでIOが大量に発生すると遅く
   なります。
• ログを大量に吐き出していませんでしょうか。
 – サービス系は常に改善のため本番時にもデバッグロ
   グを出し続けていることもしばしば
 – ディスクへの書き込みを減らす
 – ログはログサーバ(Fluentd等)を経由してS3へ
ディスクアクセスを減らす(2)
• ディスクアクセスを高速化したい場合
 – 大きいEC2インスタンスを使う
 – RAID0を組む
   • 2つのEBSボリュームをマウント
   • MdadmでRAID0化
• EBSを使わずにEphemeral Diskを使う
 – EC2インスタンスの再起動でデータは消えるが
   ネットワークを介さないので高速
 – EC2インスタンスを分散処理用に使って、一時
   データを保存しておきたい場合に有効
 – ランダムリード/ライトならEBSが良い。
 – EMRでも使われている。
データベースアクセスを減らす(1)
• とりあえず負荷を減らす方法
 – リードレプリカを用いる
  • 検索と更新を分ける
 – シャーディングを用いる
 – RDSのインスタンスタイプを上げる
  • SmallからLargeとか
• 増え続けるアクセスに対して
  根本的な解決にはならない。
データベースは何を管理するか?
• データベースに何でも入れてしまう傾向
 –   マスタデータ
 –   関係データ
 –   トランザクション
 –   更新履歴
 –   操作ログ
 –   一時データ
 –   セッション
 –   メタデータ
 –   キャッシュ              DBは
 –   ビジネスステータス        ボトルネック
 –   バイナリデータ(画像、音声)
ボトルネックは明らか

                             ユーザからの
                            アクセスに対して




          Instance



                            全ての負荷がDBに
                              掛ってくる




        Amazon Relational
        Database Service
             (RDS)
ボトルネックを解消



                                                                                Amazon Simple
Amazon SimpleDB
                                                                                Storage Service
                                                                                     (S3)




                                       Instance




Amazon DynamoDB
                                                                               Amazon CloudFront




                                                                               Amazon Elastic
    Amazon                                                                     Block Storage
  ElastiCache                                              Amazon Simple           (EBS)
                                                         Queue Service (SQS)
                  Amazon Simple
                  Workflow Service   Amazon Relational
                      (SWF)          Database Service
                                          (RDS)
SPOF(単一障害点)の無いAWSサービス群
• サービスそのものが高可用性
 –   DynamoDB / SimpleDB
 –   S3 / CloudFront
 –   SQS / SES / SWF / SNS
 –   EMR
 –   IAM
 –   CloudWatch
 –   Route 53
 –   ELB / AutoScaling
• MultiAZ指定/多重化で高可用性
 –   RDS
 –   EC2 / VPC
 –   ElastiCache
 –   DirectConnect
データベースアクセスを減らす(2)
• データベースへの問い合わせ回数を減らす
 – キャッシュ機構を使う
  • ElastiCache
 – データベース(RDBMS)を使わない
  • DynamoDB
 – 複雑な問合せが必要な場合にはやっぱり
  • RDS
 – 操作ログや履歴は後で加工する
  • S3
 – カラムが動的なメタデータ
  • SimpleDB
ElastiCacheを使う

                                                             Elastic Load
                                                              Balancer




                         Instance                                                                   Instance




                                         Amazon Relational
 ElastiCache        ElastiCache                                             ElastiCache        ElastiCache
                                         Database Service
 Cache Node         Cache Node                                              Cache Node         Cache Node
                                              (RDS)
               Cluster                                                                    Cluster


                     Availability Zone                                                          Availability Zone
DynamoDB/SimpleDB を使う

                                            Elastic Load
                                             Balancer




      Instance                                                                 Instance




                        Amazon Relational
                        Database Service
    Availability Zone        (RDS)                                           Availability Zone




                        Amazon DynamoDB                    Amazon SimpleDB

                                   Database Service
DynamoDBの特徴
•   IOPS指定
•   APIアクセス
•   一貫性指定、Atomic カウンタ
•   高可用性・耐障害性
    – 同期レプリケーション
• 条件付きアップデート

• 専門家いらず
• メンテナンスいらず
• チューニングいらず
こんな症状に良く効きます
• チケット予約・座席予約
 – 同時に複数のユーザが参照して更新
• 数量限定の商品販売
 – カウンターが減っていく/増えていく
• ソーシャルゲームのステータス(HP/MP)
 – 頻繁に値が変更される協力プレイ
• HTTPセッション管理
 – 消えたら困る一時データ
適材適所にデータを保存
• データベースへの負荷を減らす
 –   マスタデータ ⇒ RDS
 –   関係データ ⇒ RDS
 –   トランザクション ⇒ RDS/DynamoDB
 –   更新履歴 ⇒ RDS/S3
 –   操作ログ ⇒ S3
 –   一時データ ⇒ DynamoDB
 –   セッション ⇒ DynamoDB
 –   メタデータ ⇒ SimpleDB
 –   キャッシュ ⇒ ElastiCache
 –   ビジネスステータス ⇒ SQS/SWF
 –   バイナリデータ(画像、音声) ⇒ CloudFront
まとめ




  RIAとスマホの話が無い(汗)
まとめ
• データサイズを小さくする
• 通信回数を少なくする
• 読み込むタイミングを計る
• できるだけキャッシュする
• S3/CloudFrontでコンテンツ配信する
• ELB/EC2へのアクセス数を減らす
• ディスクへのアクセス数を減らす
• データベースへのアクセス数を減らす
• SPOFの無いAWSサービス群を活用

Más contenido relacionado

La actualidad más candente

RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-
RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-
RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-SORACOM, INC
 
20120123 aws meister-reloaded-ec2&ebs-public
20120123 aws meister-reloaded-ec2&ebs-public20120123 aws meister-reloaded-ec2&ebs-public
20120123 aws meister-reloaded-ec2&ebs-publicAmazon Web Services Japan
 
クラウドのためのアーキテクチャ設計 - ベストプラクティス -
クラウドのためのアーキテクチャ設計 - ベストプラクティス - クラウドのためのアーキテクチャ設計 - ベストプラクティス -
クラウドのためのアーキテクチャ設計 - ベストプラクティス - SORACOM, INC
 
AWSアップデート 2月14日JAWS札幌
AWSアップデート 2月14日JAWS札幌AWSアップデート 2月14日JAWS札幌
AWSアップデート 2月14日JAWS札幌SORACOM, INC
 
ICT復興支援クラウドフォーラム Amazon Web Services - 震災発生時の対応、今後の展開について -
ICT復興支援クラウドフォーラム Amazon Web Services - 震災発生時の対応、今後の展開について -  ICT復興支援クラウドフォーラム Amazon Web Services - 震災発生時の対応、今後の展開について -
ICT復興支援クラウドフォーラム Amazon Web Services - 震災発生時の対応、今後の展開について - SORACOM, INC
 
JAWS-UG北陸第5回勉強会 クラウド破産しないためのEBS入門
JAWS-UG北陸第5回勉強会 クラウド破産しないためのEBS入門JAWS-UG北陸第5回勉強会 クラウド破産しないためのEBS入門
JAWS-UG北陸第5回勉強会 クラウド破産しないためのEBS入門Kazuki Ueki
 
はじめてのAWS - ビギナー編 -
はじめてのAWS - ビギナー編 - はじめてのAWS - ビギナー編 -
はじめてのAWS - ビギナー編 - SORACOM, INC
 
Amazon Web Servicesのご紹介 - 東北クラウド実践カンファレンス2011
Amazon Web Servicesのご紹介 - 東北クラウド実践カンファレンス2011Amazon Web Servicesのご紹介 - 東北クラウド実践カンファレンス2011
Amazon Web Servicesのご紹介 - 東北クラウド実践カンファレンス2011SORACOM, INC
 
第5回 JAWS-UG 札幌 VPC新機能でECサイト
第5回 JAWS-UG 札幌 VPC新機能でECサイト第5回 JAWS-UG 札幌 VPC新機能でECサイト
第5回 JAWS-UG 札幌 VPC新機能でECサイトHiroshi Koyama
 
Amazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack についてAmazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack についてHiroyasu Suzuki
 
はじめてのAmazon Web Services
はじめてのAmazon Web ServicesはじめてのAmazon Web Services
はじめてのAmazon Web ServicesSORACOM, INC
 
AWSを用いた耐障害性の高いアプリケーションの設計
AWSを用いた耐障害性の高いアプリケーションの設計AWSを用いた耐障害性の高いアプリケーションの設計
AWSを用いた耐障害性の高いアプリケーションの設計SORACOM, INC
 
Amazon RDS (Relational Database Service) の概要説明
Amazon RDS (Relational Database Service) の概要説明Amazon RDS (Relational Database Service) の概要説明
Amazon RDS (Relational Database Service) の概要説明SORACOM, INC
 
「はじめてのAmazon Web Services」 JAWS-UG 長崎第1回勉強会
「はじめてのAmazon Web Services」 JAWS-UG 長崎第1回勉強会「はじめてのAmazon Web Services」 JAWS-UG 長崎第1回勉強会
「はじめてのAmazon Web Services」 JAWS-UG 長崎第1回勉強会Yasuhiro Horiuchi
 
MongoDB on AWSクラウドという選択
MongoDB on AWSクラウドという選択MongoDB on AWSクラウドという選択
MongoDB on AWSクラウドという選択Yasuhiro Matsuo
 
[AWSマイスターシリーズ]Amazon Relational Database Service (RDS)
[AWSマイスターシリーズ]Amazon Relational Database Service (RDS)[AWSマイスターシリーズ]Amazon Relational Database Service (RDS)
[AWSマイスターシリーズ]Amazon Relational Database Service (RDS)Amazon Web Services Japan
 

La actualidad más candente (18)

RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-
RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-
RDS詳細 -ほぼ週刊AWSマイスターシリーズ第8回-
 
20120123 aws meister-reloaded-ec2&ebs-public
20120123 aws meister-reloaded-ec2&ebs-public20120123 aws meister-reloaded-ec2&ebs-public
20120123 aws meister-reloaded-ec2&ebs-public
 
クラウドのためのアーキテクチャ設計 - ベストプラクティス -
クラウドのためのアーキテクチャ設計 - ベストプラクティス - クラウドのためのアーキテクチャ設計 - ベストプラクティス -
クラウドのためのアーキテクチャ設計 - ベストプラクティス -
 
AWSアップデート 2月14日JAWS札幌
AWSアップデート 2月14日JAWS札幌AWSアップデート 2月14日JAWS札幌
AWSアップデート 2月14日JAWS札幌
 
ICT復興支援クラウドフォーラム Amazon Web Services - 震災発生時の対応、今後の展開について -
ICT復興支援クラウドフォーラム Amazon Web Services - 震災発生時の対応、今後の展開について -  ICT復興支援クラウドフォーラム Amazon Web Services - 震災発生時の対応、今後の展開について -
ICT復興支援クラウドフォーラム Amazon Web Services - 震災発生時の対応、今後の展開について -
 
AWS Essentials
AWS EssentialsAWS Essentials
AWS Essentials
 
20120303 jaws summit-meister-01_ec2-ebs
20120303 jaws summit-meister-01_ec2-ebs20120303 jaws summit-meister-01_ec2-ebs
20120303 jaws summit-meister-01_ec2-ebs
 
JAWS-UG北陸第5回勉強会 クラウド破産しないためのEBS入門
JAWS-UG北陸第5回勉強会 クラウド破産しないためのEBS入門JAWS-UG北陸第5回勉強会 クラウド破産しないためのEBS入門
JAWS-UG北陸第5回勉強会 クラウド破産しないためのEBS入門
 
はじめてのAWS - ビギナー編 -
はじめてのAWS - ビギナー編 - はじめてのAWS - ビギナー編 -
はじめてのAWS - ビギナー編 -
 
Amazon Web Servicesのご紹介 - 東北クラウド実践カンファレンス2011
Amazon Web Servicesのご紹介 - 東北クラウド実践カンファレンス2011Amazon Web Servicesのご紹介 - 東北クラウド実践カンファレンス2011
Amazon Web Servicesのご紹介 - 東北クラウド実践カンファレンス2011
 
第5回 JAWS-UG 札幌 VPC新機能でECサイト
第5回 JAWS-UG 札幌 VPC新機能でECサイト第5回 JAWS-UG 札幌 VPC新機能でECサイト
第5回 JAWS-UG 札幌 VPC新機能でECサイト
 
Amazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack についてAmazon Web Services(AWS)とcloudpack について
Amazon Web Services(AWS)とcloudpack について
 
はじめてのAmazon Web Services
はじめてのAmazon Web ServicesはじめてのAmazon Web Services
はじめてのAmazon Web Services
 
AWSを用いた耐障害性の高いアプリケーションの設計
AWSを用いた耐障害性の高いアプリケーションの設計AWSを用いた耐障害性の高いアプリケーションの設計
AWSを用いた耐障害性の高いアプリケーションの設計
 
Amazon RDS (Relational Database Service) の概要説明
Amazon RDS (Relational Database Service) の概要説明Amazon RDS (Relational Database Service) の概要説明
Amazon RDS (Relational Database Service) の概要説明
 
「はじめてのAmazon Web Services」 JAWS-UG 長崎第1回勉強会
「はじめてのAmazon Web Services」 JAWS-UG 長崎第1回勉強会「はじめてのAmazon Web Services」 JAWS-UG 長崎第1回勉強会
「はじめてのAmazon Web Services」 JAWS-UG 長崎第1回勉強会
 
MongoDB on AWSクラウドという選択
MongoDB on AWSクラウドという選択MongoDB on AWSクラウドという選択
MongoDB on AWSクラウドという選択
 
[AWSマイスターシリーズ]Amazon Relational Database Service (RDS)
[AWSマイスターシリーズ]Amazon Relational Database Service (RDS)[AWSマイスターシリーズ]Amazon Relational Database Service (RDS)
[AWSマイスターシリーズ]Amazon Relational Database Service (RDS)
 

Similar a JAWS Summit Satoshi Yokota

2011年12月 八子クラウド「縦と横のクラウドインテグレーション」
2011年12月 八子クラウド「縦と横のクラウドインテグレーション」2011年12月 八子クラウド「縦と横のクラウドインテグレーション」
2011年12月 八子クラウド「縦と横のクラウドインテグレーション」Serverworks Co.,Ltd.
 
AWSクラウドでのCDN活用-動画配信編-
AWSクラウドでのCDN活用-動画配信編-AWSクラウドでのCDN活用-動画配信編-
AWSクラウドでのCDN活用-動画配信編-Amazon Web Services Japan
 
AWSクラウド利用料算出の参考資料
AWSクラウド利用料算出の参考資料AWSクラウド利用料算出の参考資料
AWSクラウド利用料算出の参考資料SORACOM, INC
 
クラウドを使ってみよう - クラウド女子会2011年4月30日
クラウドを使ってみよう - クラウド女子会2011年4月30日クラウドを使ってみよう - クラウド女子会2011年4月30日
クラウドを使ってみよう - クラウド女子会2011年4月30日SORACOM, INC
 
突発イベントにおけるEC2の極力排除ならびにサービス徹底活用
突発イベントにおけるEC2の極力排除ならびにサービス徹底活用突発イベントにおけるEC2の極力排除ならびにサービス徹底活用
突発イベントにおけるEC2の極力排除ならびにサービス徹底活用Yasuhiro Araki, Ph.D
 
華麗なるElastic Beanstalkでの環境構築
華麗なるElastic Beanstalkでの環境構築華麗なるElastic Beanstalkでの環境構築
華麗なるElastic Beanstalkでの環境構築Takehito Tanabe
 
Awsではじめるgluster fs 20120726-public
Awsではじめるgluster fs 20120726-publicAwsではじめるgluster fs 20120726-public
Awsではじめるgluster fs 20120726-publicAkio Katayama
 
AWSを用いたWebホスティング
AWSを用いたWebホスティングAWSを用いたWebホスティング
AWSを用いたWebホスティングSORACOM, INC
 
これでAWSマスター!? 初心者向けAWS簡単講座
これでAWSマスター!? 初心者向けAWS簡単講座これでAWSマスター!? 初心者向けAWS簡単講座
これでAWSマスター!? 初心者向けAWS簡単講座Serverworks Co.,Ltd.
 
JAWS-UG鹿児島 初心者向け簡単講座
JAWS-UG鹿児島 初心者向け簡単講座JAWS-UG鹿児島 初心者向け簡単講座
JAWS-UG鹿児島 初心者向け簡単講座Serverworks Co.,Ltd.
 
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャNoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャYasuhiro Matsuo
 
Amazon DynamoDBの概要説明
Amazon DynamoDBの概要説明Amazon DynamoDBの概要説明
Amazon DynamoDBの概要説明SORACOM, INC
 
cloudpack導入資料(2010/12/24版)
cloudpack導入資料(2010/12/24版)cloudpack導入資料(2010/12/24版)
cloudpack導入資料(2010/12/24版)iret, Inc.
 
AWS Update 第6回 JAWS-UG Sapporo
AWS Update 第6回 JAWS-UG SapporoAWS Update 第6回 JAWS-UG Sapporo
AWS Update 第6回 JAWS-UG SapporoYasuhiro Horiuchi
 
20120516 jawsug sapporo_updates
20120516 jawsug sapporo_updates20120516 jawsug sapporo_updates
20120516 jawsug sapporo_updatesYasuhiro Horiuchi
 
[AWSマイスターシリーズ] Amazon Elastic Compute Cloud (EC2)
 [AWSマイスターシリーズ] Amazon Elastic Compute Cloud (EC2) [AWSマイスターシリーズ] Amazon Elastic Compute Cloud (EC2)
[AWSマイスターシリーズ] Amazon Elastic Compute Cloud (EC2)Amazon Web Services Japan
 
アマゾンクラウド実践講座 in 福岡/山口クラウドセミナー 20101208
アマゾンクラウド実践講座 in 福岡/山口クラウドセミナー 20101208アマゾンクラウド実践講座 in 福岡/山口クラウドセミナー 20101208
アマゾンクラウド実践講座 in 福岡/山口クラウドセミナー 20101208SORACOM, INC
 

Similar a JAWS Summit Satoshi Yokota (20)

2011年12月 八子クラウド「縦と横のクラウドインテグレーション」
2011年12月 八子クラウド「縦と横のクラウドインテグレーション」2011年12月 八子クラウド「縦と横のクラウドインテグレーション」
2011年12月 八子クラウド「縦と横のクラウドインテグレーション」
 
AWSクラウドでのCDN活用-動画配信編-
AWSクラウドでのCDN活用-動画配信編-AWSクラウドでのCDN活用-動画配信編-
AWSクラウドでのCDN活用-動画配信編-
 
AWSクラウド利用料算出の参考資料
AWSクラウド利用料算出の参考資料AWSクラウド利用料算出の参考資料
AWSクラウド利用料算出の参考資料
 
クラウドを使ってみよう - クラウド女子会2011年4月30日
クラウドを使ってみよう - クラウド女子会2011年4月30日クラウドを使ってみよう - クラウド女子会2011年4月30日
クラウドを使ってみよう - クラウド女子会2011年4月30日
 
突発イベントにおけるEC2の極力排除ならびにサービス徹底活用
突発イベントにおけるEC2の極力排除ならびにサービス徹底活用突発イベントにおけるEC2の極力排除ならびにサービス徹底活用
突発イベントにおけるEC2の極力排除ならびにサービス徹底活用
 
華麗なるElastic Beanstalkでの環境構築
華麗なるElastic Beanstalkでの環境構築華麗なるElastic Beanstalkでの環境構築
華麗なるElastic Beanstalkでの環境構築
 
Awsではじめるgluster fs 20120726-public
Awsではじめるgluster fs 20120726-publicAwsではじめるgluster fs 20120726-public
Awsではじめるgluster fs 20120726-public
 
AWSを用いたWebホスティング
AWSを用いたWebホスティングAWSを用いたWebホスティング
AWSを用いたWebホスティング
 
これでAWSマスター!? 初心者向けAWS簡単講座
これでAWSマスター!? 初心者向けAWS簡単講座これでAWSマスター!? 初心者向けAWS簡単講座
これでAWSマスター!? 初心者向けAWS簡単講座
 
JAWS-UG鹿児島 初心者向け簡単講座
JAWS-UG鹿児島 初心者向け簡単講座JAWS-UG鹿児島 初心者向け簡単講座
JAWS-UG鹿児島 初心者向け簡単講座
 
20120303 jaws summit-meister-03_s3
20120303 jaws summit-meister-03_s320120303 jaws summit-meister-03_s3
20120303 jaws summit-meister-03_s3
 
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャNoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
NoSQL on AWSで作る最新ソーシャルゲームアーキテクチャ
 
Amazon DynamoDBの概要説明
Amazon DynamoDBの概要説明Amazon DynamoDBの概要説明
Amazon DynamoDBの概要説明
 
Aws ken final-publish
Aws ken final-publishAws ken final-publish
Aws ken final-publish
 
cloudpack導入資料(2010/12/24版)
cloudpack導入資料(2010/12/24版)cloudpack導入資料(2010/12/24版)
cloudpack導入資料(2010/12/24版)
 
AWS Update 第6回 JAWS-UG Sapporo
AWS Update 第6回 JAWS-UG SapporoAWS Update 第6回 JAWS-UG Sapporo
AWS Update 第6回 JAWS-UG Sapporo
 
20120516 jawsug sapporo_updates
20120516 jawsug sapporo_updates20120516 jawsug sapporo_updates
20120516 jawsug sapporo_updates
 
[AWSマイスターシリーズ] Amazon VPC
[AWSマイスターシリーズ] Amazon VPC[AWSマイスターシリーズ] Amazon VPC
[AWSマイスターシリーズ] Amazon VPC
 
[AWSマイスターシリーズ] Amazon Elastic Compute Cloud (EC2)
 [AWSマイスターシリーズ] Amazon Elastic Compute Cloud (EC2) [AWSマイスターシリーズ] Amazon Elastic Compute Cloud (EC2)
[AWSマイスターシリーズ] Amazon Elastic Compute Cloud (EC2)
 
アマゾンクラウド実践講座 in 福岡/山口クラウドセミナー 20101208
アマゾンクラウド実践講座 in 福岡/山口クラウドセミナー 20101208アマゾンクラウド実践講座 in 福岡/山口クラウドセミナー 20101208
アマゾンクラウド実践講座 in 福岡/山口クラウドセミナー 20101208
 

Más de satoshi

Developers.IO MeetUp 01 Massive Messaging Platform Deployment in a Week.
Developers.IO MeetUp 01 Massive Messaging Platform Deployment in a Week.Developers.IO MeetUp 01 Massive Messaging Platform Deployment in a Week.
Developers.IO MeetUp 01 Massive Messaging Platform Deployment in a Week.satoshi
 
SAP Startup Forum Tokyo 2013 / SAP HANA One ビックデータに会いたくて
SAP Startup Forum Tokyo 2013 / SAP HANA One ビックデータに会いたくてSAP Startup Forum Tokyo 2013 / SAP HANA One ビックデータに会いたくて
SAP Startup Forum Tokyo 2013 / SAP HANA One ビックデータに会いたくてsatoshi
 
SAP HANA One on AWS
SAP HANA One on AWSSAP HANA One on AWS
SAP HANA One on AWSsatoshi
 
SAP HANA on AWS
SAP HANA on AWSSAP HANA on AWS
SAP HANA on AWSsatoshi
 
Devlove1210
Devlove1210Devlove1210
Devlove1210satoshi
 
Awsビギナー向け資料 ec2 20111124
Awsビギナー向け資料 ec2 20111124Awsビギナー向け資料 ec2 20111124
Awsビギナー向け資料 ec2 20111124satoshi
 

Más de satoshi (7)

Developers.IO MeetUp 01 Massive Messaging Platform Deployment in a Week.
Developers.IO MeetUp 01 Massive Messaging Platform Deployment in a Week.Developers.IO MeetUp 01 Massive Messaging Platform Deployment in a Week.
Developers.IO MeetUp 01 Massive Messaging Platform Deployment in a Week.
 
SAP Startup Forum Tokyo 2013 / SAP HANA One ビックデータに会いたくて
SAP Startup Forum Tokyo 2013 / SAP HANA One ビックデータに会いたくてSAP Startup Forum Tokyo 2013 / SAP HANA One ビックデータに会いたくて
SAP Startup Forum Tokyo 2013 / SAP HANA One ビックデータに会いたくて
 
SAP HANA One on AWS
SAP HANA One on AWSSAP HANA One on AWS
SAP HANA One on AWS
 
SAP HANA on AWS
SAP HANA on AWSSAP HANA on AWS
SAP HANA on AWS
 
Devlove1210
Devlove1210Devlove1210
Devlove1210
 
Awsビギナー向け資料 ec2 20111124
Awsビギナー向け資料 ec2 20111124Awsビギナー向け資料 ec2 20111124
Awsビギナー向け資料 ec2 20111124
 
Fxug
FxugFxug
Fxug
 

Último

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Último (8)

AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

JAWS Summit Satoshi Yokota

  • 2. 自己紹介 • クラスメソッド株式会社 – 2004年設立(第8期目) – 従業員数:約40人 – 平均年齢:約32歳 • 横田聡 – クラスメソッド代表取締役 – 1977年生34歳・妻子1人 – 東京出まれ東京育ち
  • 4. RIA+クラウドが実現すること ブラウザ 社内システム 業務B DB 業務A 業務C DB デスクトップ 社外サービス WEB File サービス DB WEB サービス WEB DB サービス DB モバイル クラウド 業務B 業務A 業務C 仮想化 デバイス インタークラウド
  • 5. なぜUIとサーバー側を分けるのか? ユーザーイン ・使い勝手に関する要求は増え続ける。 タフェース ・増え続けるクライアント端末に対応。 ・画面サイズに合わせた情報量。 ライフサイクルの違いをAPIで吸収 API ・データ構造やロジックの定義には時間が ロジック 掛かるが1回固まれば変化が少ない。 ・データ構造が固まれば次は応答スピード。 / データ ・増加するリクエスト数やデータ量に 対して安定的に応答する構造が必要。
  • 7. 良いレスポンスのために • サービスを止めない – EC2(MultiAZ) – ELB – AutoScaling – CloudWatch – 自動スナップショット – RDS(MultiAZ) • ボトルネックを解消する – リクエスト数を減らす – ディスクアクセスを減らす – データベースアクセスを減らす
  • 8. リクエスト数を減らす(1) • ファイルをまとめる – CSS/JSを1つのファイルにまとめる。 – CSSによる画像スライスで1ファイルにする。 • 適切な場所に配置 – HTMLの上部にCSS、下部にJSを配置する。 – 動的HTML内でCSS/JSを書かない。外に出す。 – JSライブラリを非同期に読み込む。 • 静的ファイルを全てEBS上に置くと。。。 – HTML,CSS,JS,画像,映像,大容量ファイル等は、 S3かCloudFrontに置くことで、EC2へのリクエスト 回数が減ります。 – 多くの場合、ELBを併せて使っていると思いますの で、ELBへの負荷も減ります。
  • 9. ELB/EC2を通らない Elastic Load Balancer Instance Instance Amazon Elastic Amazon Elastic Block Storage Block Storage (EBS) (EBS) Availability Zone Availability Zone Amazon Simple Amazon CloudFront Storage Service (S3) Storage Service / Content Delivery
  • 10. リクエスト数を減らす(2) • S3に静的ファイルを置くときに気をつける – HTML,CSS,JSはgzip圧縮してから置きます。 – 画像はExpires Cache-Control を長めに設定 • S3とCloudFrontどっちに置く? – S3はストレージサービス。長期保存用。 東京リージョンに置けばそこそこスピードが出るが、 高速にデータをダウンロードしたければCloudFront – アクセス制限を付与したい場合はS3。 認証付きURLならCloudFront/S3 – CloudFrontのエッジロケーションが大阪にもできた。 ネットワーク遅延を解消するため効果が大きい。 – CloudFrontはS3 Originのヘッダを引き継ぐため、 キャッシュや圧縮が有効であれば引き継ぐ。 コスト面でのメリットが非常に大きい!
  • 11. S3/CloudFrontを賢く使う 東京 Edge Location Amazon Simple Amazon CloudFront Storage Service Instance (S3) Amazon Elastic Block Storage (EBS) Edge Location 大阪
  • 12. S3/CloudFrontへの配備 • 手作業はめんどくさい – キャッシュ設定 – Gzip圧縮 – アップロード – 公開設定 – アクセス制限 • ビルドツールの活用 – Ant – S3cmd – S3sync
  • 13. リクエスト数を減らす(3) • Webサーバで自動生成されるページのHTMLを 修正できない場合 – Apache/nginx等のUrlRewriteを使って304転送 • 全て静的なWebページの場合 – CloudFrontのカスタム Originを設定する。 CloudFrontのURLにドメイン名を指定すれば完了。 – DNSレコード情報の反映スピード大事。 Route 53はマストツールです。 – クロスドメイン問題があるので注意が必要。別サー バから動的データを取得する方法を考える。JSONP、 マテリアライズドビュー(検索済み)
  • 14. HTMLを修正できない場合 東京 Instance Amazon Elastic Block Storage (EBS) 304転送 Amazon Simple Amazon CloudFront Storage Service (S3)
  • 15. ディスクアクセスを減らす(1) • EC2とEBSはネットワークで繋がれています – インスタンスサイズが大きいと割り当てられるネッ トワーク帯域が太くなります。 – ネットワーク帯域をたくさん使ってしまうと応答が 遅くなります。 – EBSはディスクですのでIOが大量に発生すると遅く なります。 • ログを大量に吐き出していませんでしょうか。 – サービス系は常に改善のため本番時にもデバッグロ グを出し続けていることもしばしば – ディスクへの書き込みを減らす – ログはログサーバ(Fluentd等)を経由してS3へ
  • 16. ディスクアクセスを減らす(2) • ディスクアクセスを高速化したい場合 – 大きいEC2インスタンスを使う – RAID0を組む • 2つのEBSボリュームをマウント • MdadmでRAID0化 • EBSを使わずにEphemeral Diskを使う – EC2インスタンスの再起動でデータは消えるが ネットワークを介さないので高速 – EC2インスタンスを分散処理用に使って、一時 データを保存しておきたい場合に有効 – ランダムリード/ライトならEBSが良い。 – EMRでも使われている。
  • 17. データベースアクセスを減らす(1) • とりあえず負荷を減らす方法 – リードレプリカを用いる • 検索と更新を分ける – シャーディングを用いる – RDSのインスタンスタイプを上げる • SmallからLargeとか • 増え続けるアクセスに対して 根本的な解決にはならない。
  • 18. データベースは何を管理するか? • データベースに何でも入れてしまう傾向 – マスタデータ – 関係データ – トランザクション – 更新履歴 – 操作ログ – 一時データ – セッション – メタデータ – キャッシュ DBは – ビジネスステータス ボトルネック – バイナリデータ(画像、音声)
  • 19. ボトルネックは明らか ユーザからの アクセスに対して Instance 全ての負荷がDBに 掛ってくる Amazon Relational Database Service (RDS)
  • 20. ボトルネックを解消 Amazon Simple Amazon SimpleDB Storage Service (S3) Instance Amazon DynamoDB Amazon CloudFront Amazon Elastic Amazon Block Storage ElastiCache Amazon Simple (EBS) Queue Service (SQS) Amazon Simple Workflow Service Amazon Relational (SWF) Database Service (RDS)
  • 21. SPOF(単一障害点)の無いAWSサービス群 • サービスそのものが高可用性 – DynamoDB / SimpleDB – S3 / CloudFront – SQS / SES / SWF / SNS – EMR – IAM – CloudWatch – Route 53 – ELB / AutoScaling • MultiAZ指定/多重化で高可用性 – RDS – EC2 / VPC – ElastiCache – DirectConnect
  • 22. データベースアクセスを減らす(2) • データベースへの問い合わせ回数を減らす – キャッシュ機構を使う • ElastiCache – データベース(RDBMS)を使わない • DynamoDB – 複雑な問合せが必要な場合にはやっぱり • RDS – 操作ログや履歴は後で加工する • S3 – カラムが動的なメタデータ • SimpleDB
  • 23. ElastiCacheを使う Elastic Load Balancer Instance Instance Amazon Relational ElastiCache ElastiCache ElastiCache ElastiCache Database Service Cache Node Cache Node Cache Node Cache Node (RDS) Cluster Cluster Availability Zone Availability Zone
  • 24. DynamoDB/SimpleDB を使う Elastic Load Balancer Instance Instance Amazon Relational Database Service Availability Zone (RDS) Availability Zone Amazon DynamoDB Amazon SimpleDB Database Service
  • 25. DynamoDBの特徴 • IOPS指定 • APIアクセス • 一貫性指定、Atomic カウンタ • 高可用性・耐障害性 – 同期レプリケーション • 条件付きアップデート • 専門家いらず • メンテナンスいらず • チューニングいらず
  • 26. こんな症状に良く効きます • チケット予約・座席予約 – 同時に複数のユーザが参照して更新 • 数量限定の商品販売 – カウンターが減っていく/増えていく • ソーシャルゲームのステータス(HP/MP) – 頻繁に値が変更される協力プレイ • HTTPセッション管理 – 消えたら困る一時データ
  • 27. 適材適所にデータを保存 • データベースへの負荷を減らす – マスタデータ ⇒ RDS – 関係データ ⇒ RDS – トランザクション ⇒ RDS/DynamoDB – 更新履歴 ⇒ RDS/S3 – 操作ログ ⇒ S3 – 一時データ ⇒ DynamoDB – セッション ⇒ DynamoDB – メタデータ ⇒ SimpleDB – キャッシュ ⇒ ElastiCache – ビジネスステータス ⇒ SQS/SWF – バイナリデータ(画像、音声) ⇒ CloudFront
  • 29. まとめ • データサイズを小さくする • 通信回数を少なくする • 読み込むタイミングを計る • できるだけキャッシュする • S3/CloudFrontでコンテンツ配信する • ELB/EC2へのアクセス数を減らす • ディスクへのアクセス数を減らす • データベースへのアクセス数を減らす • SPOFの無いAWSサービス群を活用