Usi 2011 paris_linked_in

14 272 vues

Publié le

Publié dans : Technologie, Business
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
14 272
Sur SlideShare
0
Issues des intégrations
0
Intégrations
13 160
Actions
Partages
0
Téléchargements
19
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Usi 2011 paris_linked_in

  1. 1. Evolution de l’architecture de LinkedIn, enjeux techniques et organisationnels <br />Yassine Hinnach, Sr Engineering Manager, LinkedIn<br />2011 © Université du Système d’Information<br />1<br />
  2. 2. 2011 © Université du Système d’Information<br />LinkedIn, en bref<br />2<br />
  3. 3. 2011 © Université du Système d’Information<br />Une croissance rapide<br />11e site le plus visité aux Etats-Unis (rang mondial: 16, d’après alexa.com)<br />Sources principales de revenus: comptes payants, publicités, solutions de recrutement, annonces payantes. <br />3<br />
  4. 4. Piliers de la plateforme sociale<br />Profils d’utilisateurs<br />Graphe social<br />Recherches<br />Communications<br />Flux d’activités sociales<br />Extraction de données, personnalisation <br />Faire glisser l'image vers l'icône pour l'ajouter<br />2011 © Université du Système d’Information<br />4<br />
  5. 5. 2011 © Université du Système d’Information<br />5<br />Page d’acceuil<br />
  6. 6. 2011 © Université du Système d’Information<br />6<br />Recherche, profil<br />
  7. 7. 2011 © Université du Système d’Information<br />Evolution de l’architecture<br />7<br />
  8. 8. 2011 © Université du Système d’Information<br />Architecture: 2003 - 2004<br />8<br />
  9. 9. 2011 © Université du Système d’Information<br />Architecture: 2005 - 2006<br />9<br />
  10. 10. 2011 © Université du Système d’Information<br />Architecture: 2007 - 2011<br />10<br />
  11. 11. 2011 © Université du Système d’Information<br />Architecture: 2007 – 2011 (suite)<br />UI framework propriétaire: requêtes effectuées en parallèle.<br />Cloud distribué, réécrit en C++ puis Scala<br />Hadoop: personnalisation des produits. Offline à grande échelle.<br />A/B testing: Tous changements de produits ou d’infrastructure.<br />Site de dépannage en cas de catastrophe.<br />Surveillance des systèmesetalertes. <br />11<br />
  12. 12. 2011 © Université du Système d’Information<br />Infrastructure Email<br />12<br />Hadoop:<br />Comm:<br />Miseen place<br />DTO<br />User Activity<br />New Jobs<br />Mbr Info W Pics<br />…<br />Tickle DB<br />Tickle Voldemort<br />Message Generation<br />Kafka<br />PYMK<br />YPHANJ<br />AISL<br />…<br />Gatekeeper<br />LiX<br />Keymaster<br />Notifier<br />
  13. 13. 2011 © Université du Système d’Information<br />Technologies et open source<br />13<br />http://sna-projects.com<br />
  14. 14. 2011 © Université du Système d’Information<br />SOA<br />14<br />
  15. 15. 2011 © Université du Système d’Information<br />SOA: Promesses<br /><ul><li>Chaque service scaleindépendamment
  16. 16. Systèmes tolérants en cas de dégradation de services.
  17. 17. Permet de développer en parallèle
  18. 18. Code découplé</li></ul>15<br />
  19. 19. 2011 © Université du Système d’Information<br />SOA: La réalité<br /><ul><li>Difficile à implémenter
  20. 20. Moins d’intégrité de données, pas de </li></ul> transactions entre services.<br /><ul><li>Complexité accrue du système (architecture, déploiements, versions, configuration, instrumentation)
  21. 21. Coût accru
  22. 22. Autres problèmes: timeouts en cascade, plus de temps réseau.</li></ul>16<br />
  23. 23. 2011 © Université du Système d’Information<br />SOA: Mise en œuvre <br /><ul><li>Parallélisation des requêtes à tous niveaux y compris framework UI.
  24. 24. Gestion des timeouts: loadbalancers, adaptation aux services en difficulté.
  25. 25. Colocaliser physiquement les données pour minimiser le I/O disque aléatoire.
  26. 26. Caches de données.
  27. 27. Instrumentation: «Whatgetsmeasuredgetsfixed».</li></ul>17<br />
  28. 28. 2011 © Université du Système d’Information<br />SOA: Conseils <br /><ul><li>Peu d’intérêt pour sites simples, petits ou startups
  29. 29. Eviter le Java Serializationpour communiquer entre services.
  30. 30. APIs: éviter l’explosion de méthodes (builder pattern et querycriteria encouragés).
  31. 31. Développement logiciel défensif.
  32. 32. Privilégier les test unitaires (mocks): résultats prévisibles, rapides. Calibrer les tests d’intégration.</li></ul>18<br />
  33. 33. 2011 © Université du Système d’Information<br />Défis techniques<br />19<br />
  34. 34. 2011 © Université du Système d’Information<br /> Stockage de donnees<br />Croissance exponentielle des données à stocker, besoin d’une solution:<br /><ul><li>Economique (linux, mysql, lucene, open source)
  35. 35. Elastique (ajout de machines, rééquilibrage)
  36. 36. Simple a administrer
  37. 37. Satisfaisant les besoins de nos produits </li></ul>(index multiples, recherches, réplication, failover, cluster équilibré, multiples centres de données, contraintes de SLAs strictes, analyze de données, instrumentation)<br />20<br />
  38. 38. 2011 © Université du Système d’Information<br />Autres défis<br /><ul><li>Un framework UI universel, développement UI ultra-rapide
  39. 39. Builds, déploiements de logiciels: parmi les problèmes les plus complexes à grande échelle.
  40. 40. Inter opérabilité des services, sans barrières dues aux langages de programmation.
  41. 41. «Active-Active»: Utilisation optimale des centres de données.</li></ul>21<br />
  42. 42. 2011 © Université du Système d’Information<br />De la startup à la grande entreprise<br />22<br />
  43. 43. 2011 © Université du Système d’Information<br />Retour à la startup<br /><ul><li>Cycles de développement courts (2-3 semaines), scrum.
  44. 44. Revues du design puis du code: distribution des connaissances, code plus solide, apprentissage pour nouveaux ingénieurs.
  45. 45. Ingénieurs colocalisés: favorise les échanges, le «pair programming»
  46. 46. Expertise en tous les domaines au sein de l’équipe (techniques de recherches, administration système, map-reduce, QA, design, instrumentation)</li></ul>23<br />
  47. 47. 2011 © Université du Système d’Information<br />Culture de l’entreprise<br /><ul><li>Projets au niveau élevé de réutilisation encouragés
  48. 48. Réparer les «vitres cassées», remède contre le laisser-aller
  49. 49. Culture du «Oui, c’est possible»
  50. 50. Simplicité des produitset solutions techniques
  51. 51. Hackdayset indays
  52. 52. Forums d’expression (améliorations ou nouveaux produits, repas, transports, recrutement)</li></ul>24<br />
  53. 53. 2011 © Université du Système d’Information<br />Hackdays<br />25<br />
  54. 54. 2011 © Université du Système d’Information<br />Environnement de travail exceptionnel<br />http://www.linkedin.com/static?key=jobs<br />26<br />
  55. 55. 2011 © Université du Système d’Information<br />27<br />Questions?<br />YassineHinnach: http://www.linkedin.com/in/yassine<br />yhinnach@linkedin.com<br />

×