Your SlideShare is downloading. ×
0
Windows Azure で LL 言語系 Web アプリケーション開発 はてな  田中 慎司 stanaka @ hatena.ne.jp http://d.hatena.ne.jp/stanaka/ http://twitter.com/...
アジェンダ <ul><li>Azure とは </li></ul><ul><ul><li>GAE/AWS と比較 </li></ul></ul><ul><li>試してみた </li></ul><ul><ul><li>Hello World 級 ...
スペック <ul><li>基本的に Linux 系 </li></ul><ul><ul><li>いわゆる  LAMP スタック </li></ul></ul><ul><ul><li>Linux, Apache, MySQL, Perl </li...
今日のテーマ <ul><li>LL 系言語エンジニアからの視点 </li></ul><ul><li>クラウドサービスでの Azure の位置付け </li></ul><ul><ul><li>Azure – AWS – GAE </li></ul...
Azure とは <ul><li>Microsoft によるクラウドサービス </li></ul><ul><ul><li>アプリケーションの動作サービス (Windows Azure) </li></ul></ul><ul><ul><li>ネッ...
Windows Azure <ul><li>Windows Azure Compute </li></ul><ul><ul><li>Web Role </li></ul></ul><ul><ul><li>Worker Role </li></u...
Role <ul><li>Web Role </li></ul><ul><ul><li>ウェブアプリケーション向け </li></ul></ul><ul><ul><li>IIS </li></ul></ul><ul><ul><li>.NET F...
Storage <ul><li>BLOB </li></ul><ul><ul><li>メディアイメージ </li></ul></ul><ul><ul><li>HTTP REST でアクセス </li></ul></ul><ul><li>Tabl...
Amazon Web Services <ul><li>EC2 </li></ul><ul><ul><li>IA サーバ環境を提供 </li></ul></ul><ul><ul><li>時間貸しレンタルサーバ </li></ul></ul><u...
Google Application Engine <ul><li>自動的にスケールする </li></ul><ul><li>柔軟なデータストア (BigTable) </li></ul><ul><li>サービス </li></ul><ul><...
Google Application Engine の制約 <ul><li>言語の制約 </li></ul><ul><ul><li>Python/Java のみ </li></ul></ul><ul><li>処理機能の制約 </li></ul>...
Windows Azure の特性 <ul><li>EC2 と GAE の中間 </li></ul><ul><ul><li>インスタンスは意識する </li></ul></ul><ul><ul><ul><li>ただし各インスタンスの直接制御はで...
開発環境 <ul><li>VisualStudio </li></ul><ul><ul><li>Microsoft Visual Web Developer 2008 Express Edition </li></ul></ul><ul><li...
Azure Platform Interoperability <ul><li>Windows Azure Tools for Eclipse </li></ul><ul><li>PHP / Java などとの Interoperability...
Azure の開発フロー <ul><li>Visual Studio / Eclipse で開発 </li></ul><ul><ul><li>ビルドも </li></ul></ul><ul><li>ローカルテスト環境にデプロイ </li></u...
LL 言語系 Web 屋から観点 <ul><li>.NET の世界 </li></ul><ul><ul><li>C# という言語がある </li></ul></ul><ul><li>IIS ってなんだ </li></ul><ul><ul><li...
Azure への期待 <ul><li>クラウドプレイヤーの増加 </li></ul><ul><ul><li>AWS vs GAE vs Azure </li></ul></ul><ul><ul><li>競争促進 </li></ul></ul><...
Azure の開発フロー (LL 言語向け ) <ul><li>Emacs / vi で開発 </li></ul><ul><li>コマンドラインでビルド </li></ul><ul><ul><li>IDE だとよく分からない </li></ul...
簡単な Azure アプリ /ProjectRoot/ WebRole/ index.html simple.csdef .. クラウド・サービス定義ファイル simple.cscfg .. クラウド・サービス構成ファイル
簡単な Azure アプリ <ul><li>simple.csdef  クラウド・サービス定義ファイル </li></ul><?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <...
簡単な Azure アプリ <ul><li>simple.cscfg  クラウド・サービス構成ファイル </li></ul><?xml version=&quot;1.0&quot;?> <ServiceConfiguration servic...
簡単な Azure アプリ <ul><li>index.html </li></ul><html> <head><title>Quick Sample</title></head> <body> This a quick sample. <br...
簡単な Azure アプリ <ul><li>ビルド </li></ul><ul><li>デプロイ </li></ul>>cspack simple.csdef /copyonly Windows(R) Azure(TM) Packaging T...
簡単な Azure アプリ <ul><li>開発環境にデプロイ </li></ul>
簡単な Azure アプリ <ul><li>動作 ! </li></ul>
簡単な Azure アプリ <ul><li>本番 </li></ul>
PHP on Azure <ul><li>PHP の言語処理系 (php.exe) を Azure 上に送りこむ </li></ul><ul><ul><li>ネイティブコードサポート ! </li></ul></ul>
PHP on Azure /ProjectRoot/ WebRole/ index.php web.config simple.csdef .. クラウド・サービス定義ファイル simple.cscfg .. クラウド・サービス構成ファイル
PHP on Azure <ul><li>phpsimple.csdef  クラウド・サービス定義ファイル </li></ul><?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?>...
PHP on Azure <ul><li>phpsimple.cscfg  クラウド・サービス構成ファイル </li></ul><?xml version=&quot;1.0&quot;?> <ServiceConfiguration serv...
PHP on Azure <ul><li>index.php </li></ul><html> <head><title>Hello World PHP</title></head> <body> <?php echo 'Today is '....
PHP on Azure <ul><li>web.config </li></ul><?xml version=&quot;1.0&quot;?> <configuration> <system.webServer> <handlers> <a...
PHP on Azure <ul><li>web.roleconfig </li></ul><?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> ...
PHP on Azure <ul><li>ビルド </li></ul><ul><li>デプロイ </li></ul>>cspack phpsimple.csdef /copyonly Windows(R) Azure(TM) Packaging...
PHP on Azure <ul><li>開発環境にデプロイ </li></ul>
PHP on Azure <ul><li>動作 ! </li></ul>
PHP & MySQL on Azure <ul><li>Windows Azure MySQL PHP Solution Accelerator </li></ul><ul><ul><li>http://code.msdn.microsoft...
PHP & MySQL on Azure <ul><li>Windows Azure MySQL PHP Solution Accelerator をダウンロード・展開 </li></ul><ul><li>PHP, MySQL, PHPMyAd...
MySQL を WorkerRole で動かす <ul><li>LocalStorage を定義  (ServiceDefinition.csdef) </li></ul><LocalResources> <LocalStorage name=...
MySQL を WorkerRole で動かす <ul><li>Wrapper で指定  (MySQLAccess.cs) </li></ul>public bool Start(int id) { try { string baseDir =...
PHP & MySQL on Azure
PHP & MySQL on Azure
Mediawiki on Azure <ul><li>Windows Azure Mediawiki MySQL Solution Accelerator </li></ul><ul><ul><li>http://code.msdn.micro...
Mediawiki on Azure <ul><li>memcached を動かす </li></ul><ul><ul><li>MySQL と同様に Worker Role + C# の Wrapper </li></ul></ul>prote...
Mediawiki on Azure
その他  Ruby on Rails on Azure <ul><li>FastCGI 対応のものは動かせる </li></ul><ul><ul><li>Ruby on Rails も </li></ul></ul><ul><ul><li>ht...
まとめ <ul><li>Azure を試してみた </li></ul><ul><ul><li>LL 系言語アプリも十分動かせる </li></ul></ul><ul><li>Amazon EC2 の対抗として十分なポテンシャルがありそう </l...
Upcoming SlideShare
Loading in...5
×

Using Windows Azure

3,898

Published on

Putting PHP Application, MySQL, Mediawiki on Windows Azure

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,898
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
22
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Using Windows Azure"

  1. 1. Windows Azure で LL 言語系 Web アプリケーション開発 はてな 田中 慎司 stanaka @ hatena.ne.jp http://d.hatena.ne.jp/stanaka/ http://twitter.com/stanaka/
  2. 2. アジェンダ <ul><li>Azure とは </li></ul><ul><ul><li>GAE/AWS と比較 </li></ul></ul><ul><li>試してみた </li></ul><ul><ul><li>Hello World 級 </li></ul></ul><ul><ul><li>PHP on Azure </li></ul></ul><ul><ul><li>PHP & MySQL on Azure </li></ul></ul><ul><ul><li>Mediawiki on Azure </li></ul></ul>
  3. 3. スペック <ul><li>基本的に Linux 系 </li></ul><ul><ul><li>いわゆる LAMP スタック </li></ul></ul><ul><ul><li>Linux, Apache, MySQL, Perl </li></ul></ul><ul><ul><li>IDE は使わない </li></ul></ul><ul><li>Windows との接点 </li></ul><ul><ul><li>メインのノート PC は Windows </li></ul></ul><ul><ul><li>VB, C# は知っている </li></ul></ul><ul><ul><li>COM コンポーネントは一度書いたことがある </li></ul></ul><ul><ul><ul><li>VisualStudio </li></ul></ul></ul>
  4. 4. 今日のテーマ <ul><li>LL 系言語エンジニアからの視点 </li></ul><ul><li>クラウドサービスでの Azure の位置付け </li></ul><ul><ul><li>Azure – AWS – GAE </li></ul></ul><ul><li>Azure の勘所 </li></ul><ul><ul><li>とりあえず動かしてみる </li></ul></ul>
  5. 5. Azure とは <ul><li>Microsoft によるクラウドサービス </li></ul><ul><ul><li>アプリケーションの動作サービス (Windows Azure) </li></ul></ul><ul><ul><li>ネットワークサービス (.NET Services) </li></ul></ul><ul><ul><li>クラウドの RDB(SQL Azure) </li></ul></ul>
  6. 6. Windows Azure <ul><li>Windows Azure Compute </li></ul><ul><ul><li>Web Role </li></ul></ul><ul><ul><li>Worker Role </li></ul></ul><ul><li>Windows Azure Storage </li></ul><ul><ul><li>BLOB </li></ul></ul><ul><ul><li>Table </li></ul></ul><ul><ul><li>Queue </li></ul></ul><ul><ul><li>Drive </li></ul></ul>
  7. 7. Role <ul><li>Web Role </li></ul><ul><ul><li>ウェブアプリケーション向け </li></ul></ul><ul><ul><li>IIS </li></ul></ul><ul><ul><li>.NET Framework </li></ul></ul><ul><li>Worker Role </li></ul><ul><ul><li>バッチ処理向け </li></ul></ul><ul><ul><ul><li>普通の TCP 通信もできる </li></ul></ul></ul><ul><ul><li>.NET Framework </li></ul></ul>
  8. 8. Storage <ul><li>BLOB </li></ul><ul><ul><li>メディアイメージ </li></ul></ul><ul><ul><li>HTTP REST でアクセス </li></ul></ul><ul><li>Table </li></ul><ul><ul><li>BigTable 的 DB </li></ul></ul><ul><li>Queue </li></ul><ul><ul><li>メッセージキュー </li></ul></ul><ul><li>Drive( 未リリース ?) </li></ul><ul><ul><li>NTFS ドライブ </li></ul></ul>
  9. 9. Amazon Web Services <ul><li>EC2 </li></ul><ul><ul><li>IA サーバ環境を提供 </li></ul></ul><ul><ul><li>時間貸しレンタルサーバ </li></ul></ul><ul><li>ストレージ </li></ul><ul><ul><li>S3 </li></ul></ul><ul><ul><li>CloudFront </li></ul></ul><ul><li>サービス </li></ul><ul><ul><li>Elastic Block Storage </li></ul></ul><ul><ul><li>Relational Database Service </li></ul></ul><ul><ul><li>SimpleDB </li></ul></ul><ul><ul><li>Simple Queue Service </li></ul></ul>
  10. 10. Google Application Engine <ul><li>自動的にスケールする </li></ul><ul><li>柔軟なデータストア (BigTable) </li></ul><ul><li>サービス </li></ul><ul><ul><li>URL フェッチ </li></ul></ul><ul><ul><li>メール </li></ul></ul><ul><ul><li>Memcache </li></ul></ul><ul><ul><li>画像操作 </li></ul></ul><ul><ul><li>cron </li></ul></ul><ul><ul><li>XMPP 通信 </li></ul></ul>
  11. 11. Google Application Engine の制約 <ul><li>言語の制約 </li></ul><ul><ul><li>Python/Java のみ </li></ul></ul><ul><li>処理機能の制約 </li></ul><ul><ul><li>サーブレットによる 30 秒以上を要するリクエスト処理 </li></ul></ul><ul><ul><li>サーブレットによるレスポンス送出時のデータストリーミング </li></ul></ul><ul><ul><li>ファイルシステムへの書き込み </li></ul></ul><ul><ul><li>外部サーバーへのソケット接続 </li></ul></ul><ul><li>VM 機能の制約 </li></ul><ul><ul><li>スレッド生成 </li></ul></ul><ul><ul><li>ガベージコレクション実行やシステム停止 </li></ul></ul><ul><ul><li>カスタムクラス・ローダの利用 </li></ul></ul>
  12. 12. Windows Azure の特性 <ul><li>EC2 と GAE の中間 </li></ul><ul><ul><li>インスタンスは意識する </li></ul></ul><ul><ul><ul><li>ただし各インスタンスの直接制御はできない </li></ul></ul></ul><ul><ul><li>.NET が基本だが、ネイティブアプリも動作 </li></ul></ul><ul><ul><ul><li>C/C++ のコードも動く </li></ul></ul></ul><ul><ul><ul><li>言語処理系を上げてしまえば、なんでも動く !! </li></ul></ul></ul><ul><ul><ul><li>MySQL/memcached も動く </li></ul></ul></ul>
  13. 13. 開発環境 <ul><li>VisualStudio </li></ul><ul><ul><li>Microsoft Visual Web Developer 2008 Express Edition </li></ul></ul><ul><li>Eclipse </li></ul><ul><li>Azure SDK </li></ul>
  14. 14. Azure Platform Interoperability <ul><li>Windows Azure Tools for Eclipse </li></ul><ul><li>PHP / Java などとの Interoperability にも注力 </li></ul><ul><ul><li>http://www.microsoft.com/windowsazure/interop/ </li></ul></ul>
  15. 15. Azure の開発フロー <ul><li>Visual Studio / Eclipse で開発 </li></ul><ul><ul><li>ビルドも </li></ul></ul><ul><li>ローカルテスト環境にデプロイ </li></ul><ul><li>Azure にデプロイ </li></ul><ul><ul><li>Staging で確認 </li></ul></ul><ul><ul><li>Prodution に展開 </li></ul></ul>
  16. 16. LL 言語系 Web 屋から観点 <ul><li>.NET の世界 </li></ul><ul><ul><li>C# という言語がある </li></ul></ul><ul><li>IIS ってなんだ </li></ul><ul><ul><li>Internet Information Services </li></ul></ul><ul><li>IDE に抵抗がある </li></ul><ul><ul><li>統合開発環境 </li></ul></ul><ul><ul><li>Eclipse / Visual Studio </li></ul></ul>
  17. 17. Azure への期待 <ul><li>クラウドプレイヤーの増加 </li></ul><ul><ul><li>AWS vs GAE vs Azure </li></ul></ul><ul><ul><li>競争促進 </li></ul></ul><ul><li>ロックインの排除 </li></ul><ul><ul><li>アプリレイヤーとクラウドレイヤーの疎結合化 </li></ul></ul><ul><ul><li>Azure は、 GAE ほど極端ではない </li></ul></ul>
  18. 18. Azure の開発フロー (LL 言語向け ) <ul><li>Emacs / vi で開発 </li></ul><ul><li>コマンドラインでビルド </li></ul><ul><ul><li>IDE だとよく分からない </li></ul></ul>
  19. 19. 簡単な Azure アプリ /ProjectRoot/ WebRole/ index.html simple.csdef .. クラウド・サービス定義ファイル simple.cscfg .. クラウド・サービス構成ファイル
  20. 20. 簡単な Azure アプリ <ul><li>simple.csdef クラウド・サービス定義ファイル </li></ul><?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <ServiceDefinition name=&quot;Simple&quot; xmlns=&quot;http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition&quot;> <WebRole name=&quot;WebRole&quot;> <ConfigurationSettings> </ConfigurationSettings> <InputEndpoints> <!-- Must use port 80 for http and port 443 for https when running in the cloud --> <InputEndpoint name=&quot;HttpIn&quot; protocol=&quot;http&quot; port=&quot;80&quot; /> </InputEndpoints> </WebRole> </ServiceDefinition>
  21. 21. 簡単な Azure アプリ <ul><li>simple.cscfg クラウド・サービス構成ファイル </li></ul><?xml version=&quot;1.0&quot;?> <ServiceConfiguration serviceName=&quot;Simple&quot; xmlns=&quot;http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration&quot;> <Role name=&quot;WebRole&quot;> <Instances count=&quot;1&quot;/> <ConfigurationSettings> </ConfigurationSettings> </Role> </ServiceConfiguration>
  22. 22. 簡単な Azure アプリ <ul><li>index.html </li></ul><html> <head><title>Quick Sample</title></head> <body> This a quick sample. <br /> <img alt=&quot;Sample Photo&quot; src=&quot;photo.jpg&quot; /> </body> </html>
  23. 23. 簡単な Azure アプリ <ul><li>ビルド </li></ul><ul><li>デプロイ </li></ul>>cspack simple.csdef /copyonly Windows(R) Azure(TM) Packaging Tool version 1.0.0.0 for Microsoft(R) .NET Framework 3.5 Copyright (c) Microsoft Corporation. All rights reserved. >csrun simple.csx simple.cscfg Windows(R) Azure(TM) Desktop Execution Tool version 1.0.0.0 for Microsoft(R) .NET Framework 3.5 Copyright (c) Microsoft Corporation. All rights reserved. Using session id 1 Created deployment(34) Started deployment(34) Deployment input endpoint HttpIn of role WebRole at http://127.0.0.1:82/
  24. 24. 簡単な Azure アプリ <ul><li>開発環境にデプロイ </li></ul>
  25. 25. 簡単な Azure アプリ <ul><li>動作 ! </li></ul>
  26. 26. 簡単な Azure アプリ <ul><li>本番 </li></ul>
  27. 27. PHP on Azure <ul><li>PHP の言語処理系 (php.exe) を Azure 上に送りこむ </li></ul><ul><ul><li>ネイティブコードサポート ! </li></ul></ul>
  28. 28. PHP on Azure /ProjectRoot/ WebRole/ index.php web.config simple.csdef .. クラウド・サービス定義ファイル simple.cscfg .. クラウド・サービス構成ファイル
  29. 29. PHP on Azure <ul><li>phpsimple.csdef クラウド・サービス定義ファイル </li></ul><?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <ServiceDefinition name=&quot;phpsimple&quot; xmlns=&quot;http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition&quot;> <WebRole name=&quot;WebRole&quot; enableNativeCodeExecution=&quot;true“ > <ConfigurationSettings> </ConfigurationSettings> <InputEndpoints> <!-- Must use port 80 for http and port 443 for https when running in the cloud --> <InputEndpoint name=&quot;HttpIn&quot; protocol=&quot;http&quot; port=&quot;80&quot; /> </InputEndpoints> </WebRole> </ServiceDefinition>
  30. 30. PHP on Azure <ul><li>phpsimple.cscfg クラウド・サービス構成ファイル </li></ul><?xml version=&quot;1.0&quot;?> <ServiceConfiguration serviceName=&quot;phpsimple&quot; xmlns=&quot;http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration&quot;> <Role name=&quot;WebRole&quot;> <Instances count=&quot;1&quot;/> <ConfigurationSettings> </ConfigurationSettings> </Role> </ServiceConfiguration>
  31. 31. PHP on Azure <ul><li>index.php </li></ul><html> <head><title>Hello World PHP</title></head> <body> <?php echo 'Today is '. date('Y-m-d') .&quot; &quot;; ?> </body> </html>
  32. 32. PHP on Azure <ul><li>web.config </li></ul><?xml version=&quot;1.0&quot;?> <configuration> <system.webServer> <handlers> <add name=&quot;FastCGIHandler&quot; verb=&quot;*&quot; path=&quot;*.php&quot; scriptProcessor=&quot;%RoleRoot%approotPHPphp-cgi.exe&quot; modules=&quot;FastCgiModule&quot; resourceType=&quot;Unspecified&quot; /> </handlers> <defaultDocument> <files> <add value=&quot;index.php&quot;/> </files> </defaultDocument> </system.webServer> </configuration>
  33. 33. PHP on Azure <ul><li>web.roleconfig </li></ul><?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <configuration> <system.webServer> <fastCgi> <application fullPath=&quot;%RoleRoot%approotPHPphp-cgi.exe&quot; /> </fastCgi> </system.webServer> </configuration>
  34. 34. PHP on Azure <ul><li>ビルド </li></ul><ul><li>デプロイ </li></ul>>cspack phpsimple.csdef /copyonly Windows(R) Azure(TM) Packaging Tool version 1.0.0.0 for Microsoft(R) .NET Framework 3.5 Copyright (c) Microsoft Corporation. All rights reserved. >csrun phpsimple.csx phpsimple.cscfg Windows(R) Azure(TM) Desktop Execution Tool version 1.0.0.0 for Microsoft(R) .NET Framework 3.5 Copyright (c) Microsoft Corporation. All rights reserved. Using session id 1 Created deployment(32) Started deployment(32) Deployment input endpoint HttpIn of role WebRole at http://127.0.0.1:82/
  35. 35. PHP on Azure <ul><li>開発環境にデプロイ </li></ul>
  36. 36. PHP on Azure <ul><li>動作 ! </li></ul>
  37. 37. PHP & MySQL on Azure <ul><li>Windows Azure MySQL PHP Solution Accelerator </li></ul><ul><ul><li>http://code.msdn.microsoft.com/winazuremysqlphp </li></ul></ul><ul><li>MySQL </li></ul><ul><ul><li>php.exe に加え、 mysql.exe も送りこむ </li></ul></ul><ul><ul><li>Worker Role で mysql のインスタンスを起動させる </li></ul></ul>
  38. 38. PHP & MySQL on Azure <ul><li>Windows Azure MySQL PHP Solution Accelerator をダウンロード・展開 </li></ul><ul><li>PHP, MySQL, PHPMyAdmin などを詰め込む </li></ul><ul><li>ディレクトリ構成 </li></ul>
  39. 39. MySQL を WorkerRole で動かす <ul><li>LocalStorage を定義 (ServiceDefinition.csdef) </li></ul><LocalResources> <LocalStorage name=&quot;InstMgrLocalStorage&quot; sizeInMB=&quot;75&quot; cleanOnRoleRecycle=&quot;false&quot; /> <LocalStorage name=&quot;MySQL&quot; sizeInMB=&quot;75&quot; cleanOnRoleRecycle=&quot;false&quot; /> <LocalStorage name=&quot;MySQLDatastore&quot; sizeInMB=&quot;122880&quot; cleanOnRoleRecycle=&quot;false&quot; /> <LocalStorage name=&quot;BlobBackup&quot; sizeInMB=&quot;2&quot; cleanOnRoleRecycle=&quot;false&quot; /> </LocalResources>
  40. 40. MySQL を WorkerRole で動かす <ul><li>Wrapper で指定 (MySQLAccess.cs) </li></ul>public bool Start(int id) { try { string baseDir = RoleEnvironment.GetLocalResource(&quot;MySQL&quot;).RootPath.Replace('apos;, '/'); string dataDir = RoleEnvironment.GetLocalResource(&quot;MySQLDatastore&quot;).RootPath.Replace('apos;, '/'); string blobDir = RoleEnvironment.GetLocalResource(&quot;BlobBackup&quot;).RootPath.Replace('apos;, '/'); … File.Copy(&quot;my.ini&quot;, iniFile, true); //update teh my.ini file with mysql server details UpdateMyIni(iniFile, baseDir, dataDir, port, id.ToString());
  41. 41. PHP & MySQL on Azure
  42. 42. PHP & MySQL on Azure
  43. 43. Mediawiki on Azure <ul><li>Windows Azure Mediawiki MySQL Solution Accelerator </li></ul><ul><ul><li>http://code.msdn.microsoft.com/winazuremediawiki </li></ul></ul><ul><ul><li>基本的には、 Windows Azure MySQL PHP Solution Accelerator と同等 </li></ul></ul>
  44. 44. Mediawiki on Azure <ul><li>memcached を動かす </li></ul><ul><ul><li>MySQL と同様に Worker Role + C# の Wrapper </li></ul></ul>protected void RunMemcached() { IPEndPoint endpoint = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints[&quot;memcached&quot;].IPEndpoint; string cacheSize = RoleEnvironment.GetConfigurationSettingValue(&quot;CacheSizeInMB&quot;); string arguments = &quot;-m &quot; + cacheSize + &quot; -l &quot; + endpoint.Address + &quot; -p &quot; + endpoint.Port; ProcessStartInfo startInfo = new ProcessStartInfo(); … try { using (Process exeProcess = Process.Start(startInfo)) { exeProcess.WaitForExit();
  45. 45. Mediawiki on Azure
  46. 46. その他 Ruby on Rails on Azure <ul><li>FastCGI 対応のものは動かせる </li></ul><ul><ul><li>Ruby on Rails も </li></ul></ul><ul><ul><li>http://rubyonrails.cloudapp.net </li></ul></ul>
  47. 47. まとめ <ul><li>Azure を試してみた </li></ul><ul><ul><li>LL 系言語アプリも十分動かせる </li></ul></ul><ul><li>Amazon EC2 の対抗として十分なポテンシャルがありそう </li></ul><ul><li>ただし、もうすこし UNIX-like な開発環境があると親和性が高くなる </li></ul><ul><ul><li>OSX な開発者もいるので .. </li></ul></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×