SlideShare a Scribd company logo
マイクロソフト株式会社
    デベロッパー エバンジェリスト
    井上大輔 (daisukei@microsoft.com)
    Blog    http://blogs.msdn.com/daisukei/
    Twitter http://twitter.com/daisukei777


1
Agenda

 クラウドの基本をおさらい (一般論)

 Windows Azure を理解する

 PHP on Windows Azure 開発のポ゗ン
 トを理解する

 さらなる活用に向けて

                               2
Agenda

 クラウドの基本をおさらい (一般論)

 Windows Azure を理解する

 PHP on Windows Azure 開発のポ゗ン
 トを理解する

 さらなる活用に向けて

                               3
クラウドを身近な物で例えると




 コスト                  コスト
 車代+駐車場+保険+税金+         利用した分だけ料金を払う
 車検+ガソリン代

 道があればどこでも行くことができる    駅から駅へ行くことができる


  低                           規模の経済 高
  高     コントロール                          低
クラウドとは
゗ンターネットをベースとしたコンピュー
タの利用形態
 所有から利用へ
 大規模データセンターがバックボーン


     ゗ンターネット




                      5
クラウドのメリット




 所有はしない。              スケールゕウト
 利用しただけ支    マーケットへの
             対応が迅速    やスケールダウ
 払い。メンテ コ               ンが容易
 ストも削減。




                                6
クラウドの真価はスケーラビリティ
~ 真価を発揮する4つのパターン ~
              “On と Off            “急速な成長“
                  “
     トラフィック




                          トラフィック
                 稼働不要な
                  時期




                  時間                  時間




 “予測不能な使用増“               “周期的な使用増“

                          トラフィック
 トラフィック




                 時間                   時間




                                             7
(1) 予測不能な使用増

  トラフィック




           時間




                8
(1) 予測不能な使用増

              ゕクセスの予想が
              できないキャン
              ペーンサ゗ト
トラフィック




              ゲームサ゗トなど
              の初公開時
         時間




                         9
(2) 周期的な使用増
 トラフィック




          時間


               10
(2) 周期的な使用増

              オリンピックなど
              特定゗ベントに関
              連するサ゗ト
トラフィック




              セール時のショッ
              ピング サ゗ト
         時間


              旅行サ゗ト


                         11
(3) 急速な成長
 トラフィック




            時間




                 12
(3) 急速な成長

              ベンチャー企業の
              SaaS

              部門内利用から全
トラフィック




              社利用への展開
         時間




                         13
(4) On と Off


           稼働不要な
  トラフィック



             時期




               時間




                    14
(4) On と Off

                 バッチ処理

                 期間限定キャンペーン
         稼働不要な   サ゗ト
トラフィック




          時期



                 スキー場などの特定季
          時間     節のみのサ゗ト

                 学術機関での解析作業

                          15
クラウドの提供形態
ユーザが準備するもの

事業者側が提供するもの


 カスタマイズ
                 アプリ          アプリ
   アプリ

  OS+ミドル       OS+(ミドル)     OS+ミドル

 ハードウェア        ハードウェア       ハードウェア

 ネットワーク        ネットワーク       ネットワーク

   SaaS         PaaS         IaaS
  完成品の        開発・実行環境となる   ハードウェアを提供
ソフトウェアを提供    プラットフォームを提供

                                       16
Agenda

 クラウドの基本をおさらい (一般論)

 Windows Azure を理解する

 PHP on Windows Azure 開発のポ゗ン
 トを理解する

 さらなる活用に向けて

                               17
Windows Azure
~ スケーラブルなクラウド OS ~
                     仮想化技術で大規
                     模データセンター
                     のサーバー群を制
                     御し、高い可用性
                     とスケーラビリ
                     テゖを実現




ゕプリ、ミドルウェゕ実行環境   信頼性の高いストレージ


                               18
Windows Azure
~ Compute ~

                 • Web ゕプリ 実行環境
   Web Role
                 • IIS (FastCGI サポート)がベース




                 • MySQL などのミドルウェゕを実行
   Worker Role
                 • バッチ ジョブのような処理を実行



        ※各 Role 毎に゗ンスタンス数は
         動的にいつでも増減可能
                                        19
Windows Azure
 ~ 内部構成 ~

                               バックエンドで
   HTTP/HTTPS
                               の処理が基本形
インター
ネット
                                     Worker
       LB




                                      Role
                  Worker
                   Role
        Port 25

                           Storage


  ※ 任意のTCPポートで通信可能                            20
Windows Azure
~ Storage ~
               • Table = Key Value ストゕ
      Azure
               • BLOB = 大容量バ゗ナリ格納
     Storage
               • QUEUE = メッセージ キュー



      Azure    • クラウド上の NTFS サービス

      Drive    • 将来提供予定(現在 β)



     ※ ほぼ無尽蔵にストレージ領域を利用可能

                                         21
Azure Video …



                22
Demo



       23
開催日   2009年11月




                 24
基調講演 で PHP on Windows Azure
~ WordPress 創始者 Matt Mullenweg ~




     ストリーミング:http://microsoftpdc.com/Sessions/KEY01
                                                      25
PHP サーバープラットフォーム の比較
           従来の サーバー                   Windows Azure
           プラットフォーム                   プラットフォーム
                PHP アプリ                   PHP アプリ
Web
             IIS        Apache
                                        Web Role (IIS)
サーバー                                    ※ Fast CGI サポート


DB        SQL Server       MySQL                Worker Role
                                                   (MySQL)

          Windows          Linux
OS         Server                     Azure        Azure
            NTFS             FS                   Storage
                                      Drive
          Windows       VMware
Virtual
          Hyper-V      ESX Server


                       …                                     …
          自社内、ホステゖングなど              マ゗クロソフト の データセンター
                                                             26
Agenda

 クラウドの基本をおさらい (一般論)

 Windows Azure を理解する

 PHP on Windows Azure 開発のポ゗ン
 トを理解する

 さらなる活用に向けて

                               27
PHP アプリ開発全体像
                        テキスト
                      エデゖターなど




    アプリケーション
      パッケージ
               Windows Azure SDK

    アプリケーション
      パッケージ
                Windows Azure
                   ポータル


                Windows Azure
                   ポータル         28
PHP アプリ開発環境
~ Windows Azure 専用の設定フゔ゗ルとパッケージ ~
  サービス定義ファイル                     動的変更不可
   ServiceDefinition.csdef      ロール、プロトコル、
                                   ポート 等


  サービス構成ファイル                    動的変更可能
                                ゗ンスタンス数、
   ServiceConfiguration.cscfg   Storage ゕカウント等


  サービスパッケージファイル                 PHP の exe フゔ゗ル、
   XXX.cspkg                    作成したPHPゕプリ




                                             29
PHP アプリ開発環境
~ パッケージ化するためのツール群 ~
 cspack.exe
  Windows Azure SDK のコマンド


 Visual Studio
  Windows Azure Tools for Microsoft Visual Studio


 Eclipse
  Windows Azure tools for Eclipse




                                                    30
Demo



       31
デバッグ環境
~ Windows Azure シミュレーション環境 ~



   Windows Azure シミュレーション環境

   Development Fabric   Development
                        Storage




                                      32
Demo



       33
PHP アプリ開発環境
~ Azure Storage へのゕクセス ~

 Windows Azure SDK for PHP
  Azure Storage へ簡単ゕクセス


 Zend Framework 1.10
  Zend_Service_WindowsAzure コンポーネントが提供
  されており Azure Storage へ簡単ゕクセス

 Windows Azure Storage Explorer
  Azure Storage 用エクスプローラー


                                     34
Demo



       35
Agenda

 クラウドの基本をおさらい (一般論)

 Windows Azure を理解する

 PHP on Windows Azure 開発のポ゗ン
 トを理解する

 さらなる活用に向けて

                               36
アクセラレーター
~ MySQL 、CMS の利用を容易に ~

 Windows Azure   PHP Solution
 Accelerator

 Windows Azure      MySQL Solution
 Accelerator

 Windows Azure        Solution
 Accelerator




                                     37
MySQL PHP Solution Accelerator
 Worker Role として MySQL を起動
   常駐させ、それを Web Role から利用



    ゗ンターネット


                         MySQL
                       (Worker Role)
MySQL PHP Solution Accelerator
  カスタマ゗ズにより MySQL の冗長化が可能



   ゗ンターネット
                      MySQL Master
                      (Worker Role)




                        MySQL Slave
                       (Worker Role)
Demo



       40
MediaWiki Solution Accelerator
  MediaWiki のバックエンドに、MySQL と
  Memcached を冗長化構成で利用



  ゗ンターネット
                       Memcached
                       (Worker Role)


  ゗ンターネット
PHP on Windows Azure ガイドライン




 http://msdn.microsoft.com/ja-jp/azure/ff394366.aspx
まとめ
クラウドの基本をおさらい (一般論)

Windows Azure を理解する

PHP on Windows Azure 開発のポ゗ントを理解
する

さらなる活用に向けて



                             43
タダで Windows Azure を使い倒す

  初期特別             MSDN         BizSpark
  プラン           サブスクリプション       への加入

 誰でも使えるお試        MSDN購読特典で     スタートゕップ企業
 しプラン            Azureが実質1゗ン   なら、マ゗クロソフ
                 スタンス使い放題      トの支援プログラム
 クレジットカード        (8ヶ月間)        に加入できる
 の登録は必要
                 会社でMSDN購読し    加入するともれなく
 やろうと思えば         ていて誰もAzure    MSDNがついてくる。
 Live IDをたくさん    使っていなければ      すなわちAzure利用
 用意して…           手を回してゲット      権付き


 25時間/月まで       750時間/月まで        MSDNが
    0円              0円          ついてくる


                                             44
Windows Azure を使う時の注意点
~ 課金の原則 ~

            CPU使用率は関係なく占有
            したデプロ゗時間で課金
            Runしてなくてもデプロ゗
            すれば(削除しない限り)
            課金発生
            ステージングも同じレート
            最小単位は1時間




                        45
リソース情報
Windows Azure Portal(日本語)
 http://www.microsoft.com/japan/WindowsAzure/


Windows Azure Interoperability (日本語)
 http://www.microsoft.com/japan/windowsazure/interop/


Windows Azure Tools for Eclipse (英語)
 http://www.windowsazure4e.org/




                                                        46
Appendix



           47
マ゗クロソフトのデータセンター




                  48
ファブリック:
大規模データセンターと最新鋭管理技術




                     49
Windows Azure Platform
~ PDC 08で発表、PDC 09 で提供開始~
             スケーラブルなクラウド環境に
             最適化された専用OS
             ハードウェゕや自動運用管理を含めた
             サービスとして提供


             クラウド環境で利用できるRDBMS
             既存のSQLゕプリケーションの展開が容易
             自動で運用管理されるため高度なスキル
             を持つDBAの確保は不要

             クラウドのエンタープラ゗ズ利用で必要
             となる認証とメッセージング機能を提供
             SOA化された資産があれば、クラウドを
             介したさらなる有効活用が可能

                                   50
Why クラウド?
~ 開発者にとっての価値はスケーラビリテゖ ~
           • ハードウェゕやOSの購買、゗ンフラ構築費用が不要
 初期投資
           • 費用として支払うため、資産計上しなくて済む


           • すぐにゕプリの開発、利用が可能になる
 スピード
           • 新規事業などの変化の早いニーズに対応


           • システム管理業務をすべてゕウトソース、パッチ適用も自動化
   運用
           • 遠隔地での冗長化で事業継続性を確保


           • 従量制課金であるため、必要がなくなれば、容易に停止可能
 短期利用
           • キャンペーンサ゗トや頻度の少ないバッチ処理に有効


           • スケーラブルな基盤設計要求からスキルの高い技術者を解放
スケーラビリテゖ
           • 所有が不可能な規模に、理論上無限の拡張が可能


                                            51
Content Delivery Network
 Windows Azure BLOB Storage に対応
 最小限のネットワーク ホップ数で効率的にロード
 現在 CTP




                           Web サーバー
            エッジ キャッシュ
              サーバー
Announcing New Feature … in PDC09
~ Windows Azure Virtual Machine Role ~
 新たな Virtual Machine ロールタ゗プ
 クラウドへの容易なゕプリケーション移行
 Windows Azure 上で幅広いWindows ゕプリケー
  ションの動作可能




                                         53
54
55

More Related Content

What's hot (20)

PDF
G tech2016 シスコのハイパーコンバージドインフラCisco Hyper-Flexと、その先にあるIoE/BigDataインフラの世界
Trainocate Japan, Ltd.
 
PPTX
Global Azure Bootcamp 2017 DocumentDB Deep Dive
Takekazu Omi
 
PPTX
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
Takekazu Omi
 
PDF
Hyper-V仮想マシンをAzureへV2C移行
wintechq
 
PDF
[G-Tech2015]Microsoft Azureを使った災害復旧の基礎[講演資料]
Trainocate Japan, Ltd.
 
PPTX
Azure Fabric Service Reliable Collection
Takekazu Omi
 
PDF
Azure Infrastructure as Code 体験入隊
Toru Makabe
 
PPTX
Persistence on Azure - Microsoft Azure の永続化
Takekazu Omi
 
PDF
Azure container as a service v0.1.19.1213
Ayumu Inaba
 
PDF
G tech2016 Azureを使った災害復旧の基礎
Trainocate Japan, Ltd.
 
PDF
Cld002 windows server_2016_で作るシンプ
Tech Summit 2016
 
PDF
CI65_やってみよう、Azure Stack で マルチ テナント環境の構築
Hiroshi Matsumoto
 
PDF
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Takashi Kanai
 
PDF
Azure vm usacase and value.1.0.20.0618
Ayumu Inaba
 
PDF
Azure IaaS 解説
wintechq
 
PPTX
Microsoft Azure の概要と最近のアップデート(2016年6月25日)
kekekekenta
 
PDF
Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
Hiroshi Matsumoto
 
PDF
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...
Trainocate Japan, Ltd.
 
PDF
Interact2019 ws2019 s2d_IN05
Hiroshi Matsumoto
 
PDF
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
Akihiro Kuwano
 
G tech2016 シスコのハイパーコンバージドインフラCisco Hyper-Flexと、その先にあるIoE/BigDataインフラの世界
Trainocate Japan, Ltd.
 
Global Azure Bootcamp 2017 DocumentDB Deep Dive
Takekazu Omi
 
クラウドデザイン パターンに見る クラウドファーストな アプリケーション設計 Data Management編
Takekazu Omi
 
Hyper-V仮想マシンをAzureへV2C移行
wintechq
 
[G-Tech2015]Microsoft Azureを使った災害復旧の基礎[講演資料]
Trainocate Japan, Ltd.
 
Azure Fabric Service Reliable Collection
Takekazu Omi
 
Azure Infrastructure as Code 体験入隊
Toru Makabe
 
Persistence on Azure - Microsoft Azure の永続化
Takekazu Omi
 
Azure container as a service v0.1.19.1213
Ayumu Inaba
 
G tech2016 Azureを使った災害復旧の基礎
Trainocate Japan, Ltd.
 
Cld002 windows server_2016_で作るシンプ
Tech Summit 2016
 
CI65_やってみよう、Azure Stack で マルチ テナント環境の構築
Hiroshi Matsumoto
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Takashi Kanai
 
Azure vm usacase and value.1.0.20.0618
Ayumu Inaba
 
Azure IaaS 解説
wintechq
 
Microsoft Azure の概要と最近のアップデート(2016年6月25日)
kekekekenta
 
Windows Server 2019 の Hyper-Converged Infrastructure (HCI)
Hiroshi Matsumoto
 
[G-Tech2014講演資料] Microsoft Azureで負荷分散された仮想マシンを作ってみよう ~Amazon Web Servicesと比べな...
Trainocate Japan, Ltd.
 
Interact2019 ws2019 s2d_IN05
Hiroshi Matsumoto
 
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
Akihiro Kuwano
 

Similar to PHP on Windows Azure (20)

PDF
XDev2010 WindowsAzure
Shinichiro Isago
 
PDF
インストールマニアックス5中間セミナー Windows Azureって何? インストールする前に相手を知ろう!
満徳 関
 
PPTX
ハイブリッドクラウドとして進化するWindows azureのご紹介 day1ハイライト
GoAzure
 
PDF
現場開発者視点で答えるWindows Azure
Keiichi Hashimoto
 
PDF
今明かす、Windows Azure の全貌 - Virtualization Summit
fumios
 
PDF
クラウド勉強会in北陸Azure資料
Shinichiro Isago
 
PDF
Windows Azure for PHP Developers
fumios
 
PPTX
Java/Android開発者のためのWindows Azure入門 (パート2)
Naoki (Neo) SATO
 
PDF
ShizuokaITpro_Azure
Shinichiro Isago
 
PDF
Kansai Azure Azure Overview & Update 20140926
Ayako Omori
 
PDF
海外クラウドベンダーの動向2012年度版 ~Windows Azure編~
Daichi Isami
 
PDF
[ハッカーズチャンプルー2014] 初めてのMicrosoft Azure
Naoki (Neo) SATO
 
PDF
Secpolo#4 WindowsAzure Security
Shinichiro Isago
 
PDF
東北クラウド実践カンファレンス2011
Shinichiro Isago
 
PPTX
Windows Azure アプリケーション設計を賢く行うための基本知識
Kazuyuki Nomura
 
PDF
MSC 2010 T5-1 クラウド時代の最新アプリケーション プラットフォーム「Windows Azure」概要
kumo2010
 
PDF
クラウド時代の Web サイト構築 ~ Windows Azure Web サイト概要 ~
Akira Inoue
 
PPT
Microsoftのクラウド戦略
FITEA
 
PPTX
PHP on Windows Azure Training
Microsoft Openness Japan
 
PPTX
Windows azureって何
Kana SUZUKI
 
XDev2010 WindowsAzure
Shinichiro Isago
 
インストールマニアックス5中間セミナー Windows Azureって何? インストールする前に相手を知ろう!
満徳 関
 
ハイブリッドクラウドとして進化するWindows azureのご紹介 day1ハイライト
GoAzure
 
現場開発者視点で答えるWindows Azure
Keiichi Hashimoto
 
今明かす、Windows Azure の全貌 - Virtualization Summit
fumios
 
クラウド勉強会in北陸Azure資料
Shinichiro Isago
 
Windows Azure for PHP Developers
fumios
 
Java/Android開発者のためのWindows Azure入門 (パート2)
Naoki (Neo) SATO
 
ShizuokaITpro_Azure
Shinichiro Isago
 
Kansai Azure Azure Overview & Update 20140926
Ayako Omori
 
海外クラウドベンダーの動向2012年度版 ~Windows Azure編~
Daichi Isami
 
[ハッカーズチャンプルー2014] 初めてのMicrosoft Azure
Naoki (Neo) SATO
 
Secpolo#4 WindowsAzure Security
Shinichiro Isago
 
東北クラウド実践カンファレンス2011
Shinichiro Isago
 
Windows Azure アプリケーション設計を賢く行うための基本知識
Kazuyuki Nomura
 
MSC 2010 T5-1 クラウド時代の最新アプリケーション プラットフォーム「Windows Azure」概要
kumo2010
 
クラウド時代の Web サイト構築 ~ Windows Azure Web サイト概要 ~
Akira Inoue
 
Microsoftのクラウド戦略
FITEA
 
PHP on Windows Azure Training
Microsoft Openness Japan
 
Windows azureって何
Kana SUZUKI
 
Ad

More from Microsoft Openness Japan (11)

PDF
Pycon APAC 2013 Windows Azure Session
Microsoft Openness Japan
 
PPTX
Windows Azure
Microsoft Openness Japan
 
PPTX
Azure de PHP
Microsoft Openness Japan
 
PPTX
Azure de Linux
Microsoft Openness Japan
 
PDF
Windows Azure Community Open Day 2012
Microsoft Openness Japan
 
PPTX
Windows Azure PHP Tips
Microsoft Openness Japan
 
PPTX
PHP on Azure
Microsoft Openness Japan
 
PDF
Oss on Azure, Websites, WordPress
Microsoft Openness Japan
 
PDF
Oss on Azure, social mobile web
Microsoft Openness Japan
 
PPTX
PHP on Windows Azure
Microsoft Openness Japan
 
Pycon APAC 2013 Windows Azure Session
Microsoft Openness Japan
 
Azure de Linux
Microsoft Openness Japan
 
Windows Azure Community Open Day 2012
Microsoft Openness Japan
 
Windows Azure PHP Tips
Microsoft Openness Japan
 
Oss on Azure, Websites, WordPress
Microsoft Openness Japan
 
Oss on Azure, social mobile web
Microsoft Openness Japan
 
PHP on Windows Azure
Microsoft Openness Japan
 
Ad

Recently uploaded (11)

PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
 
PPTX
オープンソース界隈の利用者や技術者から見たオープンソースEDAとは? What is open source EDA from the perspecti...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
PDF
第3回デジタル理学療法学会のシンポジウム「デジタル理学療法の組織活用:教育・管理・研究を繋ぐ新たな地平」での話題提供
Matsushita Laboratory
 
PDF
2023年版Web3技術の理想と現実
Syuhei Hiya
 
PDF
第3回デジタル理学療法研究会学術大会シンポジウム「デジタル理学療法の組織活用:教育・管理・研究を繋ぐ新たな地平」の講演資料.
Matsushita Laboratory
 
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
 
PDF
漁船に搭載されている電子装備と漁法について_VRC海洋学研究会_海のLT会発表資料
Yuuitirou528 default
 
PDF
go tool と Minimal Version Selection アルゴリズム
Keisuke Ishigami
 
PPTX
新卒・中途採用者向け採用ピッチ資料2025年7月版(20250702).pptx
Official74
 
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
 
PDF
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
 
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
 
オープンソース界隈の利用者や技術者から見たオープンソースEDAとは? What is open source EDA from the perspecti...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
第3回デジタル理学療法学会のシンポジウム「デジタル理学療法の組織活用:教育・管理・研究を繋ぐ新たな地平」での話題提供
Matsushita Laboratory
 
2023年版Web3技術の理想と現実
Syuhei Hiya
 
第3回デジタル理学療法研究会学術大会シンポジウム「デジタル理学療法の組織活用:教育・管理・研究を繋ぐ新たな地平」の講演資料.
Matsushita Laboratory
 
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
 
漁船に搭載されている電子装備と漁法について_VRC海洋学研究会_海のLT会発表資料
Yuuitirou528 default
 
go tool と Minimal Version Selection アルゴリズム
Keisuke Ishigami
 
新卒・中途採用者向け採用ピッチ資料2025年7月版(20250702).pptx
Official74
 
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
 
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
 

PHP on Windows Azure

  • 1. マイクロソフト株式会社 デベロッパー エバンジェリスト 井上大輔 ([email protected]) Blog http://blogs.msdn.com/daisukei/ Twitter http://twitter.com/daisukei777 1
  • 2. Agenda クラウドの基本をおさらい (一般論) Windows Azure を理解する PHP on Windows Azure 開発のポ゗ン トを理解する さらなる活用に向けて 2
  • 3. Agenda クラウドの基本をおさらい (一般論) Windows Azure を理解する PHP on Windows Azure 開発のポ゗ン トを理解する さらなる活用に向けて 3
  • 4. クラウドを身近な物で例えると  コスト  コスト 車代+駐車場+保険+税金+ 利用した分だけ料金を払う 車検+ガソリン代  道があればどこでも行くことができる  駅から駅へ行くことができる 低 規模の経済 高 高 コントロール 低
  • 6. クラウドのメリット 所有はしない。 スケールゕウト 利用しただけ支 マーケットへの 対応が迅速 やスケールダウ 払い。メンテ コ ンが容易 ストも削減。 6
  • 7. クラウドの真価はスケーラビリティ ~ 真価を発揮する4つのパターン ~ “On と Off “急速な成長“ “ トラフィック トラフィック 稼働不要な 時期 時間 時間 “予測不能な使用増“ “周期的な使用増“ トラフィック トラフィック 時間 時間 7
  • 8. (1) 予測不能な使用増 トラフィック 時間 8
  • 9. (1) 予測不能な使用増 ゕクセスの予想が できないキャン ペーンサ゗ト トラフィック ゲームサ゗トなど の初公開時 時間 9
  • 11. (2) 周期的な使用増 オリンピックなど 特定゗ベントに関 連するサ゗ト トラフィック セール時のショッ ピング サ゗ト 時間 旅行サ゗ト 11
  • 13. (3) 急速な成長 ベンチャー企業の SaaS 部門内利用から全 トラフィック 社利用への展開 時間 13
  • 14. (4) On と Off 稼働不要な トラフィック 時期 時間 14
  • 15. (4) On と Off バッチ処理 期間限定キャンペーン 稼働不要な サ゗ト トラフィック 時期 スキー場などの特定季 時間 節のみのサ゗ト 学術機関での解析作業 15
  • 16. クラウドの提供形態 ユーザが準備するもの 事業者側が提供するもの カスタマイズ アプリ アプリ アプリ OS+ミドル OS+(ミドル) OS+ミドル ハードウェア ハードウェア ハードウェア ネットワーク ネットワーク ネットワーク SaaS PaaS IaaS 完成品の 開発・実行環境となる ハードウェアを提供 ソフトウェアを提供 プラットフォームを提供 16
  • 17. Agenda クラウドの基本をおさらい (一般論) Windows Azure を理解する PHP on Windows Azure 開発のポ゗ン トを理解する さらなる活用に向けて 17
  • 18. Windows Azure ~ スケーラブルなクラウド OS ~ 仮想化技術で大規 模データセンター のサーバー群を制 御し、高い可用性 とスケーラビリ テゖを実現 ゕプリ、ミドルウェゕ実行環境 信頼性の高いストレージ 18
  • 19. Windows Azure ~ Compute ~ • Web ゕプリ 実行環境 Web Role • IIS (FastCGI サポート)がベース • MySQL などのミドルウェゕを実行 Worker Role • バッチ ジョブのような処理を実行 ※各 Role 毎に゗ンスタンス数は 動的にいつでも増減可能 19
  • 20. Windows Azure ~ 内部構成 ~ バックエンドで HTTP/HTTPS の処理が基本形 インター ネット Worker LB Role Worker Role Port 25 Storage ※ 任意のTCPポートで通信可能 20
  • 21. Windows Azure ~ Storage ~ • Table = Key Value ストゕ Azure • BLOB = 大容量バ゗ナリ格納 Storage • QUEUE = メッセージ キュー Azure • クラウド上の NTFS サービス Drive • 将来提供予定(現在 β) ※ ほぼ無尽蔵にストレージ領域を利用可能 21
  • 23. Demo 23
  • 24. 開催日 2009年11月 24
  • 25. 基調講演 で PHP on Windows Azure ~ WordPress 創始者 Matt Mullenweg ~ ストリーミング:http://microsoftpdc.com/Sessions/KEY01 25
  • 26. PHP サーバープラットフォーム の比較 従来の サーバー Windows Azure プラットフォーム プラットフォーム PHP アプリ PHP アプリ Web IIS Apache Web Role (IIS) サーバー ※ Fast CGI サポート DB SQL Server MySQL Worker Role (MySQL) Windows Linux OS Server Azure Azure NTFS FS Storage Drive Windows VMware Virtual Hyper-V ESX Server … … 自社内、ホステゖングなど マ゗クロソフト の データセンター 26
  • 27. Agenda クラウドの基本をおさらい (一般論) Windows Azure を理解する PHP on Windows Azure 開発のポ゗ン トを理解する さらなる活用に向けて 27
  • 28. PHP アプリ開発全体像 テキスト エデゖターなど アプリケーション パッケージ Windows Azure SDK アプリケーション パッケージ Windows Azure ポータル Windows Azure ポータル 28
  • 29. PHP アプリ開発環境 ~ Windows Azure 専用の設定フゔ゗ルとパッケージ ~ サービス定義ファイル 動的変更不可 ServiceDefinition.csdef ロール、プロトコル、 ポート 等 サービス構成ファイル 動的変更可能 ゗ンスタンス数、 ServiceConfiguration.cscfg Storage ゕカウント等 サービスパッケージファイル PHP の exe フゔ゗ル、 XXX.cspkg 作成したPHPゕプリ 29
  • 30. PHP アプリ開発環境 ~ パッケージ化するためのツール群 ~ cspack.exe Windows Azure SDK のコマンド Visual Studio Windows Azure Tools for Microsoft Visual Studio Eclipse Windows Azure tools for Eclipse 30
  • 31. Demo 31
  • 32. デバッグ環境 ~ Windows Azure シミュレーション環境 ~ Windows Azure シミュレーション環境 Development Fabric Development Storage 32
  • 33. Demo 33
  • 34. PHP アプリ開発環境 ~ Azure Storage へのゕクセス ~ Windows Azure SDK for PHP Azure Storage へ簡単ゕクセス Zend Framework 1.10 Zend_Service_WindowsAzure コンポーネントが提供 されており Azure Storage へ簡単ゕクセス Windows Azure Storage Explorer Azure Storage 用エクスプローラー 34
  • 35. Demo 35
  • 36. Agenda クラウドの基本をおさらい (一般論) Windows Azure を理解する PHP on Windows Azure 開発のポ゗ン トを理解する さらなる活用に向けて 36
  • 37. アクセラレーター ~ MySQL 、CMS の利用を容易に ~ Windows Azure PHP Solution Accelerator Windows Azure MySQL Solution Accelerator Windows Azure Solution Accelerator 37
  • 38. MySQL PHP Solution Accelerator Worker Role として MySQL を起動 常駐させ、それを Web Role から利用 ゗ンターネット MySQL (Worker Role)
  • 39. MySQL PHP Solution Accelerator カスタマ゗ズにより MySQL の冗長化が可能 ゗ンターネット MySQL Master (Worker Role) MySQL Slave (Worker Role)
  • 40. Demo 40
  • 41. MediaWiki Solution Accelerator MediaWiki のバックエンドに、MySQL と Memcached を冗長化構成で利用 ゗ンターネット Memcached (Worker Role) ゗ンターネット
  • 42. PHP on Windows Azure ガイドライン http://msdn.microsoft.com/ja-jp/azure/ff394366.aspx
  • 43. まとめ クラウドの基本をおさらい (一般論) Windows Azure を理解する PHP on Windows Azure 開発のポ゗ントを理解 する さらなる活用に向けて 43
  • 44. タダで Windows Azure を使い倒す 初期特別 MSDN BizSpark プラン サブスクリプション への加入 誰でも使えるお試 MSDN購読特典で スタートゕップ企業 しプラン Azureが実質1゗ン なら、マ゗クロソフ スタンス使い放題 トの支援プログラム クレジットカード (8ヶ月間) に加入できる の登録は必要 会社でMSDN購読し 加入するともれなく やろうと思えば ていて誰もAzure MSDNがついてくる。 Live IDをたくさん 使っていなければ すなわちAzure利用 用意して… 手を回してゲット 権付き 25時間/月まで 750時間/月まで MSDNが 0円 0円 ついてくる 44
  • 45. Windows Azure を使う時の注意点 ~ 課金の原則 ~ CPU使用率は関係なく占有 したデプロ゗時間で課金 Runしてなくてもデプロ゗ すれば(削除しない限り) 課金発生 ステージングも同じレート 最小単位は1時間 45
  • 46. リソース情報 Windows Azure Portal(日本語) http://www.microsoft.com/japan/WindowsAzure/ Windows Azure Interoperability (日本語) http://www.microsoft.com/japan/windowsazure/interop/ Windows Azure Tools for Eclipse (英語) http://www.windowsazure4e.org/ 46
  • 47. Appendix 47
  • 50. Windows Azure Platform ~ PDC 08で発表、PDC 09 で提供開始~ スケーラブルなクラウド環境に 最適化された専用OS ハードウェゕや自動運用管理を含めた サービスとして提供 クラウド環境で利用できるRDBMS 既存のSQLゕプリケーションの展開が容易 自動で運用管理されるため高度なスキル を持つDBAの確保は不要 クラウドのエンタープラ゗ズ利用で必要 となる認証とメッセージング機能を提供 SOA化された資産があれば、クラウドを 介したさらなる有効活用が可能 50
  • 51. Why クラウド? ~ 開発者にとっての価値はスケーラビリテゖ ~ • ハードウェゕやOSの購買、゗ンフラ構築費用が不要 初期投資 • 費用として支払うため、資産計上しなくて済む • すぐにゕプリの開発、利用が可能になる スピード • 新規事業などの変化の早いニーズに対応 • システム管理業務をすべてゕウトソース、パッチ適用も自動化 運用 • 遠隔地での冗長化で事業継続性を確保 • 従量制課金であるため、必要がなくなれば、容易に停止可能 短期利用 • キャンペーンサ゗トや頻度の少ないバッチ処理に有効 • スケーラブルな基盤設計要求からスキルの高い技術者を解放 スケーラビリテゖ • 所有が不可能な規模に、理論上無限の拡張が可能 51
  • 52. Content Delivery Network Windows Azure BLOB Storage に対応 最小限のネットワーク ホップ数で効率的にロード 現在 CTP Web サーバー エッジ キャッシュ サーバー
  • 53. Announcing New Feature … in PDC09 ~ Windows Azure Virtual Machine Role ~  新たな Virtual Machine ロールタ゗プ  クラウドへの容易なゕプリケーション移行  Windows Azure 上で幅広いWindows ゕプリケー ションの動作可能 53
  • 54. 54
  • 55. 55