Pm2 pres

2 838 vues

Publié le

https://github.com/Unitech/pm2 slides at NodeJS Paris 14/11/2013

Publié dans : Technologie
0 commentaire
4 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 838
Sur SlideShare
0
Issues des intégrations
0
Intégrations
628
Actions
Partages
0
Téléchargements
11
Commentaires
0
J’aime
4
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Pm2 pres

  1. 1. WHO AM I ? Alexandre Strzelewicz • Étudiant Epitech • “Full stack developer” • Éternel créateur • http://apps.hemca.com
  2. 2. SOMMAIRE 1. PM2 2. L’impact d’un projet OpenSource 3. Perspectives futures
  3. 3. SHANGHAI
  4. 4. TAKE OFF PHASE • Entreprise WiredCraft – Devo.ps • Message bus, Process management • Deployer du Node en production • Simple, magique ?
  5. 5. CONTEXTE
  6. 6. CLUSTERING • Javascript est mono thread • Utilise un CPU • “Clusterizer” l’application Node • Utilise tous les CPUs • Load balance de requêtes (stateless) • Amélioration de X fois la capacité de traitement
  7. 7. PROCESS MANAGEMENT • Node-forever seul outil disponible • En production pouvoir • • • • Monitorer Garder en vie Intéragir Logger • Process important
  8. 8. OPEN SOURCE • Redonner à la communauté • Inciter au partage • Recevoir des feedbacks
  9. 9. LE GRAND MIX • Cluster • Rendre le javascript plus performant • Process management • Gérer les processus de façon élègante • Open Source • Redonner à la communauté
  10. 10. HACKER NEWS Blog Post « Goodbye node-forever, hello PM2 » • 70,000 visites en 3 heures • Intérêt de la part des développeurs Node
  11. 11. SOMMAIRE 1. PM2 2. L’impact d’un project OpenSource 3. Perspectives futures
  12. 12. PM2 PM2 est une solution complète pour gérer, mettre en ligne et monitorer vos applications NodeJS
  13. 13. PM2 FEATURES
  14. 14. DAEMONIZATION $ pm2 start app.js • Lance pm2 • Met en arrière plan le processus et le garde en vie
  15. 15. CLUSTERING $ pm2 start app.js –i max • Duplique le processus en fonction du nombre de CPU • Utilise le module Cluster de NodeJS
  16. 16. MONITORING $ pm2 monit
  17. 17. MONITORING $ pm2 monit
  18. 18. PROCESS LISTING $ pm2 list
  19. 19. PROCESS LISTING $ pm2 list
  20. 20. STARTUP SCRIPTS $ pm2 startup
  21. 21. 0S DOWNTIME RELOAD $ pm2 reload all • Laisse les processus terminer leurs traitements en cours • Crée de nouveaux processus • Dispatch les nouvelles requetes vers les nouveaux processus
  22. 22. API $ pm2 web • Expose la consommation CPU, RAM de chaque processus
  23. 23. INTERFACE $ npm install pm2-interface --save pm2-interface • Expose pm2 localement • Permet : • Capter les messages emis par les programmes • Capter les changements d’états • Capter les exceptions https://github.com/Unitech/pm2-interface
  24. 24. ARCHITECTURE God, Satan et les autres
  25. 25. TESTS & • Travis utilisé pour l’intégration continue • Offre gratuite pour les projets OpenSource • Test sur Node 0,8 - 0,10 - 0,11 • ~100 tests bash + unitaires
  26. 26. DEPENDENCY STATUS YOU DEPEND ON OTHER PROJECTS. YOU WANT TO STAY UP TO DATE. DAVID'S GOT YOUR BACK. david-dm.org
  27. 27. DEMO
  28. 28. OPEN SOURCE & STATS God, Satan et les autres
  29. 29. GITHUB • + 1800 stars • + 40 pull requests • Googlers, Russes, Français…
  30. 30. BITDELI – 10/13
  31. 31. BITDELI – 11/13
  32. 32. NPM STATS https://nodei.co/
  33. 33. TWITTER
  34. 34. WHAT’S NEXT
  35. 35. SAAS DASHBOARD • Grâce à pm2-interface • Créer un service SaaS • • • • Remonter les exceptions Monitorer les processus et le serveur Afficher les logs Contrôller les processus
  36. 36. EPITECH HUB CLOUD Un PaaS à la Heroku OPEN SOURCE ! MUAHHAH !
  37. 37. SPONSORS
  38. 38. 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

×