usi 2011 paris_linked_in

27
Evolution de l’architecture de LinkedIn, enjeux techniques et organisationnels Yassine Hinnach, Sr Engineering Manager, LinkedIn 2011 © Université du Système d’Information 1

Upload: yassine-hinnach

Post on 18-Dec-2014

9.263 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Usi 2011 paris_linked_in

1

Evolution de l’architecture de LinkedIn, enjeux techniques et organisationnels

Yassine Hinnach, Sr Engineering Manager, LinkedIn

2011 © Université du Système d’Information

Page 2: Usi 2011 paris_linked_in

2 2011 © Université du Système d’Information

LinkedIn, en bref

Page 3: Usi 2011 paris_linked_in

3 2011 © Université du Système d’Information

Une croissance rapide

11e site le plus visité aux Etats-Unis (rang mondial: 16, d’après alexa.com)

Sources principales de revenus: comptes payants, publicités, solutions de recrutement, annonces payantes.

Page 4: Usi 2011 paris_linked_in

Faire glisser l'image vers l'icône pour l'ajouter

Piliers de la plateforme sociale

Profils d’utilisateurs

Graphe social

Recherches

Communications

Flux d’activités sociales

Extraction de données, personnalisation

2011 © Université du Système d’Information4

Page 5: Usi 2011 paris_linked_in

5 2011 © Université du Système d’Information

Page d’acceuil

Page 6: Usi 2011 paris_linked_in

6 2011 © Université du Système d’Information

Recherche, profil

Page 7: Usi 2011 paris_linked_in

7 2011 © Université du Système d’Information

Evolution de l’architecture

Page 8: Usi 2011 paris_linked_in

8 2011 © Université du Système d’Information

Architecture: 2003 - 2004

Page 9: Usi 2011 paris_linked_in

9 2011 © Université du Système d’Information

Architecture: 2005 - 2006

Page 10: Usi 2011 paris_linked_in

10 2011 © Université du Système d’Information

Architecture: 2007 - 2011

Page 11: Usi 2011 paris_linked_in

11 2011 © Université du Système d’Information

Architecture: 2007 – 2011 (suite)

UI framework propriétaire: requêtes effectuées en parallèle.

Cloud distribué, réécrit en C++ puis Scala

Hadoop: personnalisation des produits. Offline à grande échelle.

A/B testing: Tous changements de produits ou d’infrastructure.

Site de dépannage en cas de catastrophe.

Surveillance des systèmes et alertes.

Page 12: Usi 2011 paris_linked_in

12 2011 © Université du Système d’Information

Infrastructure Email

Hadoop:

Message Generation

Comm:

Kafka

Keymaster

PYMKAISL YPHANJ …

Mise en place

New Jobs

Mbr Info W Pics

User Activity…

LiX

DTO

Notifier

Gatekeeper

Tickle DB Tickle Voldemort

Page 13: Usi 2011 paris_linked_in

13 2011 © Université du Système d’Information

Technologies et open source

http://sna-projects.com

Page 14: Usi 2011 paris_linked_in

14 2011 © Université du Système d’Information

SOA

Page 15: Usi 2011 paris_linked_in

15 2011 © Université du Système d’Information

SOA: Promesses

• Chaque service scale indépendamment

• Systèmes tolérants en cas de dégradation de services.

• Permet de développer en parallèle

• Code découplé

Page 16: Usi 2011 paris_linked_in

16 2011 © Université du Système d’Information

SOA: La réalité

• Difficile à implémenter

• Moins d’intégrité de données, pas de

transactions entre services.

• Complexité accrue du système (architecture, déploiements, versions, configuration, instrumentation)

• Coût accru

• Autres problèmes: timeouts en cascade, plus de temps réseau.

Page 17: Usi 2011 paris_linked_in

17 2011 © Université du Système d’Information

SOA: Mise en œuvre

• Parallélisation des requêtes à tous niveaux y compris framework UI.

• Gestion des timeouts: load balancers, adaptation aux services en difficulté.

• Colocaliser physiquement les données pour minimiser le I/O disque aléatoire.

• Caches de données.

• Instrumentation: «What gets measured gets fixed».

Page 18: Usi 2011 paris_linked_in

18 2011 © Université du Système d’Information

SOA: Conseils

• Peu d’intérêt pour sites simples, petits ou startups

• Eviter le Java Serialization pour communiquer entre services.

• APIs: éviter l’explosion de méthodes (builder pattern et query criteria encouragés).

• Développement logiciel défensif.

• Privilégier les test unitaires (mocks): résultats prévisibles, rapides. Calibrer les tests d’intégration.

Page 19: Usi 2011 paris_linked_in

19 2011 © Université du Système d’Information

Défis techniques

Page 20: Usi 2011 paris_linked_in

20 2011 © Université du Système d’Information

Stockage de donnees

Croissance exponentielle des données à stocker, besoin d’une solution:

- Economique (linux, mysql, lucene, open source)

- Elastique (ajout de machines, rééquilibrage)

- Simple a administrer

- Satisfaisant les besoins de nos produits

(index multiples, recherches, réplication, failover, cluster équilibré, multiples centres de données, contraintes de SLAs strictes, analyze de données, instrumentation)

Page 21: Usi 2011 paris_linked_in

21 2011 © Université du Système d’Information

Autres défis

• Un framework UI universel, développement UI ultra-rapide

• Builds, déploiements de logiciels: parmi les problèmes les plus complexes à grande échelle.

• Inter opérabilité des services, sans barrières dues aux langages de programmation.

• «Active-Active»: Utilisation optimale des centres de données.

Page 22: Usi 2011 paris_linked_in

22 2011 © Université du Système d’Information

De la startup à la grande entreprise

Page 23: Usi 2011 paris_linked_in

23 2011 © Université du Système d’Information

Retour à la startup

• Cycles de développement courts (2-3 semaines), scrum.

• Revues du design puis du code: distribution des connaissances, code plus solide, apprentissage pour nouveaux ingénieurs.

• Ingénieurs colocalisés: favorise les échanges, le «pair programming»

• Expertise en tous les domaines au sein de l’équipe (techniques de recherches, administration système, map-reduce, QA, design, instrumentation)

Page 24: Usi 2011 paris_linked_in

24 2011 © Université du Système d’Information

Culture de l’entreprise

• Projets au niveau élevé de réutilisation encouragés

• Réparer les «vitres cassées», remède contre le laisser-aller

• Culture du «Oui, c’est possible»

• Simplicité des produits et solutions techniques

• Hackdays et indays

• Forums d’expression (améliorations ou nouveaux produits, repas, transports, recrutement)

Page 25: Usi 2011 paris_linked_in

25 2011 © Université du Système d’Information

Hackdays

Page 26: Usi 2011 paris_linked_in

26 2011 © Université du Système d’Information

Environnement de travail exceptionnel

http://www.linkedin.com/static?key=jobs

Page 27: Usi 2011 paris_linked_in

27 2011 © Université du Système d’Information

Questions?

Yassine Hinnach: http://www.linkedin.com/in/yassine [email protected]