https://github.com/Unitech/pm2 slides at NodeJS Paris 14/11/2013
Text of Pm2 pres
WHO AM I ? Alexandre Strzelewicz tudiant Epitech Full stack developer ternel crateur http://apps.hemca.com
SOMMAIRE 1. PM2 2. Limpact dun projet OpenSource 3. Perspectives futures
SHANGHAI
TAKE OFF PHASE Entreprise WiredCraft Devo.ps Message bus, Process management Deployer du Node en production Simple, magique ?
CONTEXTE
CLUSTERING Javascript est mono thread Utilise un CPU Clusterizer lapplication Node Utilise tous les CPUs Load balance de requtes (stateless) Amlioration de X fois la capacit de traitement
PROCESS MANAGEMENT Node-forever seul outil disponible En production pouvoir Monitorer Garder en vie Intragir Logger Process important
OPEN SOURCE Redonner la communaut Inciter au partage Recevoir des feedbacks
LE GRAND MIX Cluster Rendre le javascript plus performant Process management Grer les processus de faon lgante Open Source Redonner la communaut
HACKER NEWS Blog Post Goodbye node-forever, hello PM2 70,000 visites en 3 heures Intrt de la part des dveloppeurs Node
PM2 PM2 est une solution complte pour grer, mettre en ligne et monitorer vos applications NodeJS
PM2 FEATURES
DAEMONIZATION $ pm2 start app.js Lance pm2 Met en arrire plan le processus et le garde en vie
CLUSTERING $ pm2 start app.js i max Duplique le processus en fonction du nombre de CPU Utilise le module Cluster de NodeJS
MONITORING $ pm2 monit
MONITORING $ pm2 monit
PROCESS LISTING $ pm2 list
PROCESS LISTING $ pm2 list
STARTUP SCRIPTS $ pm2 startup
0S DOWNTIME RELOAD $ pm2 reload all Laisse les processus terminer leurs traitements en cours Cre de nouveaux processus Dispatch les nouvelles requetes vers les nouveaux processus
API $ pm2 web Expose la consommation CPU, RAM de chaque processus
INTERFACE $ npm install pm2-interface --save pm2-interface Expose pm2 localement Permet : Capter les messages emis par les programmes Capter les changements dtats Capter les exceptions https://github.com/Unitech/pm2-interface
ARCHITECTURE God, Satan et les autres
TESTS & Travis utilis pour lintgration continue Offre gratuite pour les projets OpenSource Test sur Node 0,8 - 0,10 - 0,11 ~100 tests bash + unitaires
DEPENDENCY STATUS YOU DEPEND ON OTHER PROJECTS. YOU WANT TO STAY UP TO DATE. DAVID'S GOT YOUR BACK. david-dm.org
SAAS DASHBOARD Grce pm2-interface Crer un service SaaS Remonter les exceptions Monitorer les processus et le serveur Afficher les logs Contrller les processus
EPITECH HUB CLOUD Un PaaS la Heroku OPEN SOURCE ! MUAHHAH !
SPONSORS
THANK YOU (: PM2 https://github.com/Unitech/pm2 Alexandre Strzelewicz @Unitech sur Github @fr.linkedin.com/in/alexandrestrzelewicz @http://apps.hemca.com/ ancien portfolio strzelewicz.alexandre@gmail.com