Les applications et architectures d’entreprise de demainUn aperçu des changements à venir 16/9/2011                       ...
Speaker      @mfiguiere      blog.xebia.fr      Michaël Figuière           Distributed                                 Arch...
Une nouvelle génération d’applications
Beaucoup de nouvelle tendances...      UX                           Social           Intelligence                         ...
Mobilité
Mobilité• Internet mobile est une réalité         La connexion Internet devient quasi-permanente• 40% des nouveaux interna...
Géo-localisation
Taxi G7 et la Géo-localisation     Géo-localisation    dans l’application   iPhone de TaxiG7
Smart Lists dans Facebook  Facebook maintient   une liste d’amis à            proximité
Géo-localisation en pratique• Certaines bases de données permettent les requêtes géo-spatiales        PostGIS, MongoDB, .....
Temps-réel
Notifications et mise à jour dans Quora      Quora notifie   l’utilisateur des      évènements le concernant et met à jour ...
Recherche en continu dans Twitter        De nouveaux      résultats sont  disponibles au fur         et à mesure
Temps-réel en pratique• ElasticSearch propose des requêtes temps-réel et continues (Percolator)         Stocke les requête...
Intelligence
People you Should Know par LinkedInLinkedIn suggère   des personnes que l’on connaiten se basant sur le graphe social, sur...
Recommandations par Amazon  Amazon suggère   des articles en    se basant sur       les achats  d’autres clients
Top Stories dans Google NewsSujets tendances découverts par  Google News
En pratique• Apache Mahout veut devenir le Lucene de l’apprentissage artificiel         Rapproche les applications Java et ...
User Experience
Google+ et les cercles  Les fameux    cercles  de Google+
Google Flight        Google Flightapporte une interface    novatrice pour la   recherche de vols
Les architectures d’entreprise, actuellement
Service Oriented Architecture
Service Oriented Architecture                                Comment assurer la                                 scalabilit...
Le Cloud
Cloud Computing principles• Abstraction          SaaS, PaaS, IaaS, ... actually « (.*) as a Service »• Automatisation     ...
Cloud’s basic abstractions       Fourni par le Provider Cloud       Fourni par l’entreprise                              F...
Public Cloud vs. Private Cloud                                 Une charge typique                                 sur une ...
Public Cloud vs. Private Cloud                                 Public Cloud                                 Private Cloud
Exemple chez guardian.co.uk
Stockage
Base de données répartie ou non                                  A      B        C        ABC        DEF                  ...
Relationnel et non relationnel
Relationnel et non relationnel  Les données étant très liéesentre elles, leur partitionnement sur un ensemble de machines ...
Relationnel et non relationnel                                   Cette modélisation                                   simp...
Traditional Design vs. Design for failures
Design traditionnel• Les erreurs techniques génère typiquement une page d’erreur         SQLException, IOException, unavai...
Design for failures• Les défaillances vont arriver         Accueillons-les plutôt que d’essayer de les éviter• Gérer les b...
Conclusion• L’élasticité peut réduire les coûts et améliorer l’image de marque         ... et simplifier le Capacity Plann...
Questions             ?            blog.xebia.fr            @mfiguiere
Prochain SlideShare
Chargement dans…5
×

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

2 987 vues

Publié le

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

Aucun téléchargement
Vues
Nombre de vues
2 987
Sur SlideShare
0
Issues des intégrations
0
Intégrations
16
Actions
Partages
0
Téléchargements
40
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

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

  1. 1. Les applications et architectures d’entreprise de demainUn aperçu des changements à venir 16/9/2011 Michaël Figuière
  2. 2. Speaker @mfiguiere blog.xebia.fr Michaël Figuière Distributed Architectures NoSQLSearch Engines
  3. 3. Une nouvelle génération d’applications
  4. 4. Beaucoup de nouvelle tendances... UX Social Intelligence Temps-réel Mobilité Géo-localisation
  5. 5. Mobilité
  6. 6. Mobilité• Internet mobile est une réalité La connexion Internet devient quasi-permanente• 40% des nouveaux internautes dans le monde d’ici 2015 Certains internautes seront uniquement mobiles• Les connexions 4G arrivent bientôt De nouveaux cas d’usage deviendront possibles
  7. 7. Géo-localisation
  8. 8. Taxi G7 et la Géo-localisation Géo-localisation dans l’application iPhone de TaxiG7
  9. 9. Smart Lists dans Facebook Facebook maintient une liste d’amis à proximité
  10. 10. Géo-localisation en pratique• Certaines bases de données permettent les requêtes géo-spatiales PostGIS, MongoDB, ...• Les moteurs de recherche le permettent également Lucene propose une extension « spacial »• HTML5 et les APIs des OS mobiles permettent de se géo-localiser Où par IP pour les applications fixes
  11. 11. Temps-réel
  12. 12. Notifications et mise à jour dans Quora Quora notifie l’utilisateur des évènements le concernant et met à jour l’affichage en temps réel
  13. 13. Recherche en continu dans Twitter De nouveaux résultats sont disponibles au fur et à mesure
  14. 14. Temps-réel en pratique• ElasticSearch propose des requêtes temps-réel et continues (Percolator) Stocke les requête, teste les nouveaux documents• Atmosphere et WebSocket permettent l’intégration Web Permet les chats, notifications, rafraichissement,...• Les moteurs de Complex Event Processing (CEP) pour aller plus loin Esper est un moteur OpenSource très mature
  15. 15. Intelligence
  16. 16. People you Should Know par LinkedInLinkedIn suggère des personnes que l’on connaiten se basant sur le graphe social, sur l’historique de recherche, etc...
  17. 17. Recommandations par Amazon Amazon suggère des articles en se basant sur les achats d’autres clients
  18. 18. Top Stories dans Google NewsSujets tendances découverts par Google News
  19. 19. En pratique• Apache Mahout veut devenir le Lucene de l’apprentissage artificiel Rapproche les applications Java et l’apprentissage artificiel• Se nourrit des gros volumes de données stockés dans NoSQL Intégration native de Mahout et de Hadoop• Neo4j permet de stocker des graphes et de découvrir de l’information Par des algorithmes de plus court chemin, centralité,...
  20. 20. User Experience
  21. 21. Google+ et les cercles Les fameux cercles de Google+
  22. 22. Google Flight Google Flightapporte une interface novatrice pour la recherche de vols
  23. 23. Les architectures d’entreprise, actuellement
  24. 24. Service Oriented Architecture
  25. 25. Service Oriented Architecture Comment assurer la scalabilité de cette architecture ?
  26. 26. Le Cloud
  27. 27. Cloud Computing principles• Abstraction SaaS, PaaS, IaaS, ... actually « (.*) as a Service »• Automatisation Réduire les interventions manuelles autant que possible• Elasticité Augmenter ou réduire la capacité selon les besoins
  28. 28. Cloud’s basic abstractions Fourni par le Provider Cloud Fourni par l’entreprise Fourni un middleware SaaS Application Client / User PaaS Web Application Middleware IaaS Web Fourni un serveur vide
  29. 29. Public Cloud vs. Private Cloud Une charge typique sur une journée
  30. 30. Public Cloud vs. Private Cloud Public Cloud Private Cloud
  31. 31. Exemple chez guardian.co.uk
  32. 32. Stockage
  33. 33. Base de données répartie ou non A B C ABC DEF D E FBase de données sur un Base de données répartie et donc serveur unique scalable et élastique
  34. 34. Relationnel et non relationnel
  35. 35. Relationnel et non relationnel Les données étant très liéesentre elles, leur partitionnement sur un ensemble de machines est complexe
  36. 36. Relationnel et non relationnel Cette modélisation simpliste rend les données plus flexibles et partitionnables
  37. 37. Traditional Design vs. Design for failures
  38. 38. Design traditionnel• Les erreurs techniques génère typiquement une page d’erreur SQLException, IOException, unavailable backend...• Quelques Single Points of Failure et Bottlenecks Services stateful et hautement disponibles parfois couteux• Timeouts et backends lents sont typiquement non gérés Un backend devient lent et toute l’application est ralentie
  39. 39. Design for failures• Les défaillances vont arriver Accueillons-les plutôt que d’essayer de les éviter• Gérer les backends lents ou défaillants avec des Circuit Breakers L’application peut offrir un mode dégradé• Cloud et NoSQL apportent des stockages scalables et disponibles Les données les plus critiques peuvent ainsi être disponibles
  40. 40. Conclusion• L’élasticité peut réduire les coûts et améliorer l’image de marque ... et simplifier le Capacity Planning• Le Cloud est mis en oeuvre par des experts Evite donc les solutions couteuses et fragiles• Les services fournis par le Cloud vont s’améliorer rapidement Grace à une boucle de feedback plus riche et plus rapide• Mais .... JEE 7 ne viendra pas avant 2013 / 2014 !
  41. 41. Questions ? blog.xebia.fr @mfiguiere

×