SlideShare a Scribd company logo
AWS のクラウドデザインパターンを
 Windows Azure に持ってきてみた


Japan Windows Azure User Group
Microsoft MVP for Windows Azure

                         冨田 順
    http://twitter.com/harutama
自己紹介




   @harutama   2
質問はこちらで


http://social.msdn.microsoft.com
/Forums/ja-jp
/windowsazureja/threads




                                   3
さて!
      4
5
http://aws.clouddesignpattern.org   6
7
本セッションのゴール
• AWSクラウドデザインパターンの実装を
  現状のWindows Azureで考えることにより
  Windows Azureでできる事を理解する。




                              8
http://itpro.nikkeibp.co.jp/article/Watcher/20120621/404401/
                                                               9
Windows Azure に無いもの

                              Direct
CloudWatch   Auto Scaling                 Elastic IP    Route 53
                             Connect




  Simple     Identity and    Elastic       Simple        Simple
 Workflow       Access      Network      Notification     Email
  Service    Management     Interface     Service        Service




              Import/       Mechanical    Security      Availability
               Export         Turk         Group          Zone         10
Windows Azure 版も欲しい




                      11
よくある話…
         12
メールを送る手段




  http://sendgrid.com/azure.html   13
電話したりSMS送ったり




  http://www.twilio.com/azure   14
MySQL使いたいんですが?




  https://www.cleardb.com/store/azure   15
もっと楽に管理したいです




 http://www.rightscale.com/lp/azure.php   16
その他、あるあるに関しては…
Windows Azure デベロッパー サポート チーム ブログ




    http://blogs.msdn.com/b/dsazurejp/   17
Snapshot
             Stamp
           Scale Up
     Ondemand Disk

基本


                      18
新機能!




       にまつわるパターンです。
                      19
Snapshotパターン
         クラウド上で仮想サーバーの
        データ(OS含む)やその他の
        データをインターネットスト
        レージに複製するのは簡単で、
        スナップショットを定期的に実
        施する負担は小さい。

         クラウドでのスナップショッ
        トは管理画面でワンクリックす
        るだけで取得できるほか、API
        を使用して取得することもでき
        る。つまりプログラムを使用し
        て自動化できるということだ。

                      20
スナップショットの作成




      インスタンスが停止していないと
      スナップショットは作成できない




                    21
スナップショットの名前




              22
Stampパターン
        一度OSやミドルウエア、ア
       プリケーションの設定を行って
       しまえば、それらをコピーして
       おき、あたかも「Stamp(ス
       タンプ)」を押すかのように仮
       想サーバーを複製することで、
       環境設定済みの仮想サーバーを
       大量に用意できる。

        クラウドではサーバーやディ
       スクなどのリソースを論理的に
       扱えるため、こういった作業を
       容易に行うことができる。

                     23
スナップショットを作る時




               24
Sysprep の役割
• 複数のディスクイメージが作成された際に、
  矛盾が起こらないようにするコマンド。
 – コンピュータ名
 – 一意なSID(セキュリティID)
 – ドライバキャッシュ
• インスタンスの元になるイメージは、必ず
  Sysprep を実行しないと競合が起こる。
 – http://technet.microsoft.com/ja-jp
   /library/dd744263(v=WS.10).aspx

                                        25
イメージの登録




          26
登録するイメージの指定




              27
Scale Upパターン
         仮想サーバーのスペック
        (CPU、メモリーサイズな
        ど)を必要に応じて切り替える
        ことが可能である。
         稼働後にリソース不足に陥っ
        た場合、従来は物理サーバーを
        交換してOSを再インストール
        することが必要だったが、クラ
        ウドでは必要ない。
         ひとまず仮想サーバーを起動
        してシステムを稼働し、リソー
        ス利用量を確認しながらサー
        バースペックを変更する。
                     28
ポータル上でのサイズ変更




   インスタンスサイズを変更した場合
    インスタンスの再起動が必要     29
Ondemand Diskパターン
         クラウドでは仮想ディスクを
        利用できる。
         仮想ディスクは、いつでも好
        きなタイミングで必要なだけの
        容量を確保可能である。
         仮想ディスクを利用すれば、
        前もって精緻に見積もらなくて
        もよい。システムを稼働させた
        後に利用量を見ながら必要な容
        量のディスクをオンデマンド
        (OnDemand)に確保すれば
        よい。

                       30
ポータル上での操作




            31
新しいディスクのアタッチ




               32
仮想マシンで見た状態




             33
DB Replication
               Read Replica
         Inmemory DB Cache
             Sharding Write

リレーショナルデータベース


                              34
RDBを利用する際の候補




  RDS   SQL Database
データベースサービス比較
             SQL Database         RDS
インスタンス構成   専用の構成            EC2ベースの仮想マシン
パッチの適用     自動               自動 or 手動
レプリケーション   標準で3重化           ユーザーが構成
                            スケジュール指定の自動
バックアップ     手動バックアップ
                            手動バックアップ
           Federation       DBMSの機能や
シャーディング
           により提供            周辺ソフトで対応
           基本的に変更不可能        パラメータグループで
パラメータの変更
           自動チューニング         ある程度変更可能
容量の制限      150GBytes        実質 無制限



                                           36
Replicationパターン

          地理的ロケーションをまたい
         だレプリケーションを行うパ
         ターン。
          このパターンによりデータロ
         ストを防ぎ、データアクセスの
         可用性を担保する。クラウド以
         前からもあったパターンである
         が、クラウドを用いることで安
         価に複数の地理的ロケーション
         を利用できるようになり、現実
         的な選択肢となった。


                      37
Read Replicaパターン
          読み込みを複数の「リードレ
         プリカ(読み込み用のレプリ
         カ)」に分散させることで、全
         体のパフォーマンスを向上して
         いる。
          リードレプリカは、マスター
         に対する書き込みに追随する形
         で、自分自身のデータを反映さ
         せる。
          読み込みは主にリードレプリ
         カを利用することで、マスター
         の負荷も減らすことになる。

                      38
SQL Databaseでの
  レプリケーション
• プライマリと2台のセカンダリによって、
  保持しているデータは複製されている。
 – いずれかのマシンが停止した場合、自動的に
   昇格され、新たなレプリカを作成し、常に3台の
   マシンでデータが
   分散される。
 – ユーザーは何も
   する必要はない。
 – ただしAZの概念は
   無い。
                            39
SQL Data Sync




http://blogs.msdn.com/b/toiwade/archive/2012/06/06/
          sql-azure-data-sync-episode-80.aspx         40
Sharding Writeパターン
          複数のデータベースサーバー
         で書き込みパフォーマンスを上
         げる方法に「シャーディング」
         がある。
          基本的には、同じ構造のデー
         タベースを用意して適切なテー
         ブルのカラムをキーにして分割
         し、書き込み処理を分散する。
          クラウドが提供するRDBMS
         サービスを用いれば、可用性が
         高く、運用効率もよいシャー
         ディングが可能になる。

                       41
SQL Database Federation
• SQL Database の上でシャーディングを
  行うための仕組み
 – SQL Database Federation の仕様
   http://msdn.microsoft.com/ja-jp
   /library/windowsazure/hh700294.aspx
 – SQL Azure Federation入門
   http://www.atmarkit.co.jp/fdotnet/bookp
   review/introwinazure_0404/introwinazure
   _0404_01.html


                                             42
もっと Federation!
• SQL Azureを徹底活用
 – 第7回 スケールアウトとSQL Azure Federation
   http://gihyo.jp/admin/serial/01/sql_azure/0007
 – 第8回 SQL Database Federationを使用する
          ための最初の一歩
   http://gihyo.jp/admin/serial/01/sql_azure/0008
 – 第9回 SQL Database Federationをスケールさせる
   http://gihyo.jp/admin/serial/01/sql_azure/0009




                                                    43
gloops での事例
http://channel9.msdn.com/Events/Windows-Developer-Days/Windows-
Developer-Days-2012/SP-012




                                                                  44
SQL Database の注意点
• 提供されるもの
 – データベースエンジン
 – レポーティング (SQL Reporting)
 – データ同期   (SQL Data Sync)
• 現状で未サポートの機能
 – Server Agent、SQL CLR など
 – バックアップと復元
   • 管理ポータルからインポート・エクスポート可能
 – テーブル パーティション分割
   • Federationで対応
 http://msdn.microsoft.com/ja-jp/library/windowsazure/ff394102
                                                            45
SQL Server 版 RDS の注意点
• 提供されるもの
 – データベースエンジン
 – フルテキスト検索
 – Safe SQL CLR
   • SQL Databaseでは未サポートの機能
• 現状で未サポートの機能
 – Replication、Server Agent、Reporting など
   • Replication は SQL Database 標準機能
   • Windows Azure ではSQL Reportingとして提供

   http://docs.amazonwebservices.com/AmazonRDS/latest
       /UserGuide/Concepts.DBEngine.SQLServer.html      46
RDB を利用する際の候補
データベースサービス




   RDS        SQL Database

仮想マシンサービス




    EC2      Virtual Machines
仮想マシンサービスの比較

           Virtual Machines        EC2
インスタンス構成   仮想マシン              仮想マシン
パッチの適用     手動                 手動
レプリケーション   ユーザーが構成            ユーザーが構成
バックアップ     ユーザーが構成            ユーザーが構成
シャーディング    ユーザーが構成            ユーザーが構成
パラメータの変更   すべて自由              すべて自由




                                         48
RDBを利用する際の候補
    データベースサービス
                                    自
                                    動
                                    運
                                    用

       RDS        SQL Database

    仮想マシンサービス

自
由
度
        EC2      Virtual Machines
Inmemory DB Cacheパターン
          データベースからの読み込み
         パフォーマンスを向上にする方
         法として、頻繁に読み込まれる
         データをメモリーにキャッシュ
         するのがこのパターンである。
          一度利用したデータをキャッ
         シュしておくことで、次に使う
         ときに(ディスクからでなく)
         メモリーからの読み込みで済ま
         せる方法である。
          キャッシュするデータの典型
         的な例としては、データベース
         処理において時間のかかるクエ
         リーの結果や複雑な計算結果な
         どが挙げられる。      50
メモリキャッシュ




 ElastiCache   Cache
新しい Caching
• 旧 AppFabric Caching で提供されていた
  キャッシュの機構とは異なる
 – Cloud Services (Web ロール・Worker ロール)
   のメモリを利用してデータをストア
   • ロールインスタンスのメモリを一部使用
   • キャッシュ専用ロールインスタンス
 – memcached 互換のプロトコルをサポート
 – 現在は Preview Release 中



                                         52
サンプル




http://code.msdn.microsoft.com/Windows-Azure-Caching-c35ec139
                                                                53
NuGet パッケージ




http://nuget.org/packages/WindowsAzure.Caching   54
Web Storage
               Direct Hosting
          Private Distribution
           Cache Distribution
         Rename Distribution

静的コンテンツを処理


                                 55
クラウド上のストレージ




 S3    Blobストレージ




                   56
Web Storageパターン
        大容量のファイルをインター
        ネットストレージへ配置し、そ
        こから直接ファイルを配信する
        ことで、Webサーバーのネット
        ワーク負荷とディスク容量の問
        題を解決する。
         インターネットストレージに
        保存したオブジェクトは、公開
        設定にすることでユーザーに直
        接アクセスさせることができる。
        これを利用してインターネット
        ストレージから配信するように、
        Webサーバーのネットワーク負
        荷を下げることができる。
                     57
大きいファイルの配信
     日経システムズ「クラウド設計のデザインパターン」




http://itpro.nikkeibp.co.jp/article/COLUMN/20110713/362355/
                                                              58
Direct Hostingパターン
          クラウドが提供するインター
         ネットストレージから直接デー
         タを配信する。
          インターネットストレージに
         保存したオブジェクトを公開設
         定にすることで、インターネッ
         トストレージ上のデータに直接
         アクセスさせることができる。
          インターネットストレージは
         元々共有ストレージとして使用
         される前提で設計されているの
         で、キャパシティー面では問題
         ない。負荷対策を行う必要が無
         くなる。
                      59
Blobストレージを簡易
Webサイトとして利用する




     http://blogs.msdn.com/b/naokis/archive
     /2011/03/12/azure-blob-web.aspx


                                              60
Blobストレージを簡易
Webサイトとして利用する




                61
Private Distributionパターン
            インターネットストレージで
           提供される制限付きURL発行機
           能を用いると、コンテンツに対
           して、アクセス元IPアドレス
           やアクセス可能期間を設定でき
           る。
            ユーザーごとにURLを発行し、
           その制限付きURLでのみコンテ
           ンツをダウンロードするように
           すれば、期限が切れたリンクや
           異なるIPアドレスを持つ人がア
           クセスを試みてもダウンロード
           できない。実質的に特定ユー
           ザーにのみコンテンツを提供す
           ることが可能になる。     62
Shared Access Signature
     日経システムズ「クラウド設計のデザインパターン」




http://itpro.nikkeibp.co.jp/article/COLUMN/20110713/362355/
                                                              63
Cache Distributionパターン
           世界各地に配置されたロケー
          ションに、コンテンツ配信元
          (マスター)から配布されるコ
          ンテンツのキャッシュデータを
          配置する。
           こうすることで、地理的によ
          り利用者に近いロケーションか
          らコンテンツを配信することに
          なり、地理的/物理的な制約を
          解決できる。
           このパターンを適用すると、
          ユーザーとコンテンツの距離が
          短くなるので、ユーザーへのレ
          スポンスを向上させることがで
          きる。            64
CDN
• コンテンツデリバリネットワーク = CDN
 – ユーザーが要求するコンテンツを、ネットワーク
   的に近い場所にあるキャッシュサーバーから配信
   することで、速度の向上と、サーバーへの負荷を
   分散させる。




    http://www.geekpage.jp/blog/?id=2009/4/27/1
                                                  65
ストレージとCDN




   S3        Blobストレージ




CloudFront      CDN
                         66
CDNのエッジロケーション




                67
CDNの有効化
• 詳細な手順は以下を参照
   – http://buchizo.wordpress.com/2011/03/10/%E8%AA%B0%E3%
     82%82%E7%9F%A5%E3%82%89%E3%81%AA%E3%81%8B%
     E3%81%A3%E3%81%9Fwindows-azure-cdn/


<asp:Image ID="Image1" runat="server"
ImageUrl="http://harutama.cloudapp.net
                             /iremono/pic1.jpg" />



<asp:Image ID="Image1" runat="server"
ImageUrl="http://az4452.vo.msecnd.net
                             /iremono/pic1.jpg" />
                                                             68
CDNの効果




 http://d.hatena.ne.jp/haru-tama/20100701   69
Rename Distributionパターン

           エッジサーバー上のキャッ
          シュデータは、そこにアクセス
          するURLがキーになる。
           アクセスURL自体を変更する
          ことで、エッジサーバーの
          キャッシュタイムアウトにかか
          わらず新しいコンテンツを配信
          できる。




                          70
Revving Filenames
                                  「/v~/」の部分を変えるだけで
                                   配信ファイルをコントロール

http://example.com/v1/pic.jpg




                                   http://example.com/v1/pic.jpg


                                RewriteEngine on
 配信するファイルの管理は                   RewriteRule ^/v[0-9]*/(.*) /$1 [PT]
 このURLの実体を変更する

                                   http://example.com/pic.jpg


  http://5net.com/blog/2012/03/reducing-operational-task-by-revving-
  filenames-in-cloudfront-with-ec2.html#more
                                                                       71
Rewrite Module for IIS 7




http://www.microsoft.com/ja-jp/download/details.aspx?id=7435
                                                               72
Application Request Routing




   http://blogs.gine.jp/taka/archives/2234
                                             73
質問はこちらで


http://social.msdn.microsoft.com
/Forums/ja-jp
/windowsazureja/threads




                                   74
Let’s dream and then let’s build.
                       - Ray Ozzie




                  冨田 順 (とみた すなお)
                http://twitter.com/harutama/
            http://d.hatena.ne.jp/haru-tama/

                                               75

More Related Content

PPTX
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
PDF
[Azure Deep Dive] クラウド デザイン パターン ~優れたシステム構築のためのガイダンス~
PDF
デザインパターンから見た AWS と Azure
PPTX
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
PPTX
99999999 azure iaas_newportal版
PDF
Microsoft Azure超超入門_20140412
PDF
クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~
PDF
[修羅の街からこんにちわ♪JAZUG連動企画 by ふくあず] Windows Azureクラウド デザイン パターン
A 1-3 awsのクラウドデザインパターンをwindows-azureに持ってきてみた
[Azure Deep Dive] クラウド デザイン パターン ~優れたシステム構築のためのガイダンス~
デザインパターンから見た AWS と Azure
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
99999999 azure iaas_newportal版
Microsoft Azure超超入門_20140412
クラウドデザインパターンから始めるクラウドの利点と弱点の理解~提案から設計・開発・保守に活かす!~
[修羅の街からこんにちわ♪JAZUG連動企画 by ふくあず] Windows Azureクラウド デザイン パターン

What's hot (20)

PDF
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
PDF
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
PPTX
20140927 azure pack_slideshare
PDF
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
PPTX
Windows Server 2016 で実現しちゃう HCI (Hyper Converged Infrastructure)
PDF
S01 企業で活用が進む Microsoft Azureの仮想マシン (Windows)
PDF
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
PDF
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
PPTX
20141110 tf azure_iaas
PDF
G tech2016 Azureを使った災害復旧の基礎
PDF
Azure IaaS 解説
PPTX
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
PDF
CloudStack Overview(OSC2012Kansai@Kyoto)
PDF
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモ
PDF
azureから使うlinux
PDF
Azure Stack HCI - パフォーマンス履歴 と Azure Monitor
PPTX
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
PDF
オンプレのDbaがazureのデータベースを使ってみた
PPTX
Azure SQLデータベース最新動向&TIPS
PDF
Db2をAWS上に構築する際のヒント&TIPS 2020年6月版
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
開発者なのに運用で手がいっぱい? そんなあなたに贈る、 クラウド時代に最適な OSS の RDBMS ! Azure Database for MySQL...
20140927 azure pack_slideshare
G tech2016 デジタルトランスフォーメーションを牽引するAzure+OSSのスキル習得ポイント
Windows Server 2016 で実現しちゃう HCI (Hyper Converged Infrastructure)
S01 企業で活用が進む Microsoft Azureの仮想マシン (Windows)
S08 Microsoft Azure SQL Server の活用 (IaaS 環境における設定や運用)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
20141110 tf azure_iaas
G tech2016 Azureを使った災害復旧の基礎
Azure IaaS 解説
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
CloudStack Overview(OSC2012Kansai@Kyoto)
Hyper-V 仮想マシンをAzure ARMへV2C移行...のメモ
azureから使うlinux
Azure Stack HCI - パフォーマンス履歴 と Azure Monitor
Windows Azureストレージ機能のまとめとWindows Server 2016(vNext)のストレージ新機能
オンプレのDbaがazureのデータベースを使ってみた
Azure SQLデータベース最新動向&TIPS
Db2をAWS上に構築する際のヒント&TIPS 2020年6月版
Ad

Similar to Awsのクラウドデザインパターンをwindows azureに持ってきてみた (20)

PPTX
2011/12/3 わんくま同盟
PPTX
2011/11/26 Dot netlab
PPTX
Sql azure入門
PPTX
Moot2013 moca ver0.3
PDF
SQL Azure のシームレスな管理
PDF
PHP on Windows Azure in Open Source Conference
PDF
[AWS Summit 2012] クラウドデザインパターン#3 CDP Eコマース編 (EC-CUBE)
PPTX
機械学習 / Deep Learning 大全 (5) Tool編
PDF
AWSクラウドデザインパターン(CDP) - Eコマース編 -
PDF
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
PDF
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
PDF
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
PDF
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス
PPTX
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
PDF
Azure上の データベース 機能の選び方。KVSからDWHまで
PPTX
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
PDF
OSC2012 Nagoya - OpenStack - Storage System; Overview
PDF
PHP on Windows Azure
PDF
PHP on Windows Azure
PPTX
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
2011/12/3 わんくま同盟
2011/11/26 Dot netlab
Sql azure入門
Moot2013 moca ver0.3
SQL Azure のシームレスな管理
PHP on Windows Azure in Open Source Conference
[AWS Summit 2012] クラウドデザインパターン#3 CDP Eコマース編 (EC-CUBE)
機械学習 / Deep Learning 大全 (5) Tool編
AWSクラウドデザインパターン(CDP) - Eコマース編 -
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
やりたいことから考えるMicrosoft Azure 上の データストアの選び方とデータサイエンティスト向け活用法。KVSからDWHまで
SaaS/クラウドコンピューティングでのオープンソース活用とセキュリティ
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Azure上の データベース 機能の選び方。KVSからDWHまで
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
OSC2012 Nagoya - OpenStack - Storage System; Overview
PHP on Windows Azure
PHP on Windows Azure
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
Ad

More from Sunao Tomita (20)

PDF
AD19_冨田・近江_TechSummit2018
PDF
俺の俺による俺のための App Service Environment
PPTX
ハンズオン環境をAzure仮想マシンを作成する.pptx
PPTX
OMSのあれこれ
PPTX
CPU 版 TensorFlow を Azure 仮想マシンに構築する
PPTX
Azure Notebook で TensorFlow をハンズオンする環境を作る話
PPTX
Azure2017年3月障害DeepDive
PPTX
Azure App Service を使った無料のハンズオン
PDF
Logic Apps と Api Apps の話
PDF
Caching ガイダンスの話
PDF
20141004 青森ハンズオン Azure概要
PDF
Mashup Ideathon 東北 in 青森
PDF
Build 2014 Azure 的まとめ
PDF
Windows Azure の歴史2014年2月26日版
PDF
Windows Azure の中でも動いている InfiniBand って何?
PDF
最近の Windows Azure ってどう?
PDF
2013年版の inside windows azure
PDF
Windows Azureの歴史 2013年2月版
PPTX
ネクスト・ジェネレーションクラウドネットワーク~雲の中のリストラクチャリング~
PDF
TypeScriptへの入口
AD19_冨田・近江_TechSummit2018
俺の俺による俺のための App Service Environment
ハンズオン環境をAzure仮想マシンを作成する.pptx
OMSのあれこれ
CPU 版 TensorFlow を Azure 仮想マシンに構築する
Azure Notebook で TensorFlow をハンズオンする環境を作る話
Azure2017年3月障害DeepDive
Azure App Service を使った無料のハンズオン
Logic Apps と Api Apps の話
Caching ガイダンスの話
20141004 青森ハンズオン Azure概要
Mashup Ideathon 東北 in 青森
Build 2014 Azure 的まとめ
Windows Azure の歴史2014年2月26日版
Windows Azure の中でも動いている InfiniBand って何?
最近の Windows Azure ってどう?
2013年版の inside windows azure
Windows Azureの歴史 2013年2月版
ネクスト・ジェネレーションクラウドネットワーク~雲の中のリストラクチャリング~
TypeScriptへの入口

Awsのクラウドデザインパターンをwindows azureに持ってきてみた

  • 1. AWS のクラウドデザインパターンを Windows Azure に持ってきてみた Japan Windows Azure User Group Microsoft MVP for Windows Azure 冨田 順 http://twitter.com/harutama
  • 2. 自己紹介 @harutama 2
  • 5. 5
  • 7. 7
  • 8. 本セッションのゴール • AWSクラウドデザインパターンの実装を 現状のWindows Azureで考えることにより Windows Azureでできる事を理解する。 8
  • 10. Windows Azure に無いもの Direct CloudWatch Auto Scaling Elastic IP Route 53 Connect Simple Identity and Elastic Simple Simple Workflow Access Network Notification Email Service Management Interface Service Service Import/ Mechanical Security Availability Export Turk Group Zone 10
  • 17. その他、あるあるに関しては… Windows Azure デベロッパー サポート チーム ブログ http://blogs.msdn.com/b/dsazurejp/ 17
  • 18. Snapshot Stamp Scale Up Ondemand Disk 基本 18
  • 19. 新機能! にまつわるパターンです。 19
  • 20. Snapshotパターン クラウド上で仮想サーバーの データ(OS含む)やその他の データをインターネットスト レージに複製するのは簡単で、 スナップショットを定期的に実 施する負担は小さい。 クラウドでのスナップショッ トは管理画面でワンクリックす るだけで取得できるほか、API を使用して取得することもでき る。つまりプログラムを使用し て自動化できるということだ。 20
  • 21. スナップショットの作成 インスタンスが停止していないと スナップショットは作成できない 21
  • 23. Stampパターン 一度OSやミドルウエア、ア プリケーションの設定を行って しまえば、それらをコピーして おき、あたかも「Stamp(ス タンプ)」を押すかのように仮 想サーバーを複製することで、 環境設定済みの仮想サーバーを 大量に用意できる。 クラウドではサーバーやディ スクなどのリソースを論理的に 扱えるため、こういった作業を 容易に行うことができる。 23
  • 25. Sysprep の役割 • 複数のディスクイメージが作成された際に、 矛盾が起こらないようにするコマンド。 – コンピュータ名 – 一意なSID(セキュリティID) – ドライバキャッシュ • インスタンスの元になるイメージは、必ず Sysprep を実行しないと競合が起こる。 – http://technet.microsoft.com/ja-jp /library/dd744263(v=WS.10).aspx 25
  • 28. Scale Upパターン 仮想サーバーのスペック (CPU、メモリーサイズな ど)を必要に応じて切り替える ことが可能である。 稼働後にリソース不足に陥っ た場合、従来は物理サーバーを 交換してOSを再インストール することが必要だったが、クラ ウドでは必要ない。 ひとまず仮想サーバーを起動 してシステムを稼働し、リソー ス利用量を確認しながらサー バースペックを変更する。 28
  • 29. ポータル上でのサイズ変更 インスタンスサイズを変更した場合 インスタンスの再起動が必要 29
  • 30. Ondemand Diskパターン クラウドでは仮想ディスクを 利用できる。 仮想ディスクは、いつでも好 きなタイミングで必要なだけの 容量を確保可能である。 仮想ディスクを利用すれば、 前もって精緻に見積もらなくて もよい。システムを稼働させた 後に利用量を見ながら必要な容 量のディスクをオンデマンド (OnDemand)に確保すれば よい。 30
  • 34. DB Replication Read Replica Inmemory DB Cache Sharding Write リレーショナルデータベース 34
  • 36. データベースサービス比較 SQL Database RDS インスタンス構成 専用の構成 EC2ベースの仮想マシン パッチの適用 自動 自動 or 手動 レプリケーション 標準で3重化 ユーザーが構成 スケジュール指定の自動 バックアップ 手動バックアップ 手動バックアップ Federation DBMSの機能や シャーディング により提供 周辺ソフトで対応 基本的に変更不可能 パラメータグループで パラメータの変更 自動チューニング ある程度変更可能 容量の制限 150GBytes 実質 無制限 36
  • 37. Replicationパターン 地理的ロケーションをまたい だレプリケーションを行うパ ターン。 このパターンによりデータロ ストを防ぎ、データアクセスの 可用性を担保する。クラウド以 前からもあったパターンである が、クラウドを用いることで安 価に複数の地理的ロケーション を利用できるようになり、現実 的な選択肢となった。 37
  • 38. Read Replicaパターン 読み込みを複数の「リードレ プリカ(読み込み用のレプリ カ)」に分散させることで、全 体のパフォーマンスを向上して いる。 リードレプリカは、マスター に対する書き込みに追随する形 で、自分自身のデータを反映さ せる。 読み込みは主にリードレプリ カを利用することで、マスター の負荷も減らすことになる。 38
  • 39. SQL Databaseでの レプリケーション • プライマリと2台のセカンダリによって、 保持しているデータは複製されている。 – いずれかのマシンが停止した場合、自動的に 昇格され、新たなレプリカを作成し、常に3台の マシンでデータが 分散される。 – ユーザーは何も する必要はない。 – ただしAZの概念は 無い。 39
  • 41. Sharding Writeパターン 複数のデータベースサーバー で書き込みパフォーマンスを上 げる方法に「シャーディング」 がある。 基本的には、同じ構造のデー タベースを用意して適切なテー ブルのカラムをキーにして分割 し、書き込み処理を分散する。 クラウドが提供するRDBMS サービスを用いれば、可用性が 高く、運用効率もよいシャー ディングが可能になる。 41
  • 42. SQL Database Federation • SQL Database の上でシャーディングを 行うための仕組み – SQL Database Federation の仕様 http://msdn.microsoft.com/ja-jp /library/windowsazure/hh700294.aspx – SQL Azure Federation入門 http://www.atmarkit.co.jp/fdotnet/bookp review/introwinazure_0404/introwinazure _0404_01.html 42
  • 43. もっと Federation! • SQL Azureを徹底活用 – 第7回 スケールアウトとSQL Azure Federation http://gihyo.jp/admin/serial/01/sql_azure/0007 – 第8回 SQL Database Federationを使用する ための最初の一歩 http://gihyo.jp/admin/serial/01/sql_azure/0008 – 第9回 SQL Database Federationをスケールさせる http://gihyo.jp/admin/serial/01/sql_azure/0009 43
  • 45. SQL Database の注意点 • 提供されるもの – データベースエンジン – レポーティング (SQL Reporting) – データ同期 (SQL Data Sync) • 現状で未サポートの機能 – Server Agent、SQL CLR など – バックアップと復元 • 管理ポータルからインポート・エクスポート可能 – テーブル パーティション分割 • Federationで対応 http://msdn.microsoft.com/ja-jp/library/windowsazure/ff394102 45
  • 46. SQL Server 版 RDS の注意点 • 提供されるもの – データベースエンジン – フルテキスト検索 – Safe SQL CLR • SQL Databaseでは未サポートの機能 • 現状で未サポートの機能 – Replication、Server Agent、Reporting など • Replication は SQL Database 標準機能 • Windows Azure ではSQL Reportingとして提供 http://docs.amazonwebservices.com/AmazonRDS/latest /UserGuide/Concepts.DBEngine.SQLServer.html 46
  • 47. RDB を利用する際の候補 データベースサービス RDS SQL Database 仮想マシンサービス EC2 Virtual Machines
  • 48. 仮想マシンサービスの比較 Virtual Machines EC2 インスタンス構成 仮想マシン 仮想マシン パッチの適用 手動 手動 レプリケーション ユーザーが構成 ユーザーが構成 バックアップ ユーザーが構成 ユーザーが構成 シャーディング ユーザーが構成 ユーザーが構成 パラメータの変更 すべて自由 すべて自由 48
  • 49. RDBを利用する際の候補 データベースサービス 自 動 運 用 RDS SQL Database 仮想マシンサービス 自 由 度 EC2 Virtual Machines
  • 50. Inmemory DB Cacheパターン データベースからの読み込み パフォーマンスを向上にする方 法として、頻繁に読み込まれる データをメモリーにキャッシュ するのがこのパターンである。 一度利用したデータをキャッ シュしておくことで、次に使う ときに(ディスクからでなく) メモリーからの読み込みで済ま せる方法である。 キャッシュするデータの典型 的な例としては、データベース 処理において時間のかかるクエ リーの結果や複雑な計算結果な どが挙げられる。 50
  • 52. 新しい Caching • 旧 AppFabric Caching で提供されていた キャッシュの機構とは異なる – Cloud Services (Web ロール・Worker ロール) のメモリを利用してデータをストア • ロールインスタンスのメモリを一部使用 • キャッシュ専用ロールインスタンス – memcached 互換のプロトコルをサポート – 現在は Preview Release 中 52
  • 55. Web Storage Direct Hosting Private Distribution Cache Distribution Rename Distribution 静的コンテンツを処理 55
  • 56. クラウド上のストレージ S3 Blobストレージ 56
  • 57. Web Storageパターン 大容量のファイルをインター ネットストレージへ配置し、そ こから直接ファイルを配信する ことで、Webサーバーのネット ワーク負荷とディスク容量の問 題を解決する。 インターネットストレージに 保存したオブジェクトは、公開 設定にすることでユーザーに直 接アクセスさせることができる。 これを利用してインターネット ストレージから配信するように、 Webサーバーのネットワーク負 荷を下げることができる。 57
  • 58. 大きいファイルの配信 日経システムズ「クラウド設計のデザインパターン」 http://itpro.nikkeibp.co.jp/article/COLUMN/20110713/362355/ 58
  • 59. Direct Hostingパターン クラウドが提供するインター ネットストレージから直接デー タを配信する。 インターネットストレージに 保存したオブジェクトを公開設 定にすることで、インターネッ トストレージ上のデータに直接 アクセスさせることができる。 インターネットストレージは 元々共有ストレージとして使用 される前提で設計されているの で、キャパシティー面では問題 ない。負荷対策を行う必要が無 くなる。 59
  • 60. Blobストレージを簡易 Webサイトとして利用する http://blogs.msdn.com/b/naokis/archive /2011/03/12/azure-blob-web.aspx 60
  • 62. Private Distributionパターン インターネットストレージで 提供される制限付きURL発行機 能を用いると、コンテンツに対 して、アクセス元IPアドレス やアクセス可能期間を設定でき る。 ユーザーごとにURLを発行し、 その制限付きURLでのみコンテ ンツをダウンロードするように すれば、期限が切れたリンクや 異なるIPアドレスを持つ人がア クセスを試みてもダウンロード できない。実質的に特定ユー ザーにのみコンテンツを提供す ることが可能になる。 62
  • 63. Shared Access Signature 日経システムズ「クラウド設計のデザインパターン」 http://itpro.nikkeibp.co.jp/article/COLUMN/20110713/362355/ 63
  • 64. Cache Distributionパターン 世界各地に配置されたロケー ションに、コンテンツ配信元 (マスター)から配布されるコ ンテンツのキャッシュデータを 配置する。 こうすることで、地理的によ り利用者に近いロケーションか らコンテンツを配信することに なり、地理的/物理的な制約を 解決できる。 このパターンを適用すると、 ユーザーとコンテンツの距離が 短くなるので、ユーザーへのレ スポンスを向上させることがで きる。 64
  • 65. CDN • コンテンツデリバリネットワーク = CDN – ユーザーが要求するコンテンツを、ネットワーク 的に近い場所にあるキャッシュサーバーから配信 することで、速度の向上と、サーバーへの負荷を 分散させる。 http://www.geekpage.jp/blog/?id=2009/4/27/1 65
  • 66. ストレージとCDN S3 Blobストレージ CloudFront CDN 66
  • 68. CDNの有効化 • 詳細な手順は以下を参照 – http://buchizo.wordpress.com/2011/03/10/%E8%AA%B0%E3% 82%82%E7%9F%A5%E3%82%89%E3%81%AA%E3%81%8B% E3%81%A3%E3%81%9Fwindows-azure-cdn/ <asp:Image ID="Image1" runat="server" ImageUrl="http://harutama.cloudapp.net /iremono/pic1.jpg" /> <asp:Image ID="Image1" runat="server" ImageUrl="http://az4452.vo.msecnd.net /iremono/pic1.jpg" /> 68
  • 70. Rename Distributionパターン エッジサーバー上のキャッ シュデータは、そこにアクセス するURLがキーになる。 アクセスURL自体を変更する ことで、エッジサーバーの キャッシュタイムアウトにかか わらず新しいコンテンツを配信 できる。 70
  • 71. Revving Filenames 「/v~/」の部分を変えるだけで 配信ファイルをコントロール http://example.com/v1/pic.jpg http://example.com/v1/pic.jpg RewriteEngine on 配信するファイルの管理は RewriteRule ^/v[0-9]*/(.*) /$1 [PT] このURLの実体を変更する http://example.com/pic.jpg http://5net.com/blog/2012/03/reducing-operational-task-by-revving- filenames-in-cloudfront-with-ec2.html#more 71
  • 72. Rewrite Module for IIS 7 http://www.microsoft.com/ja-jp/download/details.aspx?id=7435 72
  • 73. Application Request Routing http://blogs.gine.jp/taka/archives/2234 73
  • 75. Let’s dream and then let’s build. - Ray Ozzie 冨田 順 (とみた すなお) http://twitter.com/harutama/ http://d.hatena.ne.jp/haru-tama/ 75