Slide 1

Slide 1 text

Un site web mobile en Django m.20minutes.fr

Slide 2

Slide 2 text

contraintes léger, rapide et versatile

Slide 3

Slide 3 text

léger  RAM 256-1024 Mb CPU 600Mhz-1.2Ghz

Slide 4

Slide 4 text

léger Servir une version compressé Servir le strict nécessaire 

Slide 5

Slide 5 text

django-pipeline concatenation + compression (js, css, html) + template js https://github.com/cyberdelia/django-pipeline léger

Slide 6

Slide 6 text

rapide 100-500ms de latence 200kb/s-800kb/s en téléchargement 

Slide 7

Slide 7 text

Limiter le nombre de requêtes Tricher sur les interactions rapide 

Slide 8

Slide 8 text

rapide  Donner une impression de rapidité

Slide 9

Slide 9 text

versatile   Une seule implétementation pour tous les terminaux

Slide 10

Slide 10 text

versatile Servir la version la plus légère par défaut Pouvoir servir pour n’importe quelle taille (images, vidéos, etc.)

Slide 11

Slide 11 text

versatile     Tester, tester, tester.

Slide 12

Slide 12 text

le récap’ léger RAM/IO rapide Edge / 3G versatile Screen / OS

Slide 13

Slide 13 text

tenue en charge mesurer et réagir

Slide 14

Slide 14 text

Pages vues 6 645 000 Visites 3 125 000 en chiffres #

Slide 15

Slide 15 text

Varnish Apache + modWSGI architecture  MySQL & Redis

Slide 16

Slide 16 text

mixins  class VideoListView(CacheControlMi xin, PaginationMixin, ListView): paginate_by = 10 cache_timeout = 60 https://gist.github.com/1231560

Slide 17

Slide 17 text

jitter  class VideoDetailView(JitterCacheC ontrolMixin, DetailView): cache_range = [40, 80] https://gist.github.com/1231560

Slide 18

Slide 18 text

mesurer  applicatifs infrastructure logs notifications

Slide 19

Slide 19 text

mesurer  applicatifs + infrastructure statsd collectd metrology https://github.com/cyberdelia/metrology

Slide 20

Slide 20 text

mesurer  logs

Slide 21

Slide 21 text

mesurer  notifications à toute l’équipe

Slide 22

Slide 22 text

réagir  Métriques importantes à portée Date et contenu du dernier déploiement

Slide 23

Slide 23 text

réagir  Visualiser les problèmes et leur résolutions

Slide 24

Slide 24 text

réagir  Avoir un accès direct aux erreurs

Slide 25

Slide 25 text

prévenir  Vérifier et tester automatiquement hooks + tests + ci + rollback

Slide 26

Slide 26 text

prévenir  git hooks (pep8 + pyflakes) https://gist.github.com/2343286 self.assertMaxQueries(5) https://gist.github.com/2320495

Slide 27

Slide 27 text

le récap’ tout mesurer réagir en fonction prévenir en amont

Slide 28

Slide 28 text

Merci beaucoup (ne soyez pas timide, posez une question et passez me dire bonjour ensuite) @cyberdelia