PHP on Windows Azure

Post on 28-May-2015

676 views 0 download

Transcript of PHP on Windows Azure

1

マイクロソフト株式会社 デベロッパー エバンジェリスト 井上大輔 (daisukei@microsoft.com) 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) 周期的な使用増

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

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

旅行サト

時間

トラフィック

12

(3) 急速な成長

時間

トラフィック

13

(3) 急速な成長

ベンチャー企業の SaaS

部門内利用から全社利用への展開

時間

トラフィック

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 MySQL SQL Server

Apache IIS

従来の サーバー プラットフォーム

VMware ESX Server

Windows Hyper-V

PHP アプリ

自社内、ホステゖングなど

PHP アプリ

Worker Role (MySQL)

Web Role (IIS) ※ Fast CGI サポート

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

Windows Azure プラットフォーム

Azure Drive

Azure Storage NTFS 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.exe Windows Azure SDK のコマンド

Visual Studio Windows Azure Tools for Microsoft Visual Studio

Eclipse Windows 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 PHP Azure Storage へ簡単ゕクセス

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

Windows Azure Storage Explorer Azure 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

Appendix

48

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

49

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

50

Windows Azure Platform ~ PDC 08で発表、PDC 09 で提供開始~

スケーラブルなクラウド環境に 最適化された専用OS

ハードウェゕや自動運用管理を含めた サービスとして提供

クラウド環境で利用できるRDBMS

既存のSQLゕプリケーションの展開が容易

自動で運用管理されるため高度なスキルを持つDBAの確保は不要

クラウドのエンタープラズ利用で必要となる認証とメッセージング機能を提供

SOA化された資産があれば、クラウドを 介したさらなる有効活用が可能

51

Why クラウド? ~ 開発者にとっての価値はスケーラビリテゖ ~

•ハードウェゕやOSの購買、ンフラ構築費用が不要

•費用として支払うため、資産計上しなくて済む 初期投資

•すぐにゕプリの開発、利用が可能になる

•新規事業などの変化の早いニーズに対応 スピード

•システム管理業務をすべてゕウトソース、パッチ適用も自動化

•遠隔地での冗長化で事業継続性を確保 運用

•従量制課金であるため、必要がなくなれば、容易に停止可能

•キャンペーンサトや頻度の少ないバッチ処理に有効 短期利用

•スケーラブルな基盤設計要求からスキルの高い技術者を解放

•所有が不可能な規模に、理論上無限の拡張が可能 スケーラビリテゖ

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 ゕプリケーションの動作可能

54

55