Pierre Sintes, Joris Dedieu Un Web rapide à l'heure des smartphones 5 juin 2013 1/14 Un Web rapide à l'heure des smartphones Pierre Sintes, Joris Dedieu 5 juin 2013
Pierre Sintes, Joris Dedieu Un Web rapide à l'heure des smartphones 5 juin 2013 2/14 Sommaire
Pierre Sintes, Joris Dedieu Un Web rapide à l'heure des smartphones 5 juin 2013 3/14 Impact sur le business Google : 0.5 secondes de chargement en plus -> 20% de trac en moins Amazon : 100ms de temps de chargement gagné -> 1% de revenu en plus Mozilla : 2.2 secondes de temps de chargement gagné -> 60 millions de téléchargement de refox en plus Yahoo : 400 millisecondes gagnés -> 9% de trac en plus...
Pierre Sintes, Joris Dedieu Un Web rapide à l'heure des smartphones 5 juin 2013 4/14 Les smartphones Les performances des réseaux mobiles sont faibles par rapport au haut-débit Les réseaux sont encore lents GSM -> 9,05 kbps EDGE -> 384 kbps / 64 kbps 3G -> 1,9 Mbps dans le meilleur des cas H+, 4G tiendront-ils leurs promesses? Les connexions coûtent cher (forfaits à 2, 3 Go mensuels) La couverture est inégale
Pierre Sintes, Joris Dedieu Un Web rapide à l'heure des smartphones 5 juin 2013 5/14 De plus... Google pénalise ouvertement les sites trop lents La complexité croissante des applications web augmente les risques de produire des usines à gaz
Pierre Sintes, Joris Dedieu Un Web rapide à l'heure des smartphones 5 juin 2013 6/14 Stocker des données Les bases de données représentent la principale cause de de performances. Il est nécessaire de : Monter en charge en assurant l'intégrité des données Faire face aux eets de seuil Exemple d'erreur : stocker les sessions dans une base relationnelle
Pierre Sintes, Joris Dedieu Un Web rapide à l'heure des smartphones 5 juin 2013 7/14 Stocker des données Solutions : Faire des tests de charge (avec des données) Ne pas abuser du relationnel (penser au NoSQL, aux chiers) Chaque base doit avoir son DBA
Pierre Sintes, Joris Dedieu Un Web rapide à l'heure des smartphones 5 juin 2013 8/14 Générer des pages Tant que la page n'est pas générée, le client attend : Le web est une technologie fondamentalement synchrone Le code devient trop complexe pour être maîtrisé Exemple d'erreur : calculer la page d'accueil à chaque visite
Pierre Sintes, Joris Dedieu Un Web rapide à l'heure des smartphones 5 juin 2013 9/14 Générer des pages Solutions : Gérer diérents niveaux de cache Piloter le développement par des tests et la production par du monitoring applicatif Penser aux traitements asynchrones (Crontab, ASMQ) Utiliser des outils éprouvés (drupal, symphony, node.js, RoR, django...)
Pierre Sintes, Joris Dedieu Un Web rapide à l'heure des smartphones 5 juin 2013 10/14 Délivrer l'application Une application web doit être disponible et garder un temps de chargement constant : HTTP/1.1 est fondamentalement déconnecté Pics de charge (buzz ou attaques) Exemple d'erreur : ne pas prévenir son hébergeur qu'on passe au journal de 20h
Pierre Sintes, Joris Dedieu Un Web rapide à l'heure des smartphones 5 juin 2013 11/14 Délivrer l'application Solutions : L'optimisation HTTP (keepalive, cache navigateur, compression) L'optimisation des pages à la volée, cache côté serveur SPDY? En attendant HTTP/2.0 Le CDN
Pierre Sintes, Joris Dedieu Un Web rapide à l'heure des smartphones 5 juin 2013 12/14 L'accompagnement Souplesse et optimisation Favoriser les solutions sur mesure (mode projet) Les niveaux d'infogérance Des ores d'optimisation spéciques (magento, wordpress, durpal, prestashop...)
Pierre Sintes, Joris Dedieu Un Web rapide à l'heure des smartphones 5 juin 2013 13/14 L'infrastructure Évolutivité Infrastructure évolutive (cloud, N-Tiers) Le monitoring applicatif Délivrance Web haute charge optimisation à la volée, cache load-balancing CDN
Pierre Sintes, Joris Dedieu Un Web rapide à l'heure des smartphones 5 juin 2013 14/14 Finalement Hébergeur - Intégrateur L'infogérance applicative