Pro Yearly is on sale from $80 to $50! »

Nouveau socle pour une nouvelle vie

Nouveau socle pour une nouvelle vie

Support de la conférence "Nouveau socle pour une nouvelle vie" donnée le 10 mars 2017 lors de la ConFoo Montréal 2017.

https://confoo.ca/fr/yul2017/session/nouveau-socle-pour-une-nouvelle-vie

9978dcc1b086f83cc615b6961c97f504?s=128

Mikael RANDY

March 10, 2017
Tweet

Transcript

  1. Nouveau socle pour une nouvelle vie Enquête exclusive au coeur

    de l'équipe technique de M6Web
  2. Mikael Randy Lead-developer M6Web Team 6play backend

  3. Le groupe M6

  4. Présentation de 6play

  5. 6play représente de 3 à 6 M de vidéos vues

    par jour et +12 M de comptes utilisateurs déclarés 2012 => 1M 2014 => 3M 2016 => 6M
  6. Etat de l’art en arrivant Backstage Encodeurs Antenne Backoffice

  7. None
  8. None
  9. 2013 - Refonte des fronts

  10. Exposition de la donnée Backstage Encodeurs Antenne Backoffice

  11. Nouveau paradigme Backstage Encodeurs Antenne Backoffice

  12. mais ... Beaucoup d’appels HTTP nécessaires Difficultés de compréhension

  13. None
  14. None
  15. None
  16. Grands principes http://tech.m6web.fr/m6web-au-phptour-luxembourg/

  17. M6Web\DaemonBundle https://github.com/M6Web/DaemonBundle

  18. Tips #1 “Le cloud, c’est l’ordinateur de quelqu’un d’autre”

  19. M6Web\AMQPBundle https://github.com/M6Web/AmqpBundle

  20. Et 6play ?

  21. Rendre asynchrone les traitements longs Middleware synchro https://github.com/M6Web/ElasticsearchBundle

  22. Middleware - dénormalisation de la donnée Watcher Refresh Builder

  23. mais … (bis) Beaucoup d’appels HTTP nécessaires Difficulté de compréhension

  24. None
  25. Tips #2 Versionnez toujours vos APIs

  26. Middleware API RESTFul : “Tu peux accéder à toutes les

    données que tu veux” Middleware v1 : “Voici tout ce que je sais sur ta donnée” Middleware v2 : “Voici la donnée que tu dois utiliser”
  27. Middleware - principes

  28. Tips #3 Soyez défensifs sur vos paramètres

  29. Middleware - paramètres Pas de valeurs par défaut /v1/endpoint /v1/endpoint?limit=10&offset=0

    Liste d’option explicite /v1/endpoint?type=all /v1/endpoint?type=vi,vc
  30. “Si ce n’est pas monitoré, ce n’est pas en prod”

    https://github.com/M6Web/StatsdBundle Tips #4
  31. None
  32. Mémoriser les choix de tout le monde https://github.com/M6Web/CassandraBundle Users Heartbeat

  33. Données générique … mais personnalisées Middleware Users

  34. Tips #5 Imposer un ordre dans les paramètres multiples /v2/endpoint?id=1,2,3

    /v2/endpoint?id=1,3,2
  35. Tips #6 Suivez vos requêtes entre vos services

  36. Suivre ses requêtes https://github.com/M6Web/XRequestUidBundle

  37. Etat des lieux aujourd’hui Backstage BO Middleware Users Heartbeat Synchro

    Encodeurs Antenne
  38. Tips #7 Mieux vaut plein de petits caches qu’un gros

  39. Cachez tout ! Backstage BO Middleware Users Heartbeat synchro Encodeurs

    Antenne
  40. Coup d’oeil dans le rétro ...

  41. @TechM6Web tech.m6web.fr @mikaelrandy

  42. Questions ?