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