1. Node.js on Windows Azure
Shiju Varghese
http://github.com/shijuvar
http://weblogs.asp.net/shijuvarghese/ 1
2. About Me
• Technical Architect at Cloud & Mobile COE,
Marlabs
• Microsoft MVP
• Focus on Cloud and Windows Azure
• Enthusiast on Agile/Lean
• Blogs at http://weblogs.asp.net/shijuvarghese
shiju.varghese@gmail.com @shijucv
http://github.com/shijuvar
http://weblogs.asp.net/shijuvarghese/ 2
3. Agenda
• Introduction to Node.js
• Demo on Node.js
• Node.js on Windows Azure
http://weblogs.asp.net/shijuvarghese/ 3
4. Case Study – LinkedIn iPad App
“On the server side, our entire mobile software
stack is completely built in Node. We use a ton
of technologies at LinkedIn, but for the mobile
server piece, it’s entirely Node-based”
Kiran Prasad,
Director of Engineering,
Mobile at LinkedIn
http://weblogs.asp.net/shijuvarghese/ 4
5. Result - LinkedIn iPad App
“The improvements the team saw were
staggering. They went from running 15 servers
with 15 instances (virtual servers) on each
physical machine, to just four instances that can
handle double the traffic. The capacity estimate
is based on load testing the team has done”
Kiran Prasad,
Director of Engineering,
Mobile at LinkedIn
Source : http://venturebeat.com/2011/08/16/linkedin-node/
http://weblogs.asp.net/shijuvarghese/ 5
6. Who are using Node.js
• LinkedIn
• Walmart
• ebay
• Yahoo
• Mozilla
• Rackspace Cloud
http://weblogs.asp.net/shijuvarghese/ 6
10. Node.js
• Started in 2009 by Ryan Dahl
• Sponsored by
• Second most popular project
on GitHub
http://weblogs.asp.net/shijuvarghese/ 10
11. NPM: Node.js Package Manager
• Package manager for node
• Npm command-line tool ships with Node.js
• Allows you to easily add modules to your
application
• 11,200 Node modules currently available
• Use through the command line:
http://weblogs.asp.net/shijuvarghese/ 11
12. Node.js is good for..
• Real-time, Collaborative Apps
• JSON based REST APIs
• Single Page Apps, Client-oriented Web UIs
• Custom network services
• Mobile Apps, Next-Gen HTML 5 Apps
• Network Apps
http://weblogs.asp.net/shijuvarghese/ 12
13. Node.js is not good for
• CPU-bound Apps
http://weblogs.asp.net/shijuvarghese/ 13
14. Node.js on Windows
• Native node.exe
• IISNode (https://github.com/tjanczuk/iisnode)
– a native IIS 7.x module that allows hosting of
node.js applications in IIS
• Most Node modules supported as is
• Performance on par with Linux
implementation
http://weblogs.asp.net/shijuvarghese/ 14
15. Windows Azure
http://weblogs.asp.net/shijuvarghese/ 15
16. NPM for Windows Azure
Node.js driver for Sql Server
Great Support for MongoDB
Windows Azure PowerShell for Node.js
Git, TFS, FTP
Web Matrix
Cloud9 IDE
http://weblogs.asp.net/shijuvarghese/ 16
17. Windows Azure Website
• Quick provisioning and deployment via FTP,
Git, TFS, WebDeploy
• ASP.NET, PHP, or node.js
• Shared but seamless upgrade to more
instances, dedicated
• Manage via portal or cross-platform
command-line tooling
• Free (up to 10 websites, shared)
http://weblogs.asp.net/shijuvarghese/ 17
18. DEMO
• Hello World Program
• Node.js Web App using Express and Jade
• Deploy Node.js App to Windows Azure Web
Site
http://weblogs.asp.net/shijuvarghese/ 18