usi 2011 paris_linked_in

Post on 18-Dec-2014

9.267 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

1

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

Yassine Hinnach, Sr Engineering Manager, LinkedIn

2011 © Université du Système d’Information

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

LinkedIn, en bref

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.

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

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

Page d’acceuil

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

Recherche, profil

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

Evolution de l’architecture

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

Architecture: 2003 - 2004

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

Architecture: 2005 - 2006

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

Architecture: 2007 - 2011

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.

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

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

Technologies et open source

http://sna-projects.com

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

SOA

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é

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.

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».

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.

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

Défis techniques

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)

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.

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

De la startup à la grande entreprise

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)

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)

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

Hackdays

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

Environnement de travail exceptionnel

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

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

Questions?

Yassine Hinnach: http://www.linkedin.com/in/yassine yhinnach@linkedin.com

top related