SlideShare uma empresa Scribd logo
1 de 14
intro 1/2


• Au début du web on faisait des pages

• Puis on s'est mis à faire des sites

• Maintenant on fait des plate-formes
intro 2/2

Désormais, le site web est une partie de l'infra…



… et bien souvent, c'est la partie emergée de
l'iceberg
En synchrone



• On est bézu baisé
En asynchrone
• monitorer la dispo de vos ressources CPU (=workers);
• lancer une tâche quand un worker se libère;
• surveiller si la tâche se termine (et si elle se termine
  bien…);
• en cas de problème, réessayer ou alerter.


D’où le besoin pour un gestionnaire de file d'attentes =
Message Queue dans la langue de Shakespeare.
En Python
• Celery : la plus connue
• rq : alternative light
• bindings Python à ØMQ : construisez votre
  propre gestionnaire !
• pleins d'autres projets (Mozilla en a mis
  plusieurs en OSS)
Celery 1/3
• A commencé comme une app django
• Désormais autonome (mais toujours une intégration
  avec django=dj-celery)
• Gros projet, énormément de fonctionnalités out-of-
  box : c'est un framework à lui tout seul
• Nombreux backends (RabbitMQ, redis, Mongo,
  MySQL…)
Celery 2/3
• Le gros pb : toutes les fonctionnalités ne sont pas dispo avec tous
   les backends !!
• Choisir un backend, c'est éventuellement se couper de plein de
   fonctionnalités…
• Le backend (RMQ) recommandé est loin d'être le plus efficace :
    – Impossible de réessayer une tâche qui a plantée;
    – Pas de gestion des priorités;
• Le code évolue beaucoup et vite : c'est bien mais ça peut vous
   amener à réécrire pas mal de code juste pour suivre les
   changements de Celery
Celery 3/3
Un framework:

• Comme tous les frameworks, requiert du temps
  pour bien le maîtriser

• Bien lire la doc, notamment le tableau qui liste
  les options dispo en fonction des backends

• Peut être arrivé un peu tôt.
rq

• Plus simple

• Doc minimaliste (mais il y a moins à dire)

• Redis est le broker

• Unix only

• Taillé pour Heroku et les services similaires
ØMQ



ØMG ! ØMG !! ØMG !!!
Do It Yourself


• Plus simple qu'on ne le croit !

• Tout est disponible dans Python avec gevent
  et redis
Monitorer

• Attention aux features, mais c'est pas le plus
  important.

• Coder c'est 25% du temps, le plus long, c'est
  de monitorer !
Questions

Mais conteúdo relacionado

Mais procurados

JRuby: l'alliance de Ruby avec Java
JRuby: l'alliance de Ruby avec JavaJRuby: l'alliance de Ruby avec Java
JRuby: l'alliance de Ruby avec JavaCyrille Bonnet
 
Développer et déployer une application php maintenable
Développer et déployer une application php maintenableDévelopper et déployer une application php maintenable
Développer et déployer une application php maintenableLeTesteur
 
Paris JUG Spring Batch
Paris JUG Spring BatchParis JUG Spring Batch
Paris JUG Spring BatchOlivier BAZOUD
 
Chtijug springbatch 2011
Chtijug springbatch 2011Chtijug springbatch 2011
Chtijug springbatch 2011Olivier BAZOUD
 
EventMachine
EventMachineEventMachine
EventMachineLeTesteur
 
PHP : écrire et déployer des applications maintenables !
PHP : écrire et déployer des applications maintenables !PHP : écrire et déployer des applications maintenables !
PHP : écrire et déployer des applications maintenables !Microsoft
 
Comment automatiser la supervision avec Puppet ?
Comment automatiser la supervision avec Puppet ?Comment automatiser la supervision avec Puppet ?
Comment automatiser la supervision avec Puppet ?Aurélie Henriot
 
Réu technodejs
Réu technodejsRéu technodejs
Réu technodejsnaholyr
 
Frameworks : A history of violence
Frameworks : A history of violenceFrameworks : A history of violence
Frameworks : A history of violenceFrancois Zaninotto
 
Migration de Tomcat vers Vert.x
Migration de Tomcat vers Vert.xMigration de Tomcat vers Vert.x
Migration de Tomcat vers Vert.xFlorianBoulay
 
Présentation de nodejs
Présentation de nodejsPrésentation de nodejs
Présentation de nodejs13p
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptKhalid Jebbari
 
2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.jsTelecomValley
 

Mais procurados (19)

JRuby: l'alliance de Ruby avec Java
JRuby: l'alliance de Ruby avec JavaJRuby: l'alliance de Ruby avec Java
JRuby: l'alliance de Ruby avec Java
 
Rails 3 au Djangocong
Rails 3 au DjangocongRails 3 au Djangocong
Rails 3 au Djangocong
 
Développer et déployer une application php maintenable
Développer et déployer une application php maintenableDévelopper et déployer une application php maintenable
Développer et déployer une application php maintenable
 
Paris JUG Spring Batch
Paris JUG Spring BatchParis JUG Spring Batch
Paris JUG Spring Batch
 
Chtijug springbatch 2011
Chtijug springbatch 2011Chtijug springbatch 2011
Chtijug springbatch 2011
 
EventMachine
EventMachineEventMachine
EventMachine
 
PHP : écrire et déployer des applications maintenables !
PHP : écrire et déployer des applications maintenables !PHP : écrire et déployer des applications maintenables !
PHP : écrire et déployer des applications maintenables !
 
Présentation de Node.js
Présentation de Node.jsPrésentation de Node.js
Présentation de Node.js
 
Comment automatiser la supervision avec Puppet ?
Comment automatiser la supervision avec Puppet ?Comment automatiser la supervision avec Puppet ?
Comment automatiser la supervision avec Puppet ?
 
SdE 6 - Planification
SdE 6 - PlanificationSdE 6 - Planification
SdE 6 - Planification
 
Réu technodejs
Réu technodejsRéu technodejs
Réu technodejs
 
Frameworks : A history of violence
Frameworks : A history of violenceFrameworks : A history of violence
Frameworks : A history of violence
 
Spring Batch ParisJUG
Spring Batch ParisJUG Spring Batch ParisJUG
Spring Batch ParisJUG
 
Migration de Tomcat vers Vert.x
Migration de Tomcat vers Vert.xMigration de Tomcat vers Vert.x
Migration de Tomcat vers Vert.x
 
Présentation de nodejs
Présentation de nodejsPrésentation de nodejs
Présentation de nodejs
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js
 
Vert.x 3
Vert.x 3Vert.x 3
Vert.x 3
 
ALF1 - Introduction
ALF1 - IntroductionALF1 - Introduction
ALF1 - Introduction
 

Destaque

Direction Ressources Humaines à temps partagé
Direction Ressources Humaines à temps partagéDirection Ressources Humaines à temps partagé
Direction Ressources Humaines à temps partagéAtlays
 
Projet Babel Métal
Projet Babel MétalProjet Babel Métal
Projet Babel Métal0596957s
 
Ana 159 164
Ana  159 164Ana  159 164
Ana 159 164Privada
 
Arxtech Touch Monitors English
Arxtech Touch Monitors EnglishArxtech Touch Monitors English
Arxtech Touch Monitors EnglishArxtech Canada
 
Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...
Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...
Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...TransparenciaporColombia
 
Dissertation_de_DIH-final
Dissertation_de_DIH-finalDissertation_de_DIH-final
Dissertation_de_DIH-finalKinseyGrumbach
 
Etude de cas e-réputation - Groupe 4
Etude de cas e-réputation - Groupe 4Etude de cas e-réputation - Groupe 4
Etude de cas e-réputation - Groupe 4Christophe Blazquez
 
Histoire de Prudence
Histoire de PrudenceHistoire de Prudence
Histoire de PrudencePierreSnaet
 
100 tâches à effectuer pour réussir votre référencement google
100 tâches à effectuer pour réussir votre référencement google100 tâches à effectuer pour réussir votre référencement google
100 tâches à effectuer pour réussir votre référencement googleludovic barthélémy
 
Unid 4 act 3 carmen indira velez
Unid 4 act 3 carmen indira velezUnid 4 act 3 carmen indira velez
Unid 4 act 3 carmen indira velezcarivfi
 
La Veille de Né Kid Du 08 04 10 : les nonos
La Veille de Né Kid Du 08 04 10 : les nonosLa Veille de Né Kid Du 08 04 10 : les nonos
La Veille de Né Kid Du 08 04 10 : les nonosNé Kid
 
Coloriage de Noël www.coloriageonline.com
Coloriage de Noël www.coloriageonline.comColoriage de Noël www.coloriageonline.com
Coloriage de Noël www.coloriageonline.comGifig Mania
 
Conférence GEFCO CEREZA Value Chain Execution
Conférence GEFCO CEREZA Value Chain ExecutionConférence GEFCO CEREZA Value Chain Execution
Conférence GEFCO CEREZA Value Chain ExecutionTalan Consulting
 
Arxtech Canada Line card v3
Arxtech Canada Line card v3Arxtech Canada Line card v3
Arxtech Canada Line card v3Arxtech Canada
 
Le manifeste du parler-vrai
Le manifeste du parler-vraiLe manifeste du parler-vrai
Le manifeste du parler-vraiWe FEED
 

Destaque (20)

Révision
Révision   Révision
Révision
 
Direction Ressources Humaines à temps partagé
Direction Ressources Humaines à temps partagéDirection Ressources Humaines à temps partagé
Direction Ressources Humaines à temps partagé
 
Projet Babel Métal
Projet Babel MétalProjet Babel Métal
Projet Babel Métal
 
Imagenes de escher
Imagenes de escherImagenes de escher
Imagenes de escher
 
Ana 159 164
Ana  159 164Ana  159 164
Ana 159 164
 
Arxtech Touch Monitors English
Arxtech Touch Monitors EnglishArxtech Touch Monitors English
Arxtech Touch Monitors English
 
licence-aes-2016-2017
licence-aes-2016-2017licence-aes-2016-2017
licence-aes-2016-2017
 
Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...
Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...
Práctica XII: Factura y guía de atención al cliente en sistema braille Gas Na...
 
Dissertation_de_DIH-final
Dissertation_de_DIH-finalDissertation_de_DIH-final
Dissertation_de_DIH-final
 
Etude de cas e-réputation - Groupe 4
Etude de cas e-réputation - Groupe 4Etude de cas e-réputation - Groupe 4
Etude de cas e-réputation - Groupe 4
 
Txusart
TxusartTxusart
Txusart
 
Histoire de Prudence
Histoire de PrudenceHistoire de Prudence
Histoire de Prudence
 
100 tâches à effectuer pour réussir votre référencement google
100 tâches à effectuer pour réussir votre référencement google100 tâches à effectuer pour réussir votre référencement google
100 tâches à effectuer pour réussir votre référencement google
 
Unid 4 act 3 carmen indira velez
Unid 4 act 3 carmen indira velezUnid 4 act 3 carmen indira velez
Unid 4 act 3 carmen indira velez
 
La Veille de Né Kid Du 08 04 10 : les nonos
La Veille de Né Kid Du 08 04 10 : les nonosLa Veille de Né Kid Du 08 04 10 : les nonos
La Veille de Né Kid Du 08 04 10 : les nonos
 
Coloriage de Noël www.coloriageonline.com
Coloriage de Noël www.coloriageonline.comColoriage de Noël www.coloriageonline.com
Coloriage de Noël www.coloriageonline.com
 
Conférence GEFCO CEREZA Value Chain Execution
Conférence GEFCO CEREZA Value Chain ExecutionConférence GEFCO CEREZA Value Chain Execution
Conférence GEFCO CEREZA Value Chain Execution
 
Amabilidad
AmabilidadAmabilidad
Amabilidad
 
Arxtech Canada Line card v3
Arxtech Canada Line card v3Arxtech Canada Line card v3
Arxtech Canada Line card v3
 
Le manifeste du parler-vrai
Le manifeste du parler-vraiLe manifeste du parler-vrai
Le manifeste du parler-vrai
 

Semelhante a A la queue leu leu

Drush make driven development
Drush make driven developmentDrush make driven development
Drush make driven developmentSébastien Corbin
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08Loïc Descotte
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesChristophe Furmaniak
 
Road map to DevOps engineering - Elie Sirius
Road map to DevOps engineering -  Elie SiriusRoad map to DevOps engineering -  Elie Sirius
Road map to DevOps engineering - Elie SiriusGDG Bujumbura
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Louis Jacomet
 
Android distribution cyanogen mod _ guillaume lesniak, student at miage nancy
Android distribution   cyanogen mod _ guillaume lesniak, student at miage nancyAndroid distribution   cyanogen mod _ guillaume lesniak, student at miage nancy
Android distribution cyanogen mod _ guillaume lesniak, student at miage nancyParis Open Source Summit
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfboulonvert
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel librePierre Ficheux
 
Perfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptxPerfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptxMarc Bojoly
 
Des poneys à Liberation.fr
Des poneys à Liberation.frDes poneys à Liberation.fr
Des poneys à Liberation.frliberation_dev
 
Alphorm.com Formation Le langage Ruby
Alphorm.com Formation Le langage RubyAlphorm.com Formation Le langage Ruby
Alphorm.com Formation Le langage RubyAlphorm
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyonClement Bouillier
 

Semelhante a A la queue leu leu (20)

FinistJUG - Apache TomEE
FinistJUG - Apache TomEEFinistJUG - Apache TomEE
FinistJUG - Apache TomEE
 
Drush make driven development
Drush make driven developmentDrush make driven development
Drush make driven development
 
Apache solr andré bois-crettez 08
Apache solr   andré bois-crettez 08Apache solr   andré bois-crettez 08
Apache solr andré bois-crettez 08
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Genielogiciel
GenielogicielGenielogiciel
Genielogiciel
 
Road map to DevOps engineering - Elie Sirius
Road map to DevOps engineering -  Elie SiriusRoad map to DevOps engineering -  Elie Sirius
Road map to DevOps engineering - Elie Sirius
 
Ns operationqueue
Ns operationqueueNs operationqueue
Ns operationqueue
 
GetText / Rails - FR
GetText / Rails - FRGetText / Rails - FR
GetText / Rails - FR
 
GetText / Rails
GetText / RailsGetText / Rails
GetText / Rails
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3
 
Android distribution cyanogen mod _ guillaume lesniak, student at miage nancy
Android distribution   cyanogen mod _ guillaume lesniak, student at miage nancyAndroid distribution   cyanogen mod _ guillaume lesniak, student at miage nancy
Android distribution cyanogen mod _ guillaume lesniak, student at miage nancy
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
SdE 2 - Introduction
SdE 2 - IntroductionSdE 2 - Introduction
SdE 2 - Introduction
 
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libreEtat de l'art des systèmes embarqués, utilisation du logiciel libre
Etat de l'art des systèmes embarqués, utilisation du logiciel libre
 
Infrastructure as code drupal
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupal
 
Perfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptxPerfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptx
 
Des poneys à Liberation.fr
Des poneys à Liberation.frDes poneys à Liberation.fr
Des poneys à Liberation.fr
 
Alphorm.com Formation Le langage Ruby
Alphorm.com Formation Le langage RubyAlphorm.com Formation Le langage Ruby
Alphorm.com Formation Le langage Ruby
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyon
 

A la queue leu leu

  • 1.
  • 2. intro 1/2 • Au début du web on faisait des pages • Puis on s'est mis à faire des sites • Maintenant on fait des plate-formes
  • 3. intro 2/2 Désormais, le site web est une partie de l'infra… … et bien souvent, c'est la partie emergée de l'iceberg
  • 4. En synchrone • On est bézu baisé
  • 5. En asynchrone • monitorer la dispo de vos ressources CPU (=workers); • lancer une tâche quand un worker se libère; • surveiller si la tâche se termine (et si elle se termine bien…); • en cas de problème, réessayer ou alerter. D’où le besoin pour un gestionnaire de file d'attentes = Message Queue dans la langue de Shakespeare.
  • 6. En Python • Celery : la plus connue • rq : alternative light • bindings Python à ØMQ : construisez votre propre gestionnaire ! • pleins d'autres projets (Mozilla en a mis plusieurs en OSS)
  • 7. Celery 1/3 • A commencé comme une app django • Désormais autonome (mais toujours une intégration avec django=dj-celery) • Gros projet, énormément de fonctionnalités out-of- box : c'est un framework à lui tout seul • Nombreux backends (RabbitMQ, redis, Mongo, MySQL…)
  • 8. Celery 2/3 • Le gros pb : toutes les fonctionnalités ne sont pas dispo avec tous les backends !! • Choisir un backend, c'est éventuellement se couper de plein de fonctionnalités… • Le backend (RMQ) recommandé est loin d'être le plus efficace : – Impossible de réessayer une tâche qui a plantée; – Pas de gestion des priorités; • Le code évolue beaucoup et vite : c'est bien mais ça peut vous amener à réécrire pas mal de code juste pour suivre les changements de Celery
  • 9. Celery 3/3 Un framework: • Comme tous les frameworks, requiert du temps pour bien le maîtriser • Bien lire la doc, notamment le tableau qui liste les options dispo en fonction des backends • Peut être arrivé un peu tôt.
  • 10. rq • Plus simple • Doc minimaliste (mais il y a moins à dire) • Redis est le broker • Unix only • Taillé pour Heroku et les services similaires
  • 11. ØMQ ØMG ! ØMG !! ØMG !!!
  • 12. Do It Yourself • Plus simple qu'on ne le croit ! • Tout est disponible dans Python avec gevent et redis
  • 13. Monitorer • Attention aux features, mais c'est pas le plus important. • Coder c'est 25% du temps, le plus long, c'est de monitorer !