JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

41
Les applications et architectures d’entreprise de demain Un aperçu des changements à venir 16/9/2011 Michaël Figuière

Transcript of JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Page 1: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Les applications et architectures d’entreprise de demain

Un aperçu des changements à venir

16/9/2011 Michaël Figuière

Page 2: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Speaker

Michaël Figuière

@mfiguiere

blog.xebia.fr

Search Engines NoSQL

DistributedArchitectures

Page 3: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Une nouvelle génération d’applications

Page 4: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Beaucoup de nouvelle tendances...

IntelligenceUX

Mobilité

Social

Géo-localisation

Temps-réel

Page 5: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Mobilité

Page 6: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Mobilité

• Internet mobile est une réalité

• 40% des nouveaux internautes dans le monde d’ici 2015

• Les connexions 4G arrivent bientôt

La connexion Internet devient quasi-permanente

Certains internautes seront uniquement mobiles

De nouveaux cas d’usage deviendront possibles

Page 7: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Géo-localisation

Page 8: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Taxi G7 et la Géo-localisation

Géo-localisation dans l’application iPhone de TaxiG7

Page 9: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Smart Lists dans Facebook

Facebook maintient une liste d’amis à

proximité

Page 10: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Géo-localisation en pratique

• Certaines bases de données permettent les requêtes géo-spatiales

• Les moteurs de recherche le permettent également

• HTML5 et les APIs des OS mobiles permettent de se géo-localiser

PostGIS, MongoDB, ...

Lucene propose une extension « spacial »

Où par IP pour les applications fixes

Page 11: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Temps-réel

Page 12: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Notifications et mise à jour dans Quora

Quora notifie l’utilisateur des

évènements le concernant et met à jour l’affichage

en temps réel

Page 13: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Recherche en continu dans Twitter

De nouveaux résultats sont

disponibles au fur et à mesure

Page 14: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Temps-réel en pratique

• ElasticSearch propose des requêtes temps-réel et continues (Percolator)

• Atmosphere et WebSocket permettent l’intégration Web

• Les moteurs de Complex Event Processing (CEP) pour aller plus loin

Stocke les requête, teste les nouveaux documents

Permet les chats, notifications, rafraichissement,...

Esper est un moteur OpenSource très mature

Page 15: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Intelligence

Page 16: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

People you Should Know par LinkedIn

LinkedIn suggère des personnes

que l’on connait en se basant sur le graphe social, sur l’historique

de recherche, etc...

Page 17: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Recommandations par Amazon

Amazon suggère des articles en se basant sur

les achats d’autres clients

Page 18: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Top Stories dans Google News

Sujets tendances découverts par Google News

Page 19: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

En pratique

• Apache Mahout veut devenir le Lucene de l’apprentissage artificiel

• Se nourrit des gros volumes de données stockés dans NoSQL

• Neo4j permet de stocker des graphes et de découvrir de l’information

Rapproche les applications Java et l’apprentissage artificiel

Intégration native de Mahout et de Hadoop

Par des algorithmes de plus court chemin, centralité,...

Page 20: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

User Experience

Page 21: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Google+ et les cercles

Les fameux cercles

de Google+

Page 22: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Google Flight

Google Flight apporte une interface

novatrice pour la recherche de vols

Page 23: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Les architectures d’entreprise, actuellement

Page 24: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Service Oriented Architecture

Page 25: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Service Oriented ArchitectureComment assurer la scalabilité de cette

architecture ?

Page 26: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Le Cloud

Page 27: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Cloud Computing principles

• Abstraction

• Automatisation

• Elasticité

SaaS, PaaS, IaaS, ... actually « (.*) as a Service »

Réduire les interventions manuelles autant que possible

Augmenter ou réduire la capacité selon les besoins

Page 28: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Cloud’s basic abstractions

SaaS

Fourni un serveur vide

Client / UserApplication

Web

Middleware

PaaS

Application Web IaaS

Fourni un middleware

Fourni par le Provider Cloud

Fourni par l’entreprise

Page 29: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Public Cloud vs. Private Cloud

Une charge typique sur une journée

Page 30: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Public Cloud vs. Private Cloud

Private Cloud

Public Cloud

Page 31: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Exemple chez guardian.co.uk

Page 32: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Stockage

Page 33: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Base de données répartie ou non

A B CD E F

A

D

B

E

C

F

Base de données répartie et donc scalable et élastique

Base de données sur un serveur unique

Page 34: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Relationnel et non relationnel

Page 35: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Relationnel et non relationnel

Les données étant très liées entre elles, leur partitionnement sur un ensemble de machines

est complexe

Page 36: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Relationnel et non relationnel

Cette modélisation simpliste rend les

données plus flexibles et partitionnables

Page 37: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Traditional Design vs. Design for failures

Page 38: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Design traditionnel

• Les erreurs techniques génère typiquement une page d’erreur

• Quelques Single Points of Failure et Bottlenecks

• Timeouts et backends lents sont typiquement non gérés

SQLException, IOException, unavailable backend...

Services stateful et hautement disponibles parfois couteux

Un backend devient lent et toute l’application est ralentie

Page 39: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Design for failures

• Les défaillances vont arriver

• Gérer les backends lents ou défaillants avec des Circuit Breakers

• Cloud et NoSQL apportent des stockages scalables et disponibles

Accueillons-les plutôt que d’essayer de les éviter

L’application peut offrir un mode dégradé

Les données les plus critiques peuvent ainsi être disponibles

Page 40: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Conclusion

• L’élasticité peut réduire les coûts et améliorer l’image de marque

• Le Cloud est mis en oeuvre par des experts

• Les services fournis par le Cloud vont s’améliorer rapidement

• Mais .... JEE 7 ne viendra pas avant 2013 / 2014 !

... et simplifier le Capacity Planning

Evite donc les solutions couteuses et fragiles

Grace à une boucle de feedback plus riche et plus rapide

Page 41: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain

Questions

?@mfiguiere

blog.xebia.fr