21
http://getkeymetrics.com/

Keymetrics pm2

Embed Size (px)

DESCRIPTION

PM2 NodeJS process manager & http://getkeymetrics.com

Citation preview

Page 1: Keymetrics pm2

http://getkeymetrics.com/

Page 2: Keymetrics pm2

http://getkeymetrics.com/

Who am I?

Alexandre STRZELEWICZ

• Unitech/PM2 initiator

• Technology entrepreneur

• Epitech graduate

• FullStack Javascript developer

Page 3: Keymetrics pm2

http://getkeymetrics.com/https://github.com/Unitech/pm2

Page 4: Keymetrics pm2

http://getkeymetrics.com/

What is PM2 ?

• Production Runtime for NodeJS made easy• Fail safe

• Performance with ease

• Free (AGPLv3)

• For IaaS / Dedicated / VPC

• OpenSource on GitHub: https://github.com/Unitech/pm2

https://github.com/Unitech/pm2

Page 5: Keymetrics pm2

http://getkeymetrics.com/

What is PM2, technically ?

Daemon / Background

Software scaling

JSON app declaration

Restart on change

Forever alive

Auto reboot

Monitoring

https://github.com/Unitech/pm2

Page 6: Keymetrics pm2

http://getkeymetrics.com/

Hello World

$ npm install pm2 –g

$ pm2 start app.js

Executed on background

Kept alive

$ pm2 list

https://github.com/Unitech/pm2

Page 7: Keymetrics pm2

http://getkeymetrics.com/

PM2, numbers ?

• 3680+ stars on

• 15,000 downloads per month• All over the world

• 40+ contributors

• 600+ commits

• 370+ days iteration

• 300+ tests

https://github.com/Unitech/pm2

Page 8: Keymetrics pm2

http://getkeymetrics.com/https://github.com/Unitech/pm2

NEXT STEPS“The best thing about the future isthat it comes only one day at a time.”

Page 9: Keymetrics pm2

http://getkeymetrics.com/

(v0,9)

Page 10: Keymetrics pm2

http://getkeymetrics.com/

What’s Next? (v0,9)

https://github.com/Unitech/pm2

Deployment built-in

Initialize:$ pm2 deploy setup production

Deploy:$ pm2 deploy production

Revert:$ pm2 deploy revert [n]

Execute on server:$ pm2 deploy run XXX

Page 11: Keymetrics pm2

http://getkeymetrics.com/

What’s Next? (v0,9)

• PM2 Keep alive dedicated process

• Programmatic API

• Node harmony flag enabled by default

• Better documentation

Feature freeze

It’s getting more and more professional and powerful (reaching v1,0)

https://github.com/Unitech/pm2

Page 12: Keymetrics pm2

http://getkeymetrics.com/https://github.com/Unitech/pm2

Page 13: Keymetrics pm2

http://getkeymetrics.com/

What is Keymetrics

Monitoring service that listens to PM2

You use test to

avoid functional regression

Keymetrics offers you a way to

avoid performance regression

Page 14: Keymetrics pm2

http://getkeymetrics.com/

How it works

• PM2 daemon sends metrics about your apps• Data is ciphered in AES256 with pub/priv keys

Keymetrics stores and classifies data to give you a clear overview of what’s going on

Page 15: Keymetrics pm2

http://getkeymetrics.com/

Metrics / Features

Multi server overview

Server monitoring

WS/HTTP/TCP analytics

Error tracking

Alerts / Weekly reports

Memory Leak detection

CPU/Memory profiling

Page 16: Keymetrics pm2

http://getkeymetrics.com/

Linking the dots

Page 17: Keymetrics pm2

http://getkeymetrics.com/

Science & Metrics

• Time frame between deployment• Get metrics timeframe summary for every past

deployment and know performance / error / computation evolution and compare

Every time you will deploy new code you will get a performance diff report

Page 18: Keymetrics pm2

http://getkeymetrics.com/

Smarter data

• Big data processing• So many monitoring data, applying Big data

processing will provide you blazing reports

• Know when, why and where a performance regression happened• Commit revision

Page 19: Keymetrics pm2

http://getkeymetrics.com/

Goal: Fullstack system

Production NodeJS runtime

Simple deployment system

App Performance management

Performance regression detection

Page 20: Keymetrics pm2

http://getkeymetrics.com/https://github.com/Unitech/pm2

MVP DEMO

Page 21: Keymetrics pm2

http://getkeymetrics.com/

Thankshttps://github.com/Unitech/pm2

http://getkeymetrics.com/

Keymetrics teamAlexandre StrzelewiczJeremy Boissinot