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.

Hyperlapse

Avez vous déjà rêvé de partager un superbe point de vue entrevue au détour d’une route ? Et bien maintenant c’est possible.

Hyperlapse

Hyperlapse est une application de time lapse basée sur Google Street View. Le montage permet de voir la route comme si vous étiez dans une voiture.

La sociéité Teehan+Lax Labs présente quelques démos et cette vidéo montée. C’est du WebGL, il faut donc un navigateur assez récent et le chargement est prend souvent quelques minutes.

Le site utilise une version dont le frame rate est volontairement assez bas. Les sources en Javascript sont disponible sur GitHub. Hyperlapse.js et Three.js la librairie 3D pour ceux qui veulent faire d’autres applications.

Vos propres parcours

Le site Hyperlapse met aussi à disposition une IHM qui permet de créer ses propres parcours en choisissant une route d’un point A à un point B sur Google Map, et le point de vue à regarder (la croix).

La configuration nécessite une bonne connaissance de la carte et de la région du parcours pour trouver les points de vue intéressants et éviter que les vues zappent dans tous les sens. Les espaces doivent être assez dégagés et il faut aussi des trajets assez courts et droits car le nombre d’images est limité. Et il faut aussi qu’il y ait des routes disponibles, c’est bête à dire, mais au fin fond de la Camargue ou des Cévennes les routes n’ont pas forcément été relevées. Au final c’est quand même très bluffant.

Voici quelques essais sur des paysages français. Vous pouvez modifier dynamiquement le point de vue avec la main qui apparaît sur la vidéo, utile à savoir si à un moment donné la caméra pointe invariablement le ciel :o)

Le viaduc de Millau – Le pont du Gard – Bord de mer à Antibes – Bord de mer vers Toulon – Route de camargue vers les Saintes Maries de la mer – La corniche des Cévennes – Route des Cévennes vers l’Aigoual (et oui ils sont même allés jusque là avec une Google Car) –

D’autres time lapses

Il existe une application similaire qui est une publicité pour une marque de véhicules français. Le trajet est limité à 20 Km et on ne peut pas fixer le point de vue qui est sur la route. Il faut aussi connaître les adresses. En contrepartie le frame rate est plus élevé et on s’y croirait vraiment car les images sont très raccord. En revanche, elles sont de qualité assez médiocre.
Un exemple dans les Cévennes, pour la précision c’est entre entre Valleraugue et Notre Dame de la Rouvière dans le Gard, vous noterez qu’on n’est pas embêté par les voitures dans ce coin là.

Devoxx d’un point de vue très … objectif

Devoxx pour la plupart des gens c’est une avalanche de technologies. Pour moi cette édition de Devoxx a été consacrée à une seule technologie, celle des appareils photos.

Je sais maintenant à peu près à quoi servent la moitié des boutons et molettes de mon appareil. Les photos ne sont pas trop mal, probablement pas aussi propres qu’elles auraient dû être. Je ferai mieux la prochaine fois 😉

infographie-devoxx-2013