本を読む

読書やコンピュータなどに関するメモ

Windows AzureでPHPを動かす話を聞いてきた

 7月16日に、マイクロソフトのWeb技術系イベントReMIX Tokyo 09が開催されました。中でも、PHPコミュニティの人がWindows AzureでPHPを動かした話をするということで、「Silverlight + PHP(FastCGI)+ Windows Azure で作る初めてのクラウド アプリケーション~初めてクラウド アプリケーションを作成するあなたにお届けする渾身の 60 分~」というセッションを聞いてきました。

 既存のWebアプリを移植するときに、RDBMSっぽいインターフェイスに対応しているというのが、Azureの売りのひとつのようですね。

 以下、メモ。

開田文雄(マイクロソフト)

  • Windows Azure Platform
    • 最近変更になった名前。旧Azure Services Platform
  • 単体ではない
    • Windows Azure
    • SQL Azure(旧SQL Services)
      • 1st releaseではDB本体のみ
      • BI、レポーティングもいずれ
    • .NET Services
      • アクセスコントロール、サービスバス
    • LiveServices
      • あとから(秋)提供予定
      • Liveの機能を提供
      • アイデンティティ、連絡先など
  • DCの構成
    • ホスティング
    • ストレージ
      • ファイルシステムとして提供されるのではない
    • ファブリックコントローラー
      • サーバーやアプリケーションを管理
      • インスタンスを増やすには、管理ポータルから定義ファイルをファブリックコントローラーに送り込む
    • ユーザーはハードウェアを意識することはない
      • アプリケーションだけ意識すればいい
  • SQL Azure
    • SQL (TDS):表形式
      • SQLServerと同じに使える
    • いままでのアプリの接続先を換えるだけで、SQL Azureに対応できる
    • ちょっと前はRESTかSOAPで、key-value storageだけだった
      • ユーザーからの要望が多かったので変更した
  • プログラミング
  • 開発
    • FastCGIでPHP、Python、Ruby、Javaが使える
    • Visual Studio
  • デバッグ
    • Azure SDK
      • Azureをエミュレート
  • デプロイ、運用
  • 管理ポータル
    • 管理は可能なかぎり自動化
  • Visual Studio
    • クラウドテンプレート
    • Webアプリケーションのプロジェクト
    • Silverlightのプロジェクトを追加してみる
    • Development StorageでSQL Azureをエミュレート
      • 2GBまでの制限
    • デプロイ
      • 発行ボタンで、パッケージが作られる(.cspkg、.ccscfg)
      • ポータルからアップロード
      • Staging(テストサイト)とProduction(公開サイト)
  • 秋のPDCごろにリリース
    • それまでは無料で使える
  • Visual StudioのWeb Developers Edition(無償)でも開発できる
  • Windows Serverとの違い
  • サービスアーキテクチャ
    • Webサーバーとアプリケーションの間の通信
      • ここの設計を間違えるとスケールしない
    • Webロール(Webサーバー)とWorkerロール(アプリケーションサーバー)
      • ストレージサービスを介してキューで非同期に通信
      • ロールごとにスケールアウトできる(インスタンス数を変えられる)
  • Windows Azureストレージ
    • 上のストレージサービスはインスタンスごとの一時的なもの
  • 永続的なデータ
    • ブロブ
      • バイナリデータ
    • テーブル
      • スキーマレスの表形式
      • レコードごとにカラムを変えられる
      • ブロブより粒度の細かいデータ
      • レコードごとにサーバーを変えられる
      • これがあるのでSQL AzureはSQLにした
    • キュー
      • メッセージ交換
      • REST
      • 秘密鍵で署名したメッセージのみ
  • デモ: http://www.asp.net/ に転がっているアプリをAzureに
  • アプリがASP.NETのプロバイダーモデルに対応しているので楽
  • 変更は1か所に
    • AzureStorageを読むように
    • ReadAndValidateXmlメソッドを変更
    • BlobStorage.create()
    • GetBlobContainer()
  • ついでに日本語に
  • ストレージ
  • http://www.codeplex.com/ にコードが
    • xmlを変更

亀本大地(アシアル/日本PHPユーザ会)

  • PHP on Windows Azure
  • PHPのメリット
    • 数多くの良質なオープンソースアプリケーションが存在する
    • 資産を活用
  • PHPをWindows Serverで使うメリット
    • *nixに比べると実績は少ない
    • が、プラットフォームを統一できる
  • Azureのメリット
    • 管理労力・コストの削減
      • LinuxとWindowsの両方の面倒をみたりする必要がない
      • プラットフォームの面倒をみなくていい
    • Webアプリケーションのことだけ考えればいい
    • SQL Azure
      • クラウドでRDBMSを使える
  • SDK上でやってみる
  • ツール
    • VS 2008
    • Azure SDK
    • Azure Tools for Microsoft Visual Studio
    • Windows版PHP(Non Thread Safe)
  • デモ
  • Visual Studio
  • クラウドテンプレートからプロジェクト
  • Webロールを追加
    • Cgi Web Role
  • FastCGIに必要なファイルが生成される
    • ServicesDefinition.csdefを開く
      • enavleNativeCodeExecution="true"
    • Web.config
      • system.webserverのFastCGIの設定
      • 拡張子php、scriptProcessorにphp-cgi
    • Web.roleconfig
      • php-cgi
  • PHPのバイナリをつっこむ
    • VSでphp.iniをコンテンツ扱いに
  • phpinfo()が動いた
  • PukiWikiを動かしてみた
    • あまりいじらないで動いた
  • 移植のチェックポイント
  • Linuxと変わる点
    • .htaccessの設定
      • web.configに書きかえる。だいたいできる
      • TechNet参照
    • PHPのCGI設定
      • cgi.force_redicect = 0
  • Amazon、Google、Azureの比較
    • Amazon:OS管理は自分で。ほか2者とサービスのレイヤーが違う
    • Google:SLAなし

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://emasaka.blog65.fc2.com/tb.php/639-2936ee79

 | HOME | 

Categories

Recent Entries

Recent Comments

Recent Trackbacks

Appendix

emasaka

emasaka

フリーター。
連絡先はこのへん

Monthly


FC2Ad