L’art du benchmark

Un benchmark comparant JavaEE et NodeJS a récemment causé un certain émoi sur la toile. J’ai été surpris des résultats et me suis mis en tête de le reproduire pour vérifier une intuition. L’article est, de plus, enrichi de plusieurs commentaires intéressants qui méritent eux-mêmes d’être commentés. Tout ceci m’amène au présent billet.

Qu’est-ce qu’un benchmark? Le benchmark est la mesure des performances d’une application. Nous tentons de reproduire en laboratoire une utilisation normale de l’application. Si vous demandez aux experts, ils vous diront qu’un benchmark est un outil extrêmement dangereux dont les résultats sont presque toujours faux. C’est, à mon point de vue, légèrement exagéré, mais pas complètement faux non plus comme nous verrons plus bas.

Une chose est sûre, quelques précautions sont toutefois nécessaires pour ne pas avoir de surprise plus tard. Par exemple:

  • Avoir une volumétrie de base de données similaire à la cible
  • Avoir une hétérogénéité des données représentatives. En particulier pour des problématiques de cache
  • Une infrastructure proportionnelle à la cible

À noter, contrairement à la croyance populaire, les benchmarks sont généralement optimistes. Si vous avez de mauvais temps de réponse lors du benchmark, il y a fort à parier que ça ne s’améliorera pas en production. C’est donc de l’inverse qu’il faut se méfier. De bons temps de réponse lors du benchmark ne sont pas une garantie de bons temps de réponse en production si le benchmark n’a pas été bien fait.

Un autre point intéressant est (Lire la suite…)

Les Octos vous souhaitent une belle année 2014 !

Voeux OCTO 2014

 

Chaque année c’est la tradition chez OCTO : la carte de voeux spécialement créée par le dessinateur Philippe Vuillemin. On espère qu’elle vous plaira autant qu’à nous. Nous présentons à tous les lecteurs de ce blog nos voeux les plus sincères : réussite, challenge, et surtout du fun !

A l’année prochaine avec une nouvelle version de ce blog. C’est promis !

 

Android : Comment consommer un socket ouvert par une autre application ?

Sous Android, pour améliorer la sécurité, est-il possible d’ouvrir un socket dans une application, de s’occuper de l’authentification, puis de confier ce dernier à une autre application ?
(Lire la suite…)

Mon Android n’est pas un iPhone comme les autres

Chez OCTO, depuis quelques années maintenant, nous réalisons des applications mobiles Android et iOS, smartphones et tablettes. Forts de cette expérience et de notre R&D permanente sur les sujets mobilité et ergonomie, nous pouvons aujourd’hui faire l’affirmation suivante : Un Android n’est pas un iPhone comme les autres.

Malgré un titre un peu racoleur, cet article se veut pédagogue sur les spécificités d’ergonomie de la plateforme Android. Aussi, si vous souhaitez faire briller les yeux de tous vos utilisateurs autant que les étoiles des stores, lisez la suite…

PS : directions marketing et designers, cet article est pour vous !

(Lire la suite…)

La jouer KISS avec Selenium

Tester une application est un sujet soulevant de nombreuses problématiques, bien résumées par le schéma de Brian Marick ci-dessous.

 

Ainsi, dans un projet industrialisé, les best-practice de testing appellent plusieurs typologies de tests automatisés à se côtoyer : des test unitaires (TU), des tests fonctionnels, et éventuellement des tests passant par l’IHM.

Cette richesse est essentielle à l’amélioration de la qualité de nos applications, mais nécessite l’usage de nombreux outils.

Là où les outils de tests unitaires, de mocking,  et de tests fonctionnels sont des références, les outils de tests passant par l’IHM ne sont que peu maîtrisés, en marge des connaissances de l’équipe de développement.

Ils ont tendance à être la 5e roue de la charrette.

 

C’est le cas de Selenium.

Cet article est un retour d’expérience présentant une implémentation bien éloignée des best practices de l’outil, simple et pragmatique.

(Lire la suite…)

DevOps et l’urbanisation du Système d’Information de Production

Introduction

L’entreprise dispose d’un Système d’Information de Production (SIP). Ce SI est en grande partie caché aux utilisateurs métier, mais bien présent. (Lire la suite…)

Les nouvelles architectures front Web et leur impact sur la DSI – partie 2

Dans la partie 1 de cet article, nous avons traité des nouvelles architectures front-end basées sur des applications Web massivement Javascript appelant des API offertes par un serveur back-end : les nouvelles architectures front Web et leur impact sur les DSI – Partie 1.

Nous avons vu qu’elles sont apparues ces dernières années grâce à l’augmentation des performances des navigateurs et à l’amélioration des outils d’industrialisation des développements Javascript.

Dans cette seconde partie, nous nous intéresserons aux raisons pour lesquelles on devrait choisir ces nouvelles architectures, aux opportunités qu’elles offrent, et aux conséquences sur les organisations des directions informatiques.

(Lire la suite…)

Et si Devops nous emmenait vers TDI (Test Driven Infrastructure) ?

Des usines de développement au service de l’infrastructure ?

Le mouvement DevOps a permis aux applications de gagner en productivité et donc en rapidité d’évolutions grâce entre autre à une démarche très efficace : le Continuous Delivery.
Grâce à un rapprochement des pratiques entre Dev et Ops on arrive à apporter aux équipes infrastructures tout l’outillage du développement d’applications. Et c’est là qu’arrive l’un des grands concepts Devops : Infrastructure As Code.

Les géants du web sont largement en avance sur ce que l’on fait aujourd’hui dans la majorité des entreprises. Surtout concernant la mise en place et le déploiement des infrastructures mais également sur un sujet encore peu exploré : l’automatisation des tests d’infrastructure.

On sait aujourd’hui parfaitement tester nos applications mais quid des infrastructures qui les hébergent et que l’on automatise de plus en plus ?

Pourtant, si on rentre dans Infrastructure as Code, on écrit bien du code, on a bien un cycle de vie habituel de code, il faut donc tester ce code!

Une chose est sûre, on doit tester de bout en bout tout ce que l’on automatise soit même.

(Lire la suite…)

PerfUG: Gatling par Stéphane Landelle

Le PerfUG vous donne rendez-vous pour la dernière séance de l’année 2013. A cette occasion nous recevrons Stéphane Landelle le créateur de l’outil d’injection Gatling.

Au menu: généralités en entrée, suivi des nouveautés de la future version, et en dessert une démonstration sur un challenge de scripting. Le tout arrosé d’une délicate couche de Scala.

Pour le descriptif complet de la séance, suivez le lien.

L’événement aura lieu le jeudi 12 décembre. Pour s’inscrire, c’est sur Eventbrite

OCTO obtient en exclusivité la nouvelle génération de Kinect pour Windows

La semaine dernière avait lieu le MVP Global Summit à Seattle. Lors de cette conférence tous les MVP du monde ont pû rencontrer en privé les groupes de produits Microsoft pour des centaines de sessions techniques approfondies.

Vincent Guigui (Expert Interfaces Innovantes OCTO et MVP Kinect) était dans les locaux de Microsoft avec une dizaine d’homologues MVP Kinect internationaux pour rencontrer les équipes Microsoft en charge de Kinect.

(Lire la suite…)