Sites web qui n’en finissent plus de se charger, obligation de renouveler des ordinateurs parfaitement fonctionnels, problèmes de réactivité et de performance des applications métier, autonomie décroissante des tablettes... : l’obésité des logiciels et des données handicape les entreprises tout en augmentant inexorablement le coût de fonctionnement de leur système d’information. Un gâchis qui se chiffre à plusieurs milliards de dollars chaque année ! Cette situation n’est, heureusement, pas une fatalité. L'éco-conception des logiciels a pour but de résoudre ces problèmes de performance tout en réduisant l’empreinte écologique des systèmes d’information. Cette session sera l'occasion de vous montrer comment réduire par 2 la consommation d'un site web ou d'une application. Chaque bonne pratique sera démontrée et mesurée en temps réel lors de la session. En bonus : Nous benchemarkerons la consommation d'énergie de vos sites web en live ! Qui sera le plus éco-conçu ?
Eco Conception logicielle : Comment réduire par deux la consommation d’énergie d’une application ou d’un site web
1. Donnez votre avis !
Depuis votre smartphone, sur :
http://notes.mstechdays.fr
De nombreux lots à gagner toutes les heures !!!
Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les TechDays
http://notes.mstechdays.fr
2. Eco Conception logicielle :
Jean-Philippe Gouigoux jp.gouigoux@free.fr
Olivier Philippot ophilippot@kaliterre.fr
Eric Mittelette ericmitt@microsoft.com
Green IT
3. Agenda
• Définition et vision / Etat de l’art
• Des exemples concrets pour le Web
• Des exemples concrets pour .Net
Green
4. Présentation
Groupe d'utilisateurs qui souhaite rendre le développement logiciel plus
durable et plus vertueux http://greencodelab.fr/
Jean-Philippe GOUIGOUX jp.gouigoux@free.fr
Responsable Architecture / Formation / Innovation
Olivier PHILIPPOT ophilippot@kaliterre.fr 06 63 09 06 90
Consultant éco-conception
Eric MITTELETTE ericmitt@microsoft.com
Relation Technique Développeur & IT
5. L’innocent Chat potté
– 70 Millions d’heure de calcul, 25 TJoules
– http://dwave.wordpress.com/2011/11/20/fun-with-puss-n-boots/
If you could eat 500 bananas per day,
23 minutes
it would take you 327 years
10. Des travaux de R&D en cours
• Projet Code Vert
– Mise en place d’un référentiel JAVA et WEB
– Outil de détection de « dirty » pattern
• Reflexion de normalisation
– AFNOR / ISO
• Green Software Engineering
– Mesure du web
• Travaux des ‘major’
– Microsoft Google FaceBook..
11. Des retours d’expériences des « grands »
• Facebook
– Hip Hop for PHP
– passage d'une technologie PHP vers C++ côté serveur
• Linked In
– Changement d’architecture
– Réduction de 30 à 3 serveurs
12. Des retours d’expériences des « plus petits »
• Banque cantonale de Fribourg
– Mise en place d’un référentiel WEB
• Audits de sites web
– Nombreuses améliorations identifiées
Des actions simples à la porté
de tous les acteurs
Un ROI probant
14. Comment mesure t’on l’impact du logiciel ?
« Ce qui ne peut pas être mesuré ne peut pas être géré».
Peter Drucker
• Mesure physique
– Wattmètre nécessaire mais pas suffisant
– Green Plugwise
• Mesure logicielle
– Intel Energy Checker
– INRIA Power API
26. Analyse d’une page lourde
1 000 000 pages par jours
Soit pour la partie client sur 1 an
200 MWh
Ou 30 teq CO²
154 000 kM voiture
27. Suppression des images
• Suppression des images
• Suppression des publicités
• Avec (sur Chrome et Firefox)
– 56 Wh pour 1000 pages
vues
• Sans
– 30 Wh pour 1000 pages
vues
28. Au final sur 60 sites mesuré par WEA
• Meilleur site mesuré : 5Wh pour 1000p
• Pire site mesuré : 250 Wh pour 1000p
• Une marge de manœuvre importante
• Un gain d’échelle énorme
29. Save the date !
Sortie de Web Energy Archive imminente !
Pour vous tenir, informé allez sur
http://webenergyarchive.com/
30. Impact des bonnes pratiques de développement
SUIVI DE LA CONSOMMATION
31. Démo – 0: Le matériel… simplissime
Sera réalisé
en live
32. Démo – 1: Plugwize et l’enregistreur shell
Sera réalisé
en live
44. Un peu de calcul intégral
• 45% gain de temps
• 70% gain de puissance
• En tout, 83% gain de consommation
– (1 – 0.45) x (1 – 0.70) = 0.165
• Calcul automatique
45. Un peu de calcul
• Economie de 0.051 Wh
– 14 W sur 6 secondes
– 20 W sur les 5 secondes non utilisées
• Electricité à 0.1211 € le KWh
• Scénario répété
– 100 fois par jour
– 200 jours ouvrés
– par ~100 gestionnaires
– par ~50 clients
• 5100 KWh/an, soit 618 €/an
46. Et ça vaut le coup ?
• Durée de vie applicative de 5 ans
• ~3000 € gagnés
• Inutile s’il faut une semaine de formation
• Mais…
47. Différences de code – 1: gestion des chaînes
Concaténation de chaînes Utilisation du StringBuilder
48. Différences de code – 2: services web / BD
Appels multiples (chatty) Appels regroupés (chunky)
49. Différences de code – 3: gestion des boucles
• Early break
Appels multiples (chatty)
50. Différences de code – 4: seulement si besoin
• Lazy execution
Appels multiples (chatty)
51. Différences de code – 5: exceptions
• Une exception porte bien son nom !
Appels multiples (chatty)
52. Au final
• Pareto sur les pratiques
– 5 bonnes pratiques montrées
– 97% de l’amélioration constatée
• Suivi simplissime
• Performance² Consommation !
53. Remarque sur l’efficience énergétique
Moustique Gorille
• Pic de conso : 13.5 W • Pic de conso : 250 W
• Durée du scénario : 9 s • Durée du scénario : 6 s
• Coût énergétique : 121 W.s • Coût énergétique : 1500 W.s
54. Synthèse/ouverture
Prendre du recul Pourquoi le code
• ACV globale • Le code permet d’agir sur tout
• Rapport entre construction fin la chaine
de vie et conso endurant sa vie – Clim
• 80% – Conso
• Facteur d’échelle des – Nb machine
datacenter ou des parcs – (PUE)
machines • Corrélation Perf et Green
55. En conclusion, l’éco-conception
Est simple
Apporte des gains immédiats sur l’énergie
et l’obésiciel
Permet d’agir sur toute la chaine (Clim, serveur…)
Est applicable pour tout type de logiciel ou
site web
Hinweis der Redaktion
Notation
15-15-15 +10 de questions
Les blocs de couleurs sont éditables et peuvent reprendre la couleur du type de session qui est donnée.
Le chat potté : equivalent ERajouter exempleintro ACV Conso electrique; cout de construction et fin de vie 80%
Exemple plastique voiture a développer…
Messages A la portée de tout dev Les résultats sont concrets : code propre Mesure c’est simple, les gains sont facile à voir