jug summer camp (sep 2011) - les applications et architectures d’entreprise de demain
TRANSCRIPT
![Page 1: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/3.jpg)
Une nouvelle génération d’applications
![Page 4: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/5.jpg)
Mobilité
![Page 6: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/7.jpg)
Géo-localisation
![Page 8: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/11.jpg)
Temps-réel
![Page 12: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/15.jpg)
Intelligence
![Page 16: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/20.jpg)
User Experience
![Page 21: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/21.jpg)
Google+ et les cercles
Les fameux cercles
de Google+
![Page 22: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/23.jpg)
Les architectures d’entreprise, actuellement
![Page 24: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/24.jpg)
Service Oriented Architecture
![Page 25: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/25.jpg)
Service Oriented ArchitectureComment assurer la scalabilité de cette
architecture ?
![Page 26: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/26.jpg)
Le Cloud
![Page 27: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/30.jpg)
Public Cloud vs. Private Cloud
Private Cloud
Public Cloud
![Page 31: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/31.jpg)
Exemple chez guardian.co.uk
![Page 32: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/32.jpg)
Stockage
![Page 33: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/34.jpg)
Relationnel et non relationnel
![Page 35: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/37.jpg)
Traditional Design vs. Design for failures
![Page 38: JUG Summer Camp (Sep 2011) - Les applications et architectures d’entreprise de demain](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081403/5563606cd8b42ae6088b47b2/html5/thumbnails/41.jpg)
Questions
?@mfiguiere
blog.xebia.fr