Node.js In The Enterprise - A Primer

10,090 views
10,960 views

Published on

As per the trends captured in the job market from the year and the technology popularity , the usage of node.js is set to take off this year to a whole new level. This blog is an insight into understanding node.js. Touch points from ground up covering the basics of the platform to advanced use cases will be covered. The key features across the different facets around building enterprise application with node.js will be covered. Interesting use cases will be discussed on how this powerful technology is being used across the globe. The targeted audience can range from intermediate to advanced developers who would like to learn and employ the technology, architects to use it effectively for solutioning and sales team who can leverage the advantages of the technology in proposing quicker time to market like never before.

Published in: Technology

Node.js In The Enterprise - A Primer

  1. 1. Node.js in the Enterprise – A Primer Naveen.S.R
  2. 2. Agenda • Trends • Refresher • W’s of Node.js • Node.js In the Enterprise • Case Study • Take Away • Drawing Some Inspiration • What is in it for me?
  3. 3. Trends
  4. 4. Trends
  5. 5. Trends
  6. 6. Trends
  7. 7. Refresher
  8. 8. Refresher • Download: http://nodejs.org
  9. 9. Refresher • Hello World Demo
  10. 10. W’s of Node.js
  11. 11. W’s of Node.js • “Node.js is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications.” • http://en.wikipedia.org/wiki/V8_(JavaScript_e ngine) • Building Blocks – JavaScript rich support , – High performance of V8 , – The system abstraction which follows from Unix What is Node.js?
  12. 12. Why Node.js ? • “Node.js uses an event driven, non- blocking I/0 model that makes it lightweight and efficient, perfect for data- intensive real time applications that run across distributed devices.” W’s of Node.js
  13. 13. Node.js – Non-blocking • Demo on non-blocking model of node.js W’s of Node.js
  14. 14. Node.js - Web sockets • Provides the capability to build real time apps • Zero lag • To N number of clients • Demo of a Chat Application W’s of Node.js
  15. 15. Node.js - Protocols • HTTP • TCP W’s of Node.js
  16. 16. Node.js In the Enterprise
  17. 17. Node.js – The Development • Express • Connect • Passport • Restler • Mongoose • Jade • AMQP • Socket.io
  18. 18. Node.js - The Debugging • Log4js • Node-inspector • Bunyan logging
  19. 19. Node.js – CI and Deployment • Grunt – • Minification of JS, CSS, HTML, Images • Unit testing using Node Unit ,node mock and super test for routes • JS and CSS Hint for code quality • Automating Server start ups • Automating Deployments • Automating Development Tasks using Watcher • Demo Time For Grunt
  20. 20. Scaling and Monitoring • NGINX • Nodejitsu/Heroku (PaS) • Strongloop • Nodetime • Forver/NSSM
  21. 21. Nodetime – Process/CPU Time
  22. 22. Nodetime - Process/CPU Usage
  23. 23. Nodetime – File System / Average Response
  24. 24. Nodetime - File System / Average Response
  25. 25. Nodetime – CPU Profiler
  26. 26. Nodetime - Alerts
  27. 27. Case Study
  28. 28. Messaging Layer Application Connectivity Layer Business Process Layer Interface Layer Kiosk Mobile Devices Email Portal Apps Portal TMS Unix Windows Mongo Couch SQL SOAP XML J2EE COM CMS JMS RMQ HBase
  29. 29. Case Study - Architecture • Translation Management System
  30. 30. Client Side: HTML(5), JS, CSS3, AJAX, JSON, JQuery WebPres Layer: Node.js, ExpressJS, Jade, Stylus, MultiPart, Restler, Socket.IO REST Services: WCF(.NET), Node.js, Elastic Search Infrastructure:Deployment,Logging(log4js),Caching, Security,Auditing,… Website Mobile Messaging: RabbitMQ MongoDB MS/SQL (dROS) CouchDB Static and Dynamic Phrase Management Rich Search Sourcing Reporting Administration
  31. 31. Take Away
  32. 32. Nodes Myth • Don’t use for static assets • Avoid Synchronous code • CPU heavy apps • Forward migration on versions • Debugging memory leaks, division to chunks.
  33. 33. Take Away • The ability to build fast parallel processing web application with cutting edge technologies such as node.js and html5 technologies. • Set of constraints node imposes on coders and what it enables. You can jump into node not knowing many of the big words and avoid pitfalls. • The design concepts to provide user based screen workflows. • Platform independent development – same code base has been tested on Windows, Linux and Cloud with absolutely no change.
  34. 34. Drawing some inspiration …
  35. 35. Drawing some inspiration … • Linked In has the entire server side for the mobile software stack in node.js • Yahoo using it to build a platform along side YUI for publishers. • Mozzilla working off to build a browser id concept to login once and avoid login to multiple other sites and apps • Load testing tools are built by Mozzilla to simulate users • iTV guide apps built as a service using node.js for AOL TV and so on.
  36. 36. Drawing some inspiration … • Social Networking – Storify app for journalists • Live feeds and Shapaboo with a concept of joint shopping culture • Centralized Document management apps • Evacuation Apps in case of natural disaster • app to convert website data to support across mobile • Lifestyle apps being built • Humming bird • CMS
  37. 37. Drawing some inspiration … • Crawlers are being written in node.js • Observer product built on node.js • Golf – 22 it is • Big Data and Node.js
  38. 38. What is in it for me?
  39. 39. What’s in it for me?
  40. 40. Questions? HTTP://IN.LINKEDIN.COM/IN/NEWNAVEEN15

×