Talk Performances au Human Talks

Les Human Talks ont eu la gentillesse de m’inviter à parler de la gestion des performances applicatives.

Et si on livrait demain, que se passerait t’il ? Nous allons voir ensemble comment aborder l’évaluation des performances applicatives dans un contexte Agile et Devops.

Les slides de la présentation :

Et la vidéo :

Du monitoring à la matière noire

J’ai participé au Breizhcamp cette année avec une présentation sur le monitoring.

Au passage merci aux organisateurs pour cette édition 2014. Les conférences sont toujours l’occasion de discussions passionnées sur les sujets les plus chaud du moment et puis c’est cool finalement de pouvoir assister à des conférences sans rien avoir à faire. Bravo aussi à l’initiative de faire un repas ouvert à tous le jeudi soir. On a ainsi pu partager les discussions passionnées des speaker diners avec d’autres passionnés.

Le but ce cette présentation est de revoir un peu nos idées reçues sur le monitoring. Même si le sujet n’est pas forcément très hype, Lean et Devops changent notre vision des mesures et les outils BigData viennent à notre secours.

La présentation se trouve .

Sébastien Brousse a twitté sur une partie de la présentation où je fais un détour par la matière noire. Je pense que le rapport avec le monitoring est peu évident sans les explications que j’ai donné de vive voix et le slide ne vous sera pas forcément d’une grande aide.

Pour ceux qui n’étaient là en attendant la vidéo voici les explications et même quelques infos supplémentaires.

Mais pourquoi la matière noire ?

Non, je n’ai pas changé de métier, la présentation parlait bien de monitoring.

Tout d’abord il y a peu de femmes dans l’informatique et donc dans les conférences, et c’était l’occasion d’avoir deux grandes dames avec nous, Margaret Burbidge et Vera Rubin, deux astrophysiciennes.

La première a imaginé le concept de matière noire, la seconde a poursuivi les travaux et mis au point une méthode pour prouver son existence.

Nous on est n’est pas des astrophysiciens, je vais rester à un niveau assez général. Pour les détails, sur la matière noire je vous renvoie à Wikipedia.

Des galaxies prises en excès de vitesse

Cette découverte a un rapport avec le monitoring parce que tout ça découle de problèmes de mesure.

Les astronomes avait constaté depuis longtemps que les galaxies spirales tournaient trop vite par rapport à la masse qu’elles sont supposées avoir d’après les mesures.

Plusieurs hypothèses ont été avancées pour expliquer cette bizarrerie en particulier l’imprécision des mesures.

Dans les années 1970, Margaret Burbidge a refait les mesures avec toute la précision des moyens de l’époque. Et là, ça ne collait toujours pas.

Plutôt que de remettre en cause les mesures, Margaret Burbidge a remis en cause le raisonnenment. Si la vitesse ne colle pas avec la masse, c’est que la masse n’est pas celle que l’on pense.

A cette époque on évalue la masse à partir des objets que l’on peut observer au téléscope, donc ceux qu’on peut voir parce qu’ils émettent de la lumière. Par conséquent, elle en a déduit qu’il y a dans les galaxies quelque chose qui a une masse mais que l’on ne voit pas parce que ça n’émet pas de lumière. C’est le concept de matière noire.

Vera Rubin qui travaillait avec Margaret Burbidge a apporté des éléments de preuve en mettant au point une méthode de calcul de la masse basée sur l’influence gravitationnelle de la galaxie sur son environnement, ce qu’on appelle la masse dynamique. A la différence de la masse lumineuse, la masse dynamique est compatible avec la vitesse de rotation des galaxie spirales. Et la masse dynamique basée directement sur l’effet de la masse n’a pas de raison d’être fausse, ce qui justifie qu’il y a un élément non visible ayant une masse.

Bon, d’accord mais moi je mesure des requêtes HTTP

Ok, nous on ne mesure pas des galaxies, mais même si on peut parfois regarder le serveur, enfin la boîte, finalement ce qu’on mesure est tout aussi peu visualisable.

Cette histoire montre que c’est important de mesurer de la bonne manière.

Si on mesure des effets indirects, on est dépendant d’un modèle. Ce modèle c’est l’idée qu’on se fait du fonctionnement du système et il peut être faux.

Dans un certain nombre de cas, cette mesure indirecte marche, par exemple la masse lumineuse convient pour les objets très lumineux comme les étoiles. Mais de temps en temps, ça ne marche pas.

Bien sûr, on n’a pas toujours la possibilité de mesurer l’effet direct, et de temps en temps on doit se baser sur une mesure indirecte parce que c’est plus abordable. Dans ce cas il faut rester vigilant, et savoir remettre en cause le modèle qu’on se fait du système.

Notre matière noire

Qu’est ce que c’est notre matière noire à nous les informaticiens ?

Ce sont les caches, les buffers, les load balancers, les heuristiques sur les files d’attente, les optimisations de JVM, tout un tas de mécanismes internes au système qui le rendent plus performant, mais qui font aussi que certaines de nos mesures ont un comportement erratique ou n’ont plus de sens dans certaines situations.

Au final, mesurer correctement les performances d’un système ou d’une application informatiques est une activité qui réserve toujours des surprises. On ne peut pas se contenter de poser des sondes au petit bonheur la chance sans comprendre ce qu’on fait. Il faut comprendre le système et comment il fonctionne pour le mesurer correctement.

On a un peu plus de chances, en cas de doute on peut souvent se reporter à la documentation (quoique à la réflexion pas toujours) ou demander au développeur (enfin des fois … ).

Mais par contre, un cache c’est beaucoup moins beau sur les photos qu’une galaxie spirale.

Les images proviennent toutes de la galerie d’images de la Nasa.

Présentation Devops au Women Techmakers Nantes

Dans le cadre du Women Techmakers Event de ce mois de mars, le Women in Technology et le GDG de Nantes organisent une soirée spéciale.

Au programme, la présentation de Women in Technology, un retour sur l’entrepreneuriat par Anaïs Vivion, et une présentation plus technique sur DevOps que j’assurerai.

La présentation se trouve en ligne ici.

Devoxx4Kids au Breizhcamp

Devoxx4Kids était au Breizhcamp pour une session le 13 Juin et le support au BreizhKids le 15 Juin.

Tout d’abord si Devoxx4Kids ne vous dit rien, c’est un projet open source qui regroupe les initiatives pour donner aux enfants le goût de la programmation, de la robotique et de l’ingénierie en général. Vous pourrez trouver des liens vers la communauté en langue française à partir de cette page Devoxx4Kids.

Dans la session, Audrey Neveu et moi avons partagé nos pratiques avec celles de bretons tout aussi passionnés que nous.

Voici un résumé des discussions. N’hésitez pas à faire des retours sur vos expériences avec ces jeux.

L’article est en deux partie, les plus petits et la programmation visuelle dans celui ci et l’apprentissage des langages sera dans un seond article.

Les tout petits

Avant la maîtrise de la lecture même les outils de programmation visuelle sont difficile à utiliser. Quelques pistes sur des jeux plutôt orientés vers la l’enchaînement logique d’opérations.


Robozzle : c’est un jeu en ligne dont le but est de sortir le petit robot du labyrinthe en écrivant un programme fait de mouvements de déplacement (aller tout droit, tourner à gauche, etc). Ce programme est ensuite joué et il marche ou pas. L’interface est en anglais mais le jeu est essentiellement graphique.

DrTechniko est un jeu à base de cartes où l’enfant doit déplacer un robot dans un parcours en ordonnant les cartes représentant divers mouvements. En général le robot est joué par un adulte.

Je sais lire !

OK, montre moi ça. On va pouvoir passer à des jeux basés sur la programmation visuelle.

Le plus connu est Scratch qui existe maintenant en 2 versions, la version 1 à installer et une toute nouvelle version 2 en ligne et en Flash qui demande soit un accès Internet soit d’installer un serveur local et un OS acceptant un player Flash :-/.

Scratch c’est aussi un réseau social permettant de partager ses projets.

C’est un outil de programmation visuelle basé sur des éléments colorés de divers types que l’on peut combiner pour déplacer un objet dans la scène, raconter des histoires, ou faire réagir l’objet à des actions sur le clavier.

L’accès est possible à partir de 6 ans, accompagné pour arriver à lire facilement les instructions et organiser son raisonnement, et autonome à partir de 8 ans. Le logiciel est en français si votre OS est en français.

Scratch a des extensions pour faire de la programmation visuelle d’autres types d’appareils comme par exemple Ardublock pour les Arduino. Il tourne aussi sur Raspberry Pi.

Je vous laisse découvrir l’excellent Mycophone à base d’Arduino dont l’auteur était parmi nous.

Alice est un jeu équivalent à Scratch mais pour faire des animations 3D. Il est écrit en Java.

L’accès est quand même plus compliqué et il n’est pas adapté aux moins de 10 ans. L’interface est moins intuitive, les déplacements des personnages et de la caméra en 3D sont plus compliqués et donc les fonctions sont moins évidentes. Le logiciel a un version française dans les options.

Mon robot défend ma chambre

Bien sûr nous n’avons pas oublié le Lego Mindstorm. Je l’ai mis un peu à part car contrairement aux logiciels précédents celui-ci n’est pas gratuit.

Il faut un robot et un ordinateur pour faire tourner le logiciel avec lequel on conçoit le programme du robot. Il faut aussi pas mal de temps pour assembler le robot, même le plus simple, le robot qui tire des billes lorsqu’il détecte un intrus.
C’est un jeu plus mobile et plus tactile que les précédents qui aborde la programmation par le déplacement du robot et la gestion des capteurs. C’est adapté au 10 ans et plus.

Dans le prochain article, les plus grands avec l’apprentissage des langages de programmation.