Tech Talk: Getting to Know Node.js
Gabriel Underwood
DevOps: Agile Ops
CA Technologies
Director, Software Engineering
DO5T43T
@GabrielUnderwoo
#CAWorld
2 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
© 2015 CA. All rights reserved. All trademarks referenced herein belong to their respective companies.
The content provided in this CA World 2015 presentation is intended for informational purposes only and does not form any type of
warranty. The information provided by a CA partner and/or CA customer has not been reviewed for accuracy by CA.
For Informational Purposes Only
Terms of this Presentation
3 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Abstract Enterprise adoption of Node.js is on the rise because it is great for mobile applications and can accelerate time to market. That and its event-driven architecture is ideal for any real-time Web application where throughput and scalability are critical. What should ops teams know before a Node.js application is deployed into production? What are the operational challenges that come with Node.js applications and how are they different than Java™ applications? Join this session for a quick intro into what Node.js is, how it works differently+E5 and what business problems it solves.
Gabriel Underwood
CA Technologies
Director, Software Engineering
4 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Agenda
WHAT IS NODE.JS?
WHY HAS IT BECOME POPULAR?
INSIDE NODE.JS
WHAT ARE THE NEW OPS CHALLENGES?
HOW CA APM CAN HELP
1
2
3
4
5
6
5 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
What is Node.js?
6 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Fills a specific growing need
10K User Problem– Huge number of simultaneous connections with high throughput
– Non-blocking, event-driven IO
Scalable intermediary between device and data
Glue to assemble other data sources– Lightweight and efficient for distributed data
Lets UI developers not have to wait for Java backend team…
7 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
SilverApigee
Codefresh
DigitalOcean
Fidelity Investments
Groupon
nearForm
NPM
SAP
Sauce Labs
Strongloop
YLD!
Platinum
Famo.us
IBM
Intel
Joyent
Microsoft
PayPal
Redhat
Gold
GoDaddy
Modulus
Nodesource
Node.js Foundation
8 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Why is Node.js Popular?
9 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Why is Node.js Popular?
10 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
End to End Visibility
WAN Router Firewall Switch Web Servers
Load Balancer Portal
SAP
CRM
REST/SOAP
Webservices
3rd Party Applications
Databases
Service Bus
Database
Mainframe
Why is Node.js Popular? Enterprise Applications don’t look like this anymore…
App Server
11 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
End to End Visibility
WAN Router Firewall Switch Web Servers
Load Balancer
CRM
Why is Node.js Popular? Native Mobile Clients, Single Page Applications, Microservices!
12 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Node Event Loop
13 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Common Architectures & Deployments
REST APIs used by a separate UI tier
Often Stateless!– User session state held in a separate cache
Many stateless processes share a common stateful backend
Lots of processes per machine
14 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Framework Diversity
VS
Java JEE Spring
Microsoft .NETASP.NET ASP.NET MVC
ADO.NET
Express
Loopback
Koa
Hapi
Sails
…
15 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Operations Challenges
Coding Problems
Tooling
Deployment Surprises
Cultural attitudes towards change control
16 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Leaks!
17 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Blocking
Time
Long Task
Long Task Completes
Next task
Delayed!
Node.js
18 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Tooling
19 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
End to End VisibilityDeployment Surprise - Shared Resource Contention
Stateless Processes
Common Shared State(DB, MQ,Cache)
App A App B App C
20 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Cultural Changes
Systems Programmers
Extensive Change Control
Big infrequent releases
“Beta” program, near end
Test automation culture
Web Developers
Commit into Prod(!)
Deploy daily
A/B testing in prod, always
Test in the browser culture
21 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Node.js is another tool
Event Loop
JavaScript Simple, but lacking…
Perfect for I/O, bad for blocking
Single-threaded MultiCore
Asynchronous Callback Hell
22 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
SummaryA Few Words to Review
Big Changes with Node in Datacenter
Node in the datacanter brings operational challenges with new tools and technologies but also of cultural changes involving “web development speeds” into traditional application management. Complex, rapidly changing deployments are the standard.
23 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Recommended Sessions
SESSION # TITLE DATE/TIME
DO5X237L:Hands-On Lab: Managing and Monitoring Node.js Made
Easy with CA Application Performance Management11/19/2015 at 2:00 pm
DO5X194SMonitor Microservices, Containers, Cloud Foundry and
Node with CA Application Performance Management11/18/2015 at 4:30 pm
DO5X193S
Customize CA Application Performance Management
with Tips for Using the CA Application Performance
Management Open APIs
11/19/2015 at 4:30 pm
24 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Must See Demos
Application Performance Management and DevOps, featuring APM use in preproduction scenarios
Application Performance Management
Theater 5
Application Performance Management, Modern Monitoring, featuring the new APM Team Center
Application Performance Management
Theater 5
Ensuring a “5 star” mobile app experience with CA Mobile App Analytics
Mobile App Analytics
Theater 5
Unified Monitoring: APM Integrations including UIM
Application Performance Management
Theater 5
25 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
Q & A
26 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD
For More Information
To learn more, please visit:
http://cainc.to/Nv2VOe
CA World ’15