SlideShare una empresa de Scribd logo
1 de 23
1
© OCTO 2014© OCTO 2014
Code Réactif et persistance versionnée
Les nouvelles architectures
2
© OCTO 2014
Philippe PRADOS
Manager équipe « Architecture Réactive »
+PhilippePrados
@pprados
in/pprados/fr
BrownBagLunch.fr
Qui suis-je ?
Conférences:
Solution Linux
MISC
Devoxx
PAUG
…
3
© OCTO 2014
La persistance
permanente
Code réactif
ConstatSommaire :
4
© OCTO 2014
Comprendre les performances
Vitesse processeurs (nanoseconde)
Exécution d’une instruction typique 1 ns = 1/1 000 000 000 sec
Mutex lock/unlock 25
Envoi de 2Ko sur réseau 1Gps 20 000
Lire 1MB séquentiellement en RAM 250 000
Lire 1MB séquentiellement du disque 20 000 000
Envoi d’un paquet vers USA et retour 150 millisecondes = 150 000 000
4
Équivalent humain (seconde)
Exécution d’une instruction typique 1 seconde
Mutex lock/unlock ½ minute
Envoi de 2Ko sur réseau 1Gps 5 heures ½
Lire 1MB séquentiellement en RAM 3 jours
Lire 1MB séquentiellement du disque 6 mois ½
Envoi d’un paquet vers USA et retour 5 ans
5
© OCTO 2014
La performance et la scalabilité ne
sont plus des OPTIONS
Il y a 10 ans Maintenant
Nombre de serveurs 10 1000 (on demand)
Temps de réponse Secondes Millisecondes
Interruption de service Heures Jamais
Volume de donnée GBs TBs -> PBs
Traitements Gros, rare, batch Unitaires, nombreux
HTTP HTTP/1.1,
Mode texte
HTTP/2.x,
Mode binaire
Réseau Cablé, stable Mobile, Instable
Clients Workstation Multiples
Sessions d’utilisation Longue Courte
Ou permanente !
5
6
© OCTO 2014
Délais Réaction de l’utilisateur
0-100ms Instantané
100-300ms Léthargique
300-1000ms La machine travaille…
1s+ Switch mental
10s Je reviens plus tard
Perception des utilisateurs
* Latence moyenne en 3G : 150ms, 4G: 65ms
7
© OCTO 2014
Quatre périodes de l’informatique
7
1970 1990 2010 2020
Pers
.
Langages.Prg.App.Quoi
.
On ArchiveOn Modélise
SMALLTALK
C++
JAVA
C#
HASKELL
SCALA
F#
Clojure
R ?
COBOL
FORTRAN
BASIC
PASCAL
C
Procédure
Modèle impératif
On calcule
SQL
On Prédit On e
Modèle objet
Modèle
fonctionnel
Modèle
statistique ?
Mod
Méthode Équation Probabilité ? Quanti
NSA
ORM (JPA)
NoSQL,
DBMem
TSDB ? Giga clo
Interf.
Ligne de
commandes
Fenêtres Web Objets ? ???
8
© OCTO 2014
Code réactif non bloquant
Persistance orienté flux
Deux stratégies à appliquer maintenant
9
© OCTO 2014
Code réactif
10
© OCTO 2014
Reactive Manifesto (2013)
Réactif aux
évènements
• Dirigé par les
évènements
Réactif à la
charge
• Scalabilité
plutôt que
gérer les
contentions
Réactif aux
erreurs
• Système
résilient à tous
les niveaux
Réactif aux
utilisateurs
• Garantit un
délai de
réponse
10
http://www.reactivemanifesto.org/
11
© OCTO 2014
Concurrence des traitements
A2 A3
B1 B2
Thread 1
Thread 2
Concurrence
Attente I/O
Approche « probabiliste » (actuelle)
Calcul
C1 B2
Thread
Unique
No blocking IO
B1 A2
A1 B1 C1 A2 B2
C2
C2A3
A3
C2C1
A1
A1
Approche Réactive (Optimise la CPU)
Attente I/O
12
© OCTO 2014
Depuis 20 ans, on parie que la concurrence sera optimale
Ce n’est jamais le cas sur les serveurs
Utilisons une approche déterministe et réactive
Gain notable de performance
Multithreads : un pari permanant
13
© OCTO 2014
N’utiliser que des HARDWARE Threads
Couche Evolution
OS Non blocking IO
Drivers Asynchrone (NO-JDBC)
Protocoles HTTP 2.0, Web Sockets
Frameworks,
Composants
Play, Node.js, Netty
Akka, JMS, Java8
Langages
Générateur, Continuation
Co-routine, Async / Await,
Functional
14
© OCTO 2014
La persistance
permanente
15
© OCTO 2014
Évolution des besoins de Persistance
Avant
• Seul le présent est important
• Les données sont modifiées pour refléter leur état présent
• Chaque modification fait disparaître l’état précédent
Maintenant
• L’histoire des données est important
• Rien ne disparaît
• Le flux des modifications porte des pépites business non exploitées
• Les archives deviennent numériques
Demain
• Prédiction : Analyser le passé des données pour prédire leur futur
DELETE/INSERT/UPDATE
INSERT ONLY
DATA LEARNING
>>
15
16
© OCTO 2014
Persistance : 2 concepts
État
• La vision des données à
l’instant
• Accès instantané
• Géré en mémoire
Flux
• Suite des modifications
• Intégralement rejouable
• Persistant
• Reconstitution de l’état
16
17
© OCTO 2014
Fraîcheur des données
17
Chaude
Cache en RAM
++ Reactivité
Tiède
DB snapshot
++ Réactivité
+ Volume
Froide
Big Data, Flux
++ Data
+ Requêtes longues
BATCH
18
© OCTO 2014
La quatrième dimension est dans le flux
La persistance de l’état n’est pas importante
S’il est vivant quelque part
S’il est possible de le reconstituer
Persistance limitée aux messages de modification
Sauvegarde du flux
Ajout à la fin d’un fichier de transactions (AOF)
18
La base de donnée n’est qu’une vue des logs de modifications
19
© OCTO 2014
5mn
30mn 1j
1 mois
1 an
Un logiciel sans passé n’a pas
d’avenir
19
20
© OCTO 2014
21
© OCTO 2014
Questions ?
22
© OCTO 2014
Conseil en Architecture et Management des SI
Un cabinet à taille humaine
16 ans
20 M€ de CA en 2013
Un positionnement Grands Comptes
20% de croissance
3 filiales : au Maroc, en Suisse,
au Brésil
23
© OCTO 2014

Más contenido relacionado

Destacado

Patterns de développement pour une application Web réactive et concurrente
Patterns de développement pour une application Web réactive et concurrentePatterns de développement pour une application Web réactive et concurrente
Patterns de développement pour une application Web réactive et concurrenteFabrice Croiseaux
 
XebiConFr 15 - Ingenico Group : Microservices et architecture réactive pour u...
XebiConFr 15 - Ingenico Group : Microservices et architecture réactive pour u...XebiConFr 15 - Ingenico Group : Microservices et architecture réactive pour u...
XebiConFr 15 - Ingenico Group : Microservices et architecture réactive pour u...Publicis Sapient Engineering
 
Diaporama 5 eme rencontres des voyageurs cap vers
Diaporama 5 eme rencontres des voyageurs cap versDiaporama 5 eme rencontres des voyageurs cap vers
Diaporama 5 eme rencontres des voyageurs cap versChristian Conseil
 
Historias de dioses
Historias de diosesHistorias de dioses
Historias de diosesJOSÉ TOMÁS
 
La discriminación de la mujer
La discriminación de la mujerLa discriminación de la mujer
La discriminación de la mujerJOSÉ TOMÁS
 
El trabajo autónomo. La protección por cese de actividad. Un comentario sobre...
El trabajo autónomo. La protección por cese de actividad. Un comentario sobre...El trabajo autónomo. La protección por cese de actividad. Un comentario sobre...
El trabajo autónomo. La protección por cese de actividad. Un comentario sobre...Universidad Autónoma de Barcelona
 
Presentación autobiografias
Presentación autobiografiasPresentación autobiografias
Presentación autobiografiasAlvaro da Silva
 
Evolution de l'E-commerce à l'ère du digital
Evolution de l'E-commerce à l'ère du digitalEvolution de l'E-commerce à l'ère du digital
Evolution de l'E-commerce à l'ère du digitalagnesheyd
 
Gasquet.essai sur le culte et les mysteres de mithra.book
Gasquet.essai sur le culte et les mysteres de mithra.bookGasquet.essai sur le culte et les mysteres de mithra.book
Gasquet.essai sur le culte et les mysteres de mithra.bookDedalus71
 
2012 all series le ds dm en
2012 all series le ds dm en2012 all series le ds dm en
2012 all series le ds dm ensugrace1984
 

Destacado (20)

Démystifions l'API-culture!
Démystifions l'API-culture!Démystifions l'API-culture!
Démystifions l'API-culture!
 
Openstack framework Iaas
Openstack framework IaasOpenstack framework Iaas
Openstack framework Iaas
 
Patterns de développement pour une application Web réactive et concurrente
Patterns de développement pour une application Web réactive et concurrentePatterns de développement pour une application Web réactive et concurrente
Patterns de développement pour une application Web réactive et concurrente
 
XebiConFr 15 - Ingenico Group : Microservices et architecture réactive pour u...
XebiConFr 15 - Ingenico Group : Microservices et architecture réactive pour u...XebiConFr 15 - Ingenico Group : Microservices et architecture réactive pour u...
XebiConFr 15 - Ingenico Group : Microservices et architecture réactive pour u...
 
Revision
RevisionRevision
Revision
 
Diaporama 5 eme rencontres des voyageurs cap vers
Diaporama 5 eme rencontres des voyageurs cap versDiaporama 5 eme rencontres des voyageurs cap vers
Diaporama 5 eme rencontres des voyageurs cap vers
 
Historias de dioses
Historias de diosesHistorias de dioses
Historias de dioses
 
Reglamento sena[1]
Reglamento sena[1]Reglamento sena[1]
Reglamento sena[1]
 
Ma présentation
Ma présentationMa présentation
Ma présentation
 
Pasta estética-aline-jeferson-timóteo
Pasta estética-aline-jeferson-timóteoPasta estética-aline-jeferson-timóteo
Pasta estética-aline-jeferson-timóteo
 
Atelier Vesuviani - Présentation - Intervention Luca Belfiore
Atelier Vesuviani - Présentation - Intervention Luca BelfioreAtelier Vesuviani - Présentation - Intervention Luca Belfiore
Atelier Vesuviani - Présentation - Intervention Luca Belfiore
 
La discriminación de la mujer
La discriminación de la mujerLa discriminación de la mujer
La discriminación de la mujer
 
El trabajo autónomo. La protección por cese de actividad. Un comentario sobre...
El trabajo autónomo. La protección por cese de actividad. Un comentario sobre...El trabajo autónomo. La protección por cese de actividad. Un comentario sobre...
El trabajo autónomo. La protección por cese de actividad. Un comentario sobre...
 
Presentación autobiografias
Presentación autobiografiasPresentación autobiografias
Presentación autobiografias
 
Search Pearltrees
Search PearltreesSearch Pearltrees
Search Pearltrees
 
Vacuklav proclass
Vacuklav proclassVacuklav proclass
Vacuklav proclass
 
Evolution de l'E-commerce à l'ère du digital
Evolution de l'E-commerce à l'ère du digitalEvolution de l'E-commerce à l'ère du digital
Evolution de l'E-commerce à l'ère du digital
 
Raja ppt
Raja pptRaja ppt
Raja ppt
 
Gasquet.essai sur le culte et les mysteres de mithra.book
Gasquet.essai sur le culte et les mysteres de mithra.bookGasquet.essai sur le culte et les mysteres de mithra.book
Gasquet.essai sur le culte et les mysteres de mithra.book
 
2012 all series le ds dm en
2012 all series le ds dm en2012 all series le ds dm en
2012 all series le ds dm en
 

Similar a Solution linux 2014 - Code réactif et persistance versionée

Ippevent - Regarde les instances tomber - 20 mai 2014
Ippevent - Regarde les instances tomber - 20 mai 2014Ippevent - Regarde les instances tomber - 20 mai 2014
Ippevent - Regarde les instances tomber - 20 mai 2014vberetti
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanneDidier Durand
 
1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhuiRomain Jouin
 
Noyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineNoyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineCHERIET Mohammed El Amine
 
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...Guillaume MOCQUET
 
Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Didier Durand
 
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"OCTO Technology
 
Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017AFUP_Limoges
 
Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Trader's - Quick Software Line
 
[Café techno] Symantec NetBackup 7.6 - 12/2013
[Café techno] Symantec NetBackup 7.6 - 12/2013[Café techno] Symantec NetBackup 7.6 - 12/2013
[Café techno] Symantec NetBackup 7.6 - 12/2013Groupe D.FI
 
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOCore Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOWeLoveSEO
 
Big Data ou comment retrouver une aiguille dans une botte de foin
Big Data ou comment retrouver une aiguille dans une botte de foinBig Data ou comment retrouver une aiguille dans une botte de foin
Big Data ou comment retrouver une aiguille dans une botte de foinPALO IT
 
gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !Carles Sistare
 
gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!David Caramelo
 
Morning with MongoDB Paris 2012 - Octo
Morning with MongoDB Paris 2012 - OctoMorning with MongoDB Paris 2012 - Octo
Morning with MongoDB Paris 2012 - OctoMongoDB
 
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020SEO CAMP
 
Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Microsoft
 

Similar a Solution linux 2014 - Code réactif et persistance versionée (20)

Ippevent - Regarde les instances tomber - 20 mai 2014
Ippevent - Regarde les instances tomber - 20 mai 2014Ippevent - Regarde les instances tomber - 20 mai 2014
Ippevent - Regarde les instances tomber - 20 mai 2014
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne
 
1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui1 pourquoi le big data aujourdhui
1 pourquoi le big data aujourdhui
 
Noyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineNoyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amine
 
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...
 
Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012
 
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
 
Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017Retour AFUP du forumphp 2017
Retour AFUP du forumphp 2017
 
Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?
 
Fusion io
Fusion ioFusion io
Fusion io
 
[Café techno] Symantec NetBackup 7.6 - 12/2013
[Café techno] Symantec NetBackup 7.6 - 12/2013[Café techno] Symantec NetBackup 7.6 - 12/2013
[Café techno] Symantec NetBackup 7.6 - 12/2013
 
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOCore Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEO
 
Big Data ou comment retrouver une aiguille dans une botte de foin
Big Data ou comment retrouver une aiguille dans une botte de foinBig Data ou comment retrouver une aiguille dans une botte de foin
Big Data ou comment retrouver une aiguille dans une botte de foin
 
gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !gRPC, ECHANGES A HAUTE FREQUENCE !
gRPC, ECHANGES A HAUTE FREQUENCE !
 
gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!gRPC, échange à haute fréquence!
gRPC, échange à haute fréquence!
 
Morning with MongoDB Paris 2012 - Octo
Morning with MongoDB Paris 2012 - OctoMorning with MongoDB Paris 2012 - Octo
Morning with MongoDB Paris 2012 - Octo
 
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
Core web vitals pour unifier UX et SEO - Stephane Rios - SEO Camp'us paris 2020
 
Propostion un Iaas
Propostion un IaasPropostion un Iaas
Propostion un Iaas
 
Exchange 2013 Bonnes pratiques
Exchange 2013 Bonnes pratiques Exchange 2013 Bonnes pratiques
Exchange 2013 Bonnes pratiques
 
Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1Au cœur du Framework .NET 4.5.1
Au cœur du Framework .NET 4.5.1
 

Solution linux 2014 - Code réactif et persistance versionée

  • 1. 1 © OCTO 2014© OCTO 2014 Code Réactif et persistance versionnée Les nouvelles architectures
  • 2. 2 © OCTO 2014 Philippe PRADOS Manager équipe « Architecture Réactive » +PhilippePrados @pprados in/pprados/fr BrownBagLunch.fr Qui suis-je ? Conférences: Solution Linux MISC Devoxx PAUG …
  • 3. 3 © OCTO 2014 La persistance permanente Code réactif ConstatSommaire :
  • 4. 4 © OCTO 2014 Comprendre les performances Vitesse processeurs (nanoseconde) Exécution d’une instruction typique 1 ns = 1/1 000 000 000 sec Mutex lock/unlock 25 Envoi de 2Ko sur réseau 1Gps 20 000 Lire 1MB séquentiellement en RAM 250 000 Lire 1MB séquentiellement du disque 20 000 000 Envoi d’un paquet vers USA et retour 150 millisecondes = 150 000 000 4 Équivalent humain (seconde) Exécution d’une instruction typique 1 seconde Mutex lock/unlock ½ minute Envoi de 2Ko sur réseau 1Gps 5 heures ½ Lire 1MB séquentiellement en RAM 3 jours Lire 1MB séquentiellement du disque 6 mois ½ Envoi d’un paquet vers USA et retour 5 ans
  • 5. 5 © OCTO 2014 La performance et la scalabilité ne sont plus des OPTIONS Il y a 10 ans Maintenant Nombre de serveurs 10 1000 (on demand) Temps de réponse Secondes Millisecondes Interruption de service Heures Jamais Volume de donnée GBs TBs -> PBs Traitements Gros, rare, batch Unitaires, nombreux HTTP HTTP/1.1, Mode texte HTTP/2.x, Mode binaire Réseau Cablé, stable Mobile, Instable Clients Workstation Multiples Sessions d’utilisation Longue Courte Ou permanente ! 5
  • 6. 6 © OCTO 2014 Délais Réaction de l’utilisateur 0-100ms Instantané 100-300ms Léthargique 300-1000ms La machine travaille… 1s+ Switch mental 10s Je reviens plus tard Perception des utilisateurs * Latence moyenne en 3G : 150ms, 4G: 65ms
  • 7. 7 © OCTO 2014 Quatre périodes de l’informatique 7 1970 1990 2010 2020 Pers . Langages.Prg.App.Quoi . On ArchiveOn Modélise SMALLTALK C++ JAVA C# HASKELL SCALA F# Clojure R ? COBOL FORTRAN BASIC PASCAL C Procédure Modèle impératif On calcule SQL On Prédit On e Modèle objet Modèle fonctionnel Modèle statistique ? Mod Méthode Équation Probabilité ? Quanti NSA ORM (JPA) NoSQL, DBMem TSDB ? Giga clo Interf. Ligne de commandes Fenêtres Web Objets ? ???
  • 8. 8 © OCTO 2014 Code réactif non bloquant Persistance orienté flux Deux stratégies à appliquer maintenant
  • 10. 10 © OCTO 2014 Reactive Manifesto (2013) Réactif aux évènements • Dirigé par les évènements Réactif à la charge • Scalabilité plutôt que gérer les contentions Réactif aux erreurs • Système résilient à tous les niveaux Réactif aux utilisateurs • Garantit un délai de réponse 10 http://www.reactivemanifesto.org/
  • 11. 11 © OCTO 2014 Concurrence des traitements A2 A3 B1 B2 Thread 1 Thread 2 Concurrence Attente I/O Approche « probabiliste » (actuelle) Calcul C1 B2 Thread Unique No blocking IO B1 A2 A1 B1 C1 A2 B2 C2 C2A3 A3 C2C1 A1 A1 Approche Réactive (Optimise la CPU) Attente I/O
  • 12. 12 © OCTO 2014 Depuis 20 ans, on parie que la concurrence sera optimale Ce n’est jamais le cas sur les serveurs Utilisons une approche déterministe et réactive Gain notable de performance Multithreads : un pari permanant
  • 13. 13 © OCTO 2014 N’utiliser que des HARDWARE Threads Couche Evolution OS Non blocking IO Drivers Asynchrone (NO-JDBC) Protocoles HTTP 2.0, Web Sockets Frameworks, Composants Play, Node.js, Netty Akka, JMS, Java8 Langages Générateur, Continuation Co-routine, Async / Await, Functional
  • 14. 14 © OCTO 2014 La persistance permanente
  • 15. 15 © OCTO 2014 Évolution des besoins de Persistance Avant • Seul le présent est important • Les données sont modifiées pour refléter leur état présent • Chaque modification fait disparaître l’état précédent Maintenant • L’histoire des données est important • Rien ne disparaît • Le flux des modifications porte des pépites business non exploitées • Les archives deviennent numériques Demain • Prédiction : Analyser le passé des données pour prédire leur futur DELETE/INSERT/UPDATE INSERT ONLY DATA LEARNING >> 15
  • 16. 16 © OCTO 2014 Persistance : 2 concepts État • La vision des données à l’instant • Accès instantané • Géré en mémoire Flux • Suite des modifications • Intégralement rejouable • Persistant • Reconstitution de l’état 16
  • 17. 17 © OCTO 2014 Fraîcheur des données 17 Chaude Cache en RAM ++ Reactivité Tiède DB snapshot ++ Réactivité + Volume Froide Big Data, Flux ++ Data + Requêtes longues BATCH
  • 18. 18 © OCTO 2014 La quatrième dimension est dans le flux La persistance de l’état n’est pas importante S’il est vivant quelque part S’il est possible de le reconstituer Persistance limitée aux messages de modification Sauvegarde du flux Ajout à la fin d’un fichier de transactions (AOF) 18 La base de donnée n’est qu’une vue des logs de modifications
  • 19. 19 © OCTO 2014 5mn 30mn 1j 1 mois 1 an Un logiciel sans passé n’a pas d’avenir 19
  • 22. 22 © OCTO 2014 Conseil en Architecture et Management des SI Un cabinet à taille humaine 16 ans 20 M€ de CA en 2013 Un positionnement Grands Comptes 20% de croissance 3 filiales : au Maroc, en Suisse, au Brésil

Notas del editor

  1. OS: Depuis 1999, Linux propose des API asychrones pour le réseau. Plusieurs implémentations au cours du temps. http://www.kegel.com/c10k.html#nb.edge Implémentation by RedHat en 2006 Drivers: Peu de drivers officiels des fournisseurs
  2. PPR - Digitalisation – Nouveaux usages / performances / nouvelles architectures Emergence du scala / le pourquoi Point de vue Octo JEE legacy ? Remise a plat du modèle Reprendre la main sur la gestion des ressources
  3. Le diable est dans l’état, ou plutôt l’état mutable. Possibilité de reconstituer l’état après un changement majeur du modèle.
  4. R
  5. Analogie avec la comptabilité : le solde est calculable à partir des écritures.
  6. PPR