javascript everywhereeverywhere... · browser node.js application database io threads nodes...

Post on 19-Oct-2019

23 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Daniel KhanTechnology Strategist at Dynatrace@dkhan

JavaScript Everywhere

2 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

3 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

1980 20001995 2005 2010 2015

Stakeholders

4 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Frontend Middleware Backend

5 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE5

The FrontendA funny bag of stuff

6 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

7 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

8 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

9 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Make your choice!

11 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

12 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Event Handling

DOM Manipulation

Data Binding

JavaScript Frameworks provide

14 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

To every action there is

always opposed an equal

reaction: or the mutual

actions of two bodies upon

each other are always

equal, and directed to

contrary parts.

Sir Isaac Newton

15 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

A simple jQuery Example#button

jQuery start

Click Event Handler

Ajax Call

Callback

16 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Add to Cart

sendToServer()

updateDom()

17 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE17

Why should I care?

18 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Add to Cart

19 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

20 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE20

How to Monitor?UEM

21 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

22 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

∆Action ... Reaction

23 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

24 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

25 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

27 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

28 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE28

The MiddlewareA crash course to Node.js

32 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

33 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

34 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

So it’s the next Ruby on Rails, right?

36 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Foundation

37 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

38 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Who uses it?

39 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

40 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Eran Hammer

41 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

42 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

A “Hello World” Node.js web “application”

43 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Node.js is …

… a C++ Program controlled by V8 JavaScript

44 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

46 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

47 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE47

Understanding the Event Loop

48 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

DatabaseBrowser Java Application

Traditional approach

49 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

DatabaseBrowser Node.js Application

IO Threads

Nodes approach

51 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Blocking vs. Non-Blocking

PHP

Node.js

52 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Node.js is a long running process

53 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE53

How to Monitor

54 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

55 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Complete visibility through all tiers

Frontend Middleware Backend

56 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE56

Node.js in Ruxit

57 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

58 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

59 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE59

Node.js Roadmap• Memory Metrics

• Process Metrics

• Deeper Insights

• CPU Sampling

60 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE60

Questions?Daniel Khandaniel.khan@dynatrace.com

http://apmblog.dynatrace.com/author/daniel-khan/

@dkhan

61 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Daniel Khan | daniel.khan@dynatrace.com

@dkhan

62 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015

Persona Icons – For your use

Recolor these icons as

needed to match

Dynatrace brand

colors. PictureTools/Format/Color

Customer Conversion

Fanatic

for

Digital Business

Owners

Deployment-obsessed

Releasearaptor

for

Development

War Room

Peacemaker

for

Operations

63 COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE #Perform2015COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE

top related