Contenu connexe Similaire à A 2-1 gitwebmatrix 2 から使う node.js on windows azure (20) A 2-1 gitwebmatrix 2 から使う node.js on windows azure2. 自己紹介
• JAZUG メンバー
• 森島 政人 (もりしま まさひと)
• 研究開発職
共著ですが書籍の執筆もしました
が、わずか半年ほどで内容が・・・
クラウド系書籍の執筆はキケンですが、
開発者としてエキサイティングでもあります
2
3. セッションの目的
• Node.js が Windows Azure 上で割と簡単に動作
→ Webサイト
• Azure ストレージ、サービスバスも利用可
→ Azure SDK for Node.js
• 開発環境も用意されている
→ WebMatrix2
• Linux からも使える
→ Command Line Tools
3
6. Node.jsとは
• サーバサイド JavaScript (Google V8)
– イベントループ
– ノンブロッキングI/Oモデル
– シングルスレッド
• Windows ネイティブ対応 v0.6 ~
最新版 2012/6/26 v0.8 リリース
• npm で 拡張モジュールも楽々インストール
CPAN/RubyGems/Nuget みたいなもの
6
7. 簡単なサンプル
• どんなリクエストにも Hello World と応答する
有名な HTTP サーバーサンプル
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World¥n');
}).listen(1337, '127.0.0.1');
console.log('Server running at
http://127.0.0.1:1337/');
7
9. ご参考
• Windows Developer Day 2012
SP-018 Node.js を利用した
Web アプリケーション開発
• 以下にて、スライド・動画が公開中
• http://channel9.msdn.com/Events/Speakers/k
oichi-kobayashi
9
11. Windows Azure とは
• マイクロソフトが提供する PaaS
今回 IaaS も増えましたが...
• Node.js から 扱えるものたち
クラウドサービス
• Web ロール BLOB サービスバス
• Worker ロール
テーブル
Web サイト
キュー
Azure ストレージ 11
12. AzureのNode.jsサポート
• 2011/11 November Release
– Windows Azure SDK for Node.js
– PowerShell Cmdlets
– Cloud9 IDE
• 2012/06 Spring Release
– Webサイト Gitサポート
– Webサイト Command Line Tools
– Webサイト WebMatrix2
12
13. 関連ツールの整理
ツール名 概要 動作環境
SDK for Node.js Node モジュール Node.js
• ストレージ
• サービスバス
PowerShell Cmdlets クラウドサービス Windows
• Web ロール
• Worker ロール
Command Line Tool Web サイト (に特化) Linux/MacOS
Node.js のスクリプト Windows
…
WebMatrix2 簡易開発環境(IDE) Windows
Webサイト連携 13
15. PowerShell Cmdlets
• クラウドサービス用
> New-AzureServiceProject ProjectName
> Add-AzureNodeWebRole WebRole1
> Add-AzureNodeWorkerRole WorkerRole1
> ...
> Start-AzureEmulator -Launch
> Get-Help node-dev
15
16. Git サポート
• Git(ギット) 分散リポジトリ
• Linux カーネルのソース管理が目的
• GitHub が有名
• Azure SDK も GitHub 上で公開
https://github.com/WindowsAzure
• Web サイトで Git からの発行をサポート
Git Logo by Jason Long is licensed under the Creative Commons Attribution 3.0 Unported License. 16
22. Git 操作
• リポジトリの初期化、作成、 追加
• リモートリポジトリの設定、Push
> git init
> git add .
> git commit . -m"initial version"
> git remote add azure
https://xxx@yyy.scm.azurewebsites.net/yyy.git
> git push azure master
22
26. Command Line Tool
• Linux/MacOS から利用可能なCLIツール
• 実際は Node.js で書かれたものなので
Windowsからも実行可能
• WebサイトとVirtual Machineに特化
• エミュレータなどは当然なし
26
27. 最新版をいれる(Ubuntu)
• 標準リポジトリの nodejs は古いので注意
ツールインストール時にエラー
とはいえ、v0.8.1 リリース されたので、この方法ではv0.8が入っ
てしまい、SDKが未対応(昨日までは大丈夫でしたが)
• 現時点では、v0.6.19のtarballからmakeしたほうが無難です
> sudo apt-get install python-software-properties
> sudo apt-add-repository ppa:chris-lea/node.js
> sudo apt-get update
> sudo apt-get install nodejs[=version] npm
参考URL: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager
27
29. Command Line Tool
• 証明書の作成~インポート
• Web サイトの作成 ~ GitによるPush
> azure account download
> azure account import Azure-XXX.publishsettings
> azure site create SiteName –git
> ...
> git push azure master
> ...
> azure site list
> azure site show/start/stop/delete ...
29
39. ローカル実行
• IIS Express
• 複数ブラウザ対応
– IE
– Chrome
– FireFox
– WP7 (要エミュレータ)
39
42. コード補完 (IntelliSence)
• コード補完が効く!
• ただし補完が効く範囲が? 正式版に期待
• 試した限りだと標準モジュール(例:http)とか利かず
• 紹介ページだと効くようにみえるのだが...
• RC版では修正が必要(次ページ)
42
44. デバッグサポート
• 拡張機能から 「Node Power Tools」をインストール
• node-inspector による デバッグ
• ブラウザは Chrome に限定
• npm install node-inspector -g
44
46. 参考)Azure上での実行方式
• Web ロール、Webサイト上の Node.exe は
IIS 上で動作している
• iisnode モジュールが提供
• 他のコンテンツと同居が可能
• URLリライトルールは、Web.configを参照
• WebSocketは使えない
• Workerロールは Node.exe セルフホスト
46
48. まとめ
• Windows Azure 上で Node.js が動作
• 特に Web サイトとの相性が良い
• ストレージ、サービスバスも利用可能
• 適材適所!
• 開発情報は以下のURLから!
• https://www.windowsazure.com/en-
us/develop/nodejs/
48