Distribuez vos traitements Python avec Celery et Docker Swarm

Magazine
Marque
GNU/Linux Magazine
Numéro
244
Mois de parution
janvier 2021
Domaines


Résumé

Le temps, c'est de l'argent ! Alors, n'en gaspillez plus avec des traitements interminables, distribuez-les !


Le développement d'applications et de scripts implique généralement de maîtriser le temps d'exécution. Dans ce sens, il est important d'apporter une solution pour les traitements les plus lourds.

Après quelques optimisations algorithmiques, vous avez peut-être fait appel aux threads pour paralléliser les traitements qui le permettent.

Cette solution permet en effet d'exploiter au mieux votre CPU multicœur, mais n'est pas évolutive à souhait. En production, vous ne pourrez pas augmenter indéfiniment les capacités de vos processeurs et ce n'est d'ailleurs pas souhaitable. Une machine surdimensionnée coûte bien plus cher et devient un point de défaillance unique (SPOF).

Heureusement, il existe d'autres solutions bien plus évolutives comme Celery [1] que nous associerons à Docker Swarm pour simplifier le déploiement et la mise à l'échelle.

1. Un cas concret

Celery est un gestionnaire de files d'attente de tâches distribuées. En d'autres termes,...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Mesure fine de déplacement par RADAR interférométrique à synthèse d’ouverture (InSAR) par radio logicielle

Magazine
Marque
GNU/Linux Magazine
Numéro
244
Mois de parution
janvier 2021
Domaines
Résumé

Nous avons démontré dans le premier article de la série la capacité à mesurer la distance à une cible (range compression), puis dans un deuxième temps à détecter l’angle d’arrivée du signal (azimuth compression). Fort de cette capacité de cartographier des cibles, nous allons conclure cette série sur la conception de RADAR à base de radio logicielle, et le traitement des signaux associé, par la mesure fine de déplacement des cibles par analyse de la phase (interférométrie) du signal, lors de la répétition des mesures.

Jenkins, Docker et Kubernetes pour déployer en CI/CD

Magazine
Marque
Linux Pratique
Numéro
123
Mois de parution
janvier 2021
Domaines
Résumé

La mise en place d'un processus d'intégration continue et de déploiement continu nécessite une réflexion sérieuse avant de la concrétiser dans la vraie vie d'une organisation. La diversité des méthodes agiles, la panoplie des outils DevOps disponible sur le marché et le choix de l'infrastructure sous-jacente pour créer vos projets nécessitent de prendre du recul avant de se lancer. Découvrez dans cet article comment créer un CI/CD.

Accélérez vos traitements en développant votre propre solution de parallélisation

Magazine
Marque
GNU/Linux Magazine
Numéro
244
Mois de parution
janvier 2021
Domaines
Résumé

Certains de vos traitements lancés par des scripts shell s'exécutent bien trop lentement à votre goût, alors que certaines tâches séquentielles pourraient en fait s'exécuter simultanément : cet article va vous montrer de façon détaillée comment les accélérer en les parallélisant.