26
Tech Talk: Getting to Know Node.js Gabriel Underwood DevOps: Agile Ops CA Technologies Director, Software Engineering DO5T43T @GabrielUnderwoo #CAWorld

Tech Talk: Getting to Know Node.js

Embed Size (px)

Citation preview

Page 1: Tech Talk: Getting to Know Node.js

Tech Talk: Getting to Know Node.js

Gabriel Underwood

DevOps: Agile Ops

CA Technologies

Director, Software Engineering

DO5T43T

@GabrielUnderwoo

#CAWorld

Page 2: Tech Talk: Getting to Know Node.js

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

Page 3: Tech Talk: Getting to Know Node.js

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

Page 4: Tech Talk: Getting to Know Node.js

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

Page 5: Tech Talk: Getting to Know Node.js

5 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

What is Node.js?

Page 6: Tech Talk: Getting to Know 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…

Page 7: Tech Talk: Getting to Know Node.js

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

Page 8: Tech Talk: Getting to Know Node.js

8 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Why is Node.js Popular?

Page 9: Tech Talk: Getting to Know Node.js

9 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Why is Node.js Popular?

Page 10: Tech Talk: Getting to Know Node.js

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

Page 11: Tech Talk: Getting to Know Node.js

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!

Page 12: Tech Talk: Getting to Know Node.js

12 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Node Event Loop

Page 13: Tech Talk: Getting to Know Node.js

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

Page 14: Tech Talk: Getting to Know Node.js

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

Page 15: Tech Talk: Getting to Know Node.js

15 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Operations Challenges

Coding Problems

Tooling

Deployment Surprises

Cultural attitudes towards change control

Page 16: Tech Talk: Getting to Know Node.js

16 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Leaks!

Page 17: Tech Talk: Getting to Know Node.js

17 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Blocking

Time

Long Task

Long Task Completes

Next task

Delayed!

Node.js

Page 18: Tech Talk: Getting to Know Node.js

18 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Tooling

Page 19: Tech Talk: Getting to Know Node.js

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

Page 20: Tech Talk: Getting to Know Node.js

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

Page 21: Tech Talk: Getting to Know Node.js

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

Page 22: Tech Talk: Getting to Know Node.js

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.

Page 23: Tech Talk: Getting to Know Node.js

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

Page 24: Tech Talk: Getting to Know Node.js

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

Page 25: Tech Talk: Getting to Know Node.js

25 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Q & A

Page 26: Tech Talk: Getting to Know Node.js

26 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

For More Information

To learn more, please visit:

http://cainc.to/Nv2VOe

CA World ’15