SlideShare une entreprise Scribd logo
1  sur  66
Télécharger pour lire hors ligne
Thématique
DEVELOPpeMENT
& LANGAGES
DEVOXX FRANCE 2024
ADR
/ Le chainon manquant
DEVOXX FRANCE 2024
Ça dépend !
« Quelle est la meilleure solution pour … ? »
DEVOXX FRANCE 2024
DEVOXX FRANCE 2024
ARCHITECTURE
DECISION
RECORD
SYLVAIN AURAT
REEFACT
ADR
/ Le chainon manquant
DEVOXX FRANCE 2024
ADR
ARCHITECTURE
DECISION
RECORD
DEVOXX FRANCE 2024
ADR
ARCHITECTURE
DECISION
RECORD
DEVOXX FRANCE 2024
ADR
IMPORTANT
ARCHITECTURE
DECISION
RECORD
DEVOXX FRANCE 2024
Michael Nygard
DOCUMENTING ARCHITECTURE DECISIONS
(2011)
DEVOXX FRANCE 2024
DEVOXX FRANCE 2024
DEVOXX FRANCE 2024
DEFENSIF
OFFENSIF
DEVOXX FRANCE 2024
OFFENSIF
DEVOXX FRANCE 2024
DEFENSIF
DEVOXX FRANCE 2024
DEVOXX FRANCE 2024
Cahier des charges fonctionnel
Spécifications techniques détaillées
Guidelines de développement
Manuel d'installation
Documentation d'API
Guide de contribution
Changelog
Diagrammes d'architecture
Documentation des dépendances
Plan de Test
Rapports de Bugs / Incidents
Release note
Documentation du Code (Javadoc, ...)
Rapport de Sécurité
Plan de gestion de configuration
Guide de déploiement
Manuel utilisateur
Product backlog
User stories
Definition of done
Burndown charts
Retrospective outcomes
Roadmap produit
Diagramme de séquence
Architecture decision record
Rosetta Stone
…
ADR
/ Le chainon manquant
DEVOXX FRANCE 2024
DEVOXX FRANCE 2024
• ID
• DATE
• TITRE
• STATUT
• CONTEXTE
• DECISION
• CONSEQUENCES
ADR
FORMAT
DEVOXX FRANCE 2024
• ID
• DATE
• TITRE
• STATUT
• CONTEXTE
• DECISION
• CONSEQUENCES
ADR
FORMAT
DEVOXX FRANCE 2024
• ID
• DATE
• TITRE
• STATUT
• CONTEXTE
• DECISION
• CONSEQUENCES
ADR
FORMAT
DEVOXX FRANCE 2024
• ID
• DATE
• TITRE
• STATUT
• CONTEXTE
• DECISION
• CONSEQUENCES
ADR
FORMAT
DEVOXX FRANCE 2024
• ID
• DATE
• TITRE
• STATUT
• CONTEXTE
• DECISION
• CONSEQUENCES
ADR
FORMAT
DEVOXX FRANCE 2024
• ID
• DATE
• TITRE
• STATUT
• CONTEXTE
• DECISION
• CONSEQUENCES
ADR
FORMAT
• Proposé
• Accepté
• Remplacé
DEVOXX FRANCE 2024
• ID
• DATE
• TITRE
• STATUT
• CONTEXTE
• DECISION
• CONSEQUENCES
ADR
FORMAT
• Proposé
• Accepté
• Remplacé
DEVOXX FRANCE 2024
• ID
• DATE
• TITRE
• STATUT
• CONTEXTE
• DECISION
• CONSEQUENCES
ADR
FORMAT
• Proposé
• Accepté
• Remplacé
DEVOXX FRANCE 2024
• ID
• DATE
• TITRE
• STATUT
• CONTEXTE
• DECISION
• CONSEQUENCES
ADR
FORMAT
DEVOXX FRANCE 2024
• ID
• DATE
• TITRE
• STATUT
• CONTEXTE
• DECISION
• CONSEQUENCES
ADR
FORMAT
DEVOXX FRANCE 2024
• ID
• DATE
• TITRE
• STATUT
• CONTEXTE
• DECISION
• CONSEQUENCES
ADR
FORMAT
DEVOXX FRANCE 2024
• ID
• DATE
• TITRE
• STATUT
• CONTEXTE
• DECISION
• JUSTIFICATION
• AL
TERNATIVES
• CONSEQUENCES
ADR
FORMAT
DEVOXX FRANCE 2024
• ID
• DATE
• TITRE
• STATUT
• CONTEXTE
• DECISION
• JUSTIFICATION
• AL
TERNATIVES
• CONSEQUENCES
ADR
FORMAT
DEVOXX FRANCE 2024
• ID
• DATE
• TITRE
• STATUT
• CONTEXTE
• DECISION
• JUSTIFICATION
• AL
TERNATIVES
• CONSEQUENCES
ADR
FORMAT
DEVOXX FRANCE 2024
DEVOXX FRANCE 2024
…
ADR
CAS CONCRET
Client
e-Mail
S2
Con.
e-Mail S3 Sn
µBot
1
…
/ CONTEXTE
Con.
mobile
Mobile
Client
Chat
Con.
chat
µBot
2
…
DEVOXX FRANCE 2024
Plateforme
ADR
CAS CONCRET
Client
e-Mail
S2
Con.
e-Mail S3 Sn
µBot
1
…
/ CONTEXTE
Con.
mobile
Mobile
Client
Chat
Con.
chat
µBot
2
…
DEVOXX FRANCE 2024
Plateforme
ADR
TITRE
Délestage des services conversationnels par stockage temporaire des pièces
jointes.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
ST
A
TUT
#proposed
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
ID
42
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
DA
TE
N/A
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
CONTEXTE
Notre système de chatbot, dont le traitement des messages s’effectue à
travers une chaîne de services, nécessite une solution efficace pour le transit
des pièces jointes.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
CONTEXTE
Ces pièces jointes transitent actuellement depuis le service en entrée
jusqu’au service de sortie et surchargent l’ensemble des services de la
plateforme dans lesquels elles ne sont d’aucune utilité.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
CONTEXTE
Les services sont déployés dans un environnement Kubernetes pour lequel
nous ne disposons pas de solution de stockage disque pour l’instant. Obtenir
un stockage disque nous coûterait de l’argent et nous ferait attendre
plusieurs semaines.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
CONTEXTE
Nous n’avons pour l’instant que quelques utilisateurs actifs (250 environ) avec
peu de requêtes (3000 / mois) et les pièces jointes sont assez petites
(quelques ko) lorsqu’il y en a.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
CONTEXTE
Nous avons besoin d’une solution rapide et facile à mettre en place et
facilement évolutive car (…).
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
CONTEXTE
…
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
DECISION
Nous avons décidé de développer un service gRPC de délestage des pièces
jointes avec un stockage in-memory.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
CAS CONCRET
Client
e-Mail
S2
Con.
e-Mail S3 Sn
µBot
1
…
Spj
SET GET
/ CONTEXTE
Plateforme
ADR
JUSTIFICA
TIONS
Perte potentielle des pièces jointes : Les pièces jointes sont stockées in-
memory pendant moins d’une seconde. L’arrêt d’un service durant cette
seconde est peu probable. Il sera possible d’ajouter des services en
redondances si nécessaire. Dans le mode conversationnel, la perte éventuelle
des pièces jointes n’est pas problématique, l’utilisateur peut – au pire -
constater l’erreur et renvoyer les pièces jointes.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
JUSTIFICA
TIONS
Taille mémoire : Le nombre d’utilisateurs, de requêtes, la faible taille des
pièces jointes ainsi que le délai de stockage limité à quelques secondes nous
permet pour l’instant d’envisager un stockage in-memory.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
JUSTIFICA
TIONS
Budget / délais : Un service gRPC avec stockage in-memory est rapide et facile
à mettre en place dans notre environnement Kubernetes ; il ne nécessite
aucune demande infra supplémentaire qui nécessiterait des justifications
budgétaires et des délais de mise en œuvre prolongés.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
JUSTIFICA
TIONS
Performance : L'utilisation de gRPC au lieu de REST nous permet de bénéficier
de communications inter-services performantes pour les données binaires.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
JUSTIFICA
TIONS
…
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
AL
TERNA
TIVES
Conserver le transfert inter-services : Écarté en raison du nombre de
sérialisation/désérialisation et du risque de surcharge des services (en
particulier les agents conversationnels « vendors »).
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
AL
TERNA
TIVES
Utilisation de solutions de stockage disque / nouvelle base de données
persistante : Non retenue pour l’instant à cause des délais de mise en œuvre
/ coûts liés aux équipes infra.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
AL
TERNA
TIVES
Utilisation de notre base de données PostgreSQL existante : Non retenue afin
de ne pas surcharger celle-ci.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
AL
TERNA
TIVES
Utilisation de REST : Non retenue pour des raisons de performances.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
AL
TERNA
TIVES
…
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
CONSEQUENCES
Nous allons pouvoir commencer immédiatement le développement du
service et l’intégrer au sein de plateforme en re-routant les pièces-jointes.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
CONSEQUENCES
Adaptation de l'équipe: l'équipe, plus habituée au développement d’API REST
devra se former sur gRPC.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
CONSEQUENCES
Envisager la perte potentielle des pièces jointes.
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
CONSEQUENCES
…
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR
# ADR 0042
**Délestage des services conversationnels par stockage temporaire des pièces jointes.**
#proposé
## CONTEXTE
- Notre système de chatbot, dont le traitement des messages s’effectue à travers une chaîne de services, nécessite une solution efficace pour le transit des pièces jointes.
- Ces pièces jointes transitent actuellement depuis le service en entrée jusqu’au service de sortie et surchargent l’ensemble des services de la plateforme dans lesquels elles ne sont d’aucune utilité.
- Les services sont déployés dans un environnement Kubernetes pour lequel nous ne disposons pas de solution de stockage disque pour l’instant. Obtenir un stockage disque nous coûterait de l’argent et nous ferait attendre plusieurs
semaines.
- Nous n’avons pour l’instant que quelques utilisateurs actifs (250 environ) avec peu de requêtes (3000 / mois) et les pièces jointes sont assez petites (quelques ko) lorsqu’il y en a.
- Nous avons besoin d’une solution rapide et facile à mettre en place et facilement évolutive car (…).
## DECISION
Nous avons décidé de développer un service gRPC de délestage des pièces jointes avec un stockage in-memory.
## JUSTIFICATIONS
- **Perte potentielle des pièces jointes :** Les pièces jointes sont stockées in-memory pendant moins d’une seconde. L’arrêt d’un service durant cette seconde est peu probable. Il sera possible d’ajouter des services en redondances si
nécessaire. Dans le mode conversationnel, la perte éventuelle des pièces jointes n’est pas problématique, l’utilisateur peut – au pire - constater l’erreur et renvoyer les pièces jointes.
- **Taille mémoire :** Le nombre d’utilisateurs, de requêtes, la faible taille des pièces jointes ainsi que le délai de stockage limité à quelques secondes nous permet pour l’instant d’envisager
un stockage in-memory.
- **Budget / délais :** Un service gRPC avec stockage in-memory est rapide et facile à mettre en place dans notre environnement Kubernetes ; il ne nécessite aucune demande infra supplémentaire qui nécessiterait des justifications
budgétaires et des délais de mise en œuvre prolongés.
- **Performance :** L'utilisation de gRPC au lieu de REST nous permet de bénéficier de communications inter-services performantes pour les données binaires.
## ALTERNATIVES
- **Conserver le transfert inter-services :** Écarté en raison du nombre de sérialisation/désérialisation et du risque de surcharge des services (en particulier les agents conversationnels « vendors »).
- **Utilisation de REST :** Non retenue pour des raisons de performances.
- **Utilisation de solutions de stockage disque / nouvelle base de données persistante :** Non retenue pour l’instant à cause des délais de mise en œuvre / coûts liés aux équipes infra.
- **Utilisation de notre base de données PostgreSQL existante :** Non retenue afin de ne pas surcharger celle-ci.
## CONSEQUENCES
- **Développement du service :** Nous allons pouvoir commencer immédiatement le développement du service et l’intégrer au sein de plateforme en re-routant les pièces-jointes
- **Adaptation de l'équipe :** L'équipe, plus habituée au développement d’API REST devra se former sur gRPC.
- **Risque de perte des pièces jointes.**
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR0042.md
- Notre système de chatbot, dont le traitement des messages s’effectue à travers une chaîne de services, nécessite une solution efficace pour le transit des pièces jointes.
- Ces pièces jointes transitent actuellement depuis le service en entrée jusqu’au service de sortie et surchargent l’ensemble des services de la plateforme dans lesquels elles ne sont d’aucune utilité.
- Les services sont déployés dans un environnement Kubernetes pour lequel nous ne disposons pas de solution de stockage disque pour l’instant. Obtenir un stockage disque nous coûterait de l’argent et nous ferait attendre plusieurs
semaines.
- Nous n’avons pour l’instant que quelques utilisateurs actifs (250 environ) avec peu de requêtes (3000 / mois) et les pièces jointes sont assez petites (quelques ko) lorsqu’il y en a.
- Nous avons besoin d’une solution rapide et facile à mettre en place et facilement évolutive car (…).
## DECISION
Nous avons décidé de développer un service gRPC de délestage des pièces jointes avec un stockage in-memory.
## JUSTIFICATIONS
- **Perte potentielle des pièces jointes :** Les pièces jointes sont stockées in-memory pendant moins d’une seconde. L’arrêt d’un service durant cette seconde est peu probable. Il sera possible d’ajouter des services en redondances si
nécessaire. Dans le mode conversationnel, la perte éventuelle des pièces jointes n’est pas problématique, l’utilisateur peut – au pire - constater l’erreur et renvoyer les pièces jointes.
- **Taille mémoire :** Le nombre d’utilisateurs, de requêtes, la faible taille des pièces jointes ainsi que le délai de stockage limité à quelques secondes nous permet pour l’instant d’envisager
un stockage in-memory.
- **Budget / délais :** Un service gRPC avec stockage in-memory est rapide et facile à mettre en place dans notre environnement Kubernetes ; il ne nécessite aucune demande infra supplémentaire qui nécessiterait des justifications
budgétaires et des délais de mise en œuvre prolongés.
- **Performance :** L'utilisation de gRPC au lieu de REST nous permet de bénéficier de communications inter-services performantes pour les données binaires.
## ALTERNATIVES
- **Conserver le transfert inter-services :** Écarté en raison du nombre de sérialisation/désérialisation et du risque de surcharge des services (en particulier les agents conversationnels « vendors »).
- **Utilisation de REST :** Non retenue pour des raisons de performances.
- **Utilisation de solutions de stockage disque / nouvelle base de données persistante :** Non retenue pour l’instant à cause des délais de mise en œuvre / coûts liés aux équipes infra.
- **Utilisation de notre base de données PostgreSQL existante :** Non retenue afin de ne pas surcharger celle-ci.
## CONSEQUENCES
- **Développement du service :** Nous allons pouvoir commencer immédiatement le développement du service et l’intégrer au sein de plateforme en re-routant les pièces-jointes
- **Adaptation de l'équipe :** L'équipe, plus habituée au développement d’API REST devra se former sur gRPC.
- **Risque de perte des pièces jointes.**
ADR
DEVOXX FRANCE 2024
CAS CONCRET
/ ARCHITECTURE DECISION RECORD
ADR0042.md
# ADR 0042
**Délestage des services conversationnels par stockage temporaire des pièces jointes.**
#accepté le vendredi 19 avril 2024
## CONTEXTE
ADR
/ Le chainon manquant
DEVOXX FRANCE 2024
DEVOXX FRANCE 2024
THANKS
FOR WATCHING
DEVOXX FRANCE 2024
ADR
REFERENCES
& SLIDES
/
Le
chainon
manquant

Contenu connexe

Similaire à Architecture Decision Record - Le chaînon manquant

20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...LeClubQualiteLogicielle
 
Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...
Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...
Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...Microsoft Technet France
 
Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...
Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...
Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...Microsoft Décideurs IT
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteAZUG FR
 
Case Cloud-Windows -ver 41a
Case Cloud-Windows -ver 41aCase Cloud-Windows -ver 41a
Case Cloud-Windows -ver 41aJulien Genon
 
L'optimisation des réseaux WAN avec CISCO WAAS
L'optimisation des réseaux WAN avec CISCO WAASL'optimisation des réseaux WAN avec CISCO WAAS
L'optimisation des réseaux WAN avec CISCO WAASGroupe IDYAL
 
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolutionLA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolutionOCTO Technology
 
Optimisation des réseaux WAN avec CISCO WAAS
Optimisation des réseaux WAN avec CISCO WAASOptimisation des réseaux WAN avec CISCO WAAS
Optimisation des réseaux WAN avec CISCO WAASGroupe IDYAL
 
Kubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestrationKubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestrationWescale
 
Kubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration DockerKubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration DockerJean-Baptiste Claramonte
 
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Publicis Sapient Engineering
 
Stratégies de Migration de UNV à UNX et des Bases de Données : Retour d'Expér...
Stratégies de Migration de UNV à UNX et des Bases de Données : Retour d'Expér...Stratégies de Migration de UNV à UNX et des Bases de Données : Retour d'Expér...
Stratégies de Migration de UNV à UNX et des Bases de Données : Retour d'Expér...Wiiisdom
 
HIF Paris 2014 - BROCADE - Le Réseau de Data Center « ON-DEMAND »
HIF Paris 2014 - BROCADE - Le Réseau de Data Center « ON-DEMAND »HIF Paris 2014 - BROCADE - Le Réseau de Data Center « ON-DEMAND »
HIF Paris 2014 - BROCADE - Le Réseau de Data Center « ON-DEMAND »Hitachi Data Systems France
 
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...AZUG FR
 
Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Patricia NENZI
 
Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Patricia NENZI
 
Industrie 4.0 / usine du futur : retours concrets & faibles coûts
Industrie 4.0 / usine du futur : retours concrets & faibles coûtsIndustrie 4.0 / usine du futur : retours concrets & faibles coûts
Industrie 4.0 / usine du futur : retours concrets & faibles coûtsFactoVia
 

Similaire à Architecture Decision Record - Le chaînon manquant (20)

20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC...
 
Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...
Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...
Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...
 
Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...
Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...
Fin du support WS 2003 : les technologies sont là ; quelle méthodologie suivr...
 
Chaudronnerie
ChaudronnerieChaudronnerie
Chaudronnerie
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
 
Case Cloud-Windows -ver 41a
Case Cloud-Windows -ver 41aCase Cloud-Windows -ver 41a
Case Cloud-Windows -ver 41a
 
Cahier des charges
Cahier des charges Cahier des charges
Cahier des charges
 
L'optimisation des réseaux WAN avec CISCO WAAS
L'optimisation des réseaux WAN avec CISCO WAASL'optimisation des réseaux WAN avec CISCO WAAS
L'optimisation des réseaux WAN avec CISCO WAAS
 
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolutionLA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
 
Optimisation des réseaux WAN avec CISCO WAAS
Optimisation des réseaux WAN avec CISCO WAASOptimisation des réseaux WAN avec CISCO WAAS
Optimisation des réseaux WAN avec CISCO WAAS
 
Kubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestrationKubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestration
 
Kubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration DockerKubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration Docker
 
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
 
Stratégies de Migration de UNV à UNX et des Bases de Données : Retour d'Expér...
Stratégies de Migration de UNV à UNX et des Bases de Données : Retour d'Expér...Stratégies de Migration de UNV à UNX et des Bases de Données : Retour d'Expér...
Stratégies de Migration de UNV à UNX et des Bases de Données : Retour d'Expér...
 
CV MIKAEL LELOUCH
CV MIKAEL LELOUCHCV MIKAEL LELOUCH
CV MIKAEL LELOUCH
 
HIF Paris 2014 - BROCADE - Le Réseau de Data Center « ON-DEMAND »
HIF Paris 2014 - BROCADE - Le Réseau de Data Center « ON-DEMAND »HIF Paris 2014 - BROCADE - Le Réseau de Data Center « ON-DEMAND »
HIF Paris 2014 - BROCADE - Le Réseau de Data Center « ON-DEMAND »
 
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
 
Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Computerland c cloud-2013oct17
Computerland c cloud-2013oct17
 
Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Computerland c cloud-2013oct17
Computerland c cloud-2013oct17
 
Industrie 4.0 / usine du futur : retours concrets & faibles coûts
Industrie 4.0 / usine du futur : retours concrets & faibles coûtsIndustrie 4.0 / usine du futur : retours concrets & faibles coûts
Industrie 4.0 / usine du futur : retours concrets & faibles coûts
 

Architecture Decision Record - Le chaînon manquant

  • 2. ADR / Le chainon manquant DEVOXX FRANCE 2024
  • 3. Ça dépend ! « Quelle est la meilleure solution pour … ? » DEVOXX FRANCE 2024
  • 5. SYLVAIN AURAT REEFACT ADR / Le chainon manquant DEVOXX FRANCE 2024
  • 9. Michael Nygard DOCUMENTING ARCHITECTURE DECISIONS (2011) DEVOXX FRANCE 2024
  • 16. Cahier des charges fonctionnel Spécifications techniques détaillées Guidelines de développement Manuel d'installation Documentation d'API Guide de contribution Changelog Diagrammes d'architecture Documentation des dépendances Plan de Test Rapports de Bugs / Incidents Release note Documentation du Code (Javadoc, ...) Rapport de Sécurité Plan de gestion de configuration Guide de déploiement Manuel utilisateur Product backlog User stories Definition of done Burndown charts Retrospective outcomes Roadmap produit Diagramme de séquence Architecture decision record Rosetta Stone …
  • 17. ADR / Le chainon manquant DEVOXX FRANCE 2024
  • 19. • ID • DATE • TITRE • STATUT • CONTEXTE • DECISION • CONSEQUENCES ADR FORMAT DEVOXX FRANCE 2024
  • 20. • ID • DATE • TITRE • STATUT • CONTEXTE • DECISION • CONSEQUENCES ADR FORMAT DEVOXX FRANCE 2024
  • 21. • ID • DATE • TITRE • STATUT • CONTEXTE • DECISION • CONSEQUENCES ADR FORMAT DEVOXX FRANCE 2024
  • 22. • ID • DATE • TITRE • STATUT • CONTEXTE • DECISION • CONSEQUENCES ADR FORMAT DEVOXX FRANCE 2024
  • 23. • ID • DATE • TITRE • STATUT • CONTEXTE • DECISION • CONSEQUENCES ADR FORMAT DEVOXX FRANCE 2024
  • 24. • ID • DATE • TITRE • STATUT • CONTEXTE • DECISION • CONSEQUENCES ADR FORMAT • Proposé • Accepté • Remplacé DEVOXX FRANCE 2024
  • 25. • ID • DATE • TITRE • STATUT • CONTEXTE • DECISION • CONSEQUENCES ADR FORMAT • Proposé • Accepté • Remplacé DEVOXX FRANCE 2024
  • 26. • ID • DATE • TITRE • STATUT • CONTEXTE • DECISION • CONSEQUENCES ADR FORMAT • Proposé • Accepté • Remplacé DEVOXX FRANCE 2024
  • 27. • ID • DATE • TITRE • STATUT • CONTEXTE • DECISION • CONSEQUENCES ADR FORMAT DEVOXX FRANCE 2024
  • 28. • ID • DATE • TITRE • STATUT • CONTEXTE • DECISION • CONSEQUENCES ADR FORMAT DEVOXX FRANCE 2024
  • 29. • ID • DATE • TITRE • STATUT • CONTEXTE • DECISION • CONSEQUENCES ADR FORMAT DEVOXX FRANCE 2024
  • 30. • ID • DATE • TITRE • STATUT • CONTEXTE • DECISION • JUSTIFICATION • AL TERNATIVES • CONSEQUENCES ADR FORMAT DEVOXX FRANCE 2024
  • 31. • ID • DATE • TITRE • STATUT • CONTEXTE • DECISION • JUSTIFICATION • AL TERNATIVES • CONSEQUENCES ADR FORMAT DEVOXX FRANCE 2024
  • 32. • ID • DATE • TITRE • STATUT • CONTEXTE • DECISION • JUSTIFICATION • AL TERNATIVES • CONSEQUENCES ADR FORMAT DEVOXX FRANCE 2024
  • 34. ADR CAS CONCRET Client e-Mail S2 Con. e-Mail S3 Sn µBot 1 … / CONTEXTE Con. mobile Mobile Client Chat Con. chat µBot 2 … DEVOXX FRANCE 2024 Plateforme
  • 35. ADR CAS CONCRET Client e-Mail S2 Con. e-Mail S3 Sn µBot 1 … / CONTEXTE Con. mobile Mobile Client Chat Con. chat µBot 2 … DEVOXX FRANCE 2024 Plateforme
  • 36. ADR TITRE Délestage des services conversationnels par stockage temporaire des pièces jointes. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 37. ADR ST A TUT #proposed DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 38. ADR ID 42 DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 39. ADR DA TE N/A DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 40. ADR CONTEXTE Notre système de chatbot, dont le traitement des messages s’effectue à travers une chaîne de services, nécessite une solution efficace pour le transit des pièces jointes. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 41. ADR CONTEXTE Ces pièces jointes transitent actuellement depuis le service en entrée jusqu’au service de sortie et surchargent l’ensemble des services de la plateforme dans lesquels elles ne sont d’aucune utilité. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 42. ADR CONTEXTE Les services sont déployés dans un environnement Kubernetes pour lequel nous ne disposons pas de solution de stockage disque pour l’instant. Obtenir un stockage disque nous coûterait de l’argent et nous ferait attendre plusieurs semaines. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 43. ADR CONTEXTE Nous n’avons pour l’instant que quelques utilisateurs actifs (250 environ) avec peu de requêtes (3000 / mois) et les pièces jointes sont assez petites (quelques ko) lorsqu’il y en a. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 44. ADR CONTEXTE Nous avons besoin d’une solution rapide et facile à mettre en place et facilement évolutive car (…). DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 45. ADR CONTEXTE … DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 46. ADR DECISION Nous avons décidé de développer un service gRPC de délestage des pièces jointes avec un stockage in-memory. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 47. ADR CAS CONCRET Client e-Mail S2 Con. e-Mail S3 Sn µBot 1 … Spj SET GET / CONTEXTE Plateforme
  • 48. ADR JUSTIFICA TIONS Perte potentielle des pièces jointes : Les pièces jointes sont stockées in- memory pendant moins d’une seconde. L’arrêt d’un service durant cette seconde est peu probable. Il sera possible d’ajouter des services en redondances si nécessaire. Dans le mode conversationnel, la perte éventuelle des pièces jointes n’est pas problématique, l’utilisateur peut – au pire - constater l’erreur et renvoyer les pièces jointes. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 49. ADR JUSTIFICA TIONS Taille mémoire : Le nombre d’utilisateurs, de requêtes, la faible taille des pièces jointes ainsi que le délai de stockage limité à quelques secondes nous permet pour l’instant d’envisager un stockage in-memory. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 50. ADR JUSTIFICA TIONS Budget / délais : Un service gRPC avec stockage in-memory est rapide et facile à mettre en place dans notre environnement Kubernetes ; il ne nécessite aucune demande infra supplémentaire qui nécessiterait des justifications budgétaires et des délais de mise en œuvre prolongés. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 51. ADR JUSTIFICA TIONS Performance : L'utilisation de gRPC au lieu de REST nous permet de bénéficier de communications inter-services performantes pour les données binaires. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 52. ADR JUSTIFICA TIONS … DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 53. ADR AL TERNA TIVES Conserver le transfert inter-services : Écarté en raison du nombre de sérialisation/désérialisation et du risque de surcharge des services (en particulier les agents conversationnels « vendors »). DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 54. ADR AL TERNA TIVES Utilisation de solutions de stockage disque / nouvelle base de données persistante : Non retenue pour l’instant à cause des délais de mise en œuvre / coûts liés aux équipes infra. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 55. ADR AL TERNA TIVES Utilisation de notre base de données PostgreSQL existante : Non retenue afin de ne pas surcharger celle-ci. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 56. ADR AL TERNA TIVES Utilisation de REST : Non retenue pour des raisons de performances. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 57. ADR AL TERNA TIVES … DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 58. ADR CONSEQUENCES Nous allons pouvoir commencer immédiatement le développement du service et l’intégrer au sein de plateforme en re-routant les pièces-jointes. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 59. ADR CONSEQUENCES Adaptation de l'équipe: l'équipe, plus habituée au développement d’API REST devra se former sur gRPC. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 60. ADR CONSEQUENCES Envisager la perte potentielle des pièces jointes. DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 61. ADR CONSEQUENCES … DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD
  • 62. ADR # ADR 0042 **Délestage des services conversationnels par stockage temporaire des pièces jointes.** #proposé ## CONTEXTE - Notre système de chatbot, dont le traitement des messages s’effectue à travers une chaîne de services, nécessite une solution efficace pour le transit des pièces jointes. - Ces pièces jointes transitent actuellement depuis le service en entrée jusqu’au service de sortie et surchargent l’ensemble des services de la plateforme dans lesquels elles ne sont d’aucune utilité. - Les services sont déployés dans un environnement Kubernetes pour lequel nous ne disposons pas de solution de stockage disque pour l’instant. Obtenir un stockage disque nous coûterait de l’argent et nous ferait attendre plusieurs semaines. - Nous n’avons pour l’instant que quelques utilisateurs actifs (250 environ) avec peu de requêtes (3000 / mois) et les pièces jointes sont assez petites (quelques ko) lorsqu’il y en a. - Nous avons besoin d’une solution rapide et facile à mettre en place et facilement évolutive car (…). ## DECISION Nous avons décidé de développer un service gRPC de délestage des pièces jointes avec un stockage in-memory. ## JUSTIFICATIONS - **Perte potentielle des pièces jointes :** Les pièces jointes sont stockées in-memory pendant moins d’une seconde. L’arrêt d’un service durant cette seconde est peu probable. Il sera possible d’ajouter des services en redondances si nécessaire. Dans le mode conversationnel, la perte éventuelle des pièces jointes n’est pas problématique, l’utilisateur peut – au pire - constater l’erreur et renvoyer les pièces jointes. - **Taille mémoire :** Le nombre d’utilisateurs, de requêtes, la faible taille des pièces jointes ainsi que le délai de stockage limité à quelques secondes nous permet pour l’instant d’envisager un stockage in-memory. - **Budget / délais :** Un service gRPC avec stockage in-memory est rapide et facile à mettre en place dans notre environnement Kubernetes ; il ne nécessite aucune demande infra supplémentaire qui nécessiterait des justifications budgétaires et des délais de mise en œuvre prolongés. - **Performance :** L'utilisation de gRPC au lieu de REST nous permet de bénéficier de communications inter-services performantes pour les données binaires. ## ALTERNATIVES - **Conserver le transfert inter-services :** Écarté en raison du nombre de sérialisation/désérialisation et du risque de surcharge des services (en particulier les agents conversationnels « vendors »). - **Utilisation de REST :** Non retenue pour des raisons de performances. - **Utilisation de solutions de stockage disque / nouvelle base de données persistante :** Non retenue pour l’instant à cause des délais de mise en œuvre / coûts liés aux équipes infra. - **Utilisation de notre base de données PostgreSQL existante :** Non retenue afin de ne pas surcharger celle-ci. ## CONSEQUENCES - **Développement du service :** Nous allons pouvoir commencer immédiatement le développement du service et l’intégrer au sein de plateforme en re-routant les pièces-jointes - **Adaptation de l'équipe :** L'équipe, plus habituée au développement d’API REST devra se former sur gRPC. - **Risque de perte des pièces jointes.** DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD ADR0042.md
  • 63. - Notre système de chatbot, dont le traitement des messages s’effectue à travers une chaîne de services, nécessite une solution efficace pour le transit des pièces jointes. - Ces pièces jointes transitent actuellement depuis le service en entrée jusqu’au service de sortie et surchargent l’ensemble des services de la plateforme dans lesquels elles ne sont d’aucune utilité. - Les services sont déployés dans un environnement Kubernetes pour lequel nous ne disposons pas de solution de stockage disque pour l’instant. Obtenir un stockage disque nous coûterait de l’argent et nous ferait attendre plusieurs semaines. - Nous n’avons pour l’instant que quelques utilisateurs actifs (250 environ) avec peu de requêtes (3000 / mois) et les pièces jointes sont assez petites (quelques ko) lorsqu’il y en a. - Nous avons besoin d’une solution rapide et facile à mettre en place et facilement évolutive car (…). ## DECISION Nous avons décidé de développer un service gRPC de délestage des pièces jointes avec un stockage in-memory. ## JUSTIFICATIONS - **Perte potentielle des pièces jointes :** Les pièces jointes sont stockées in-memory pendant moins d’une seconde. L’arrêt d’un service durant cette seconde est peu probable. Il sera possible d’ajouter des services en redondances si nécessaire. Dans le mode conversationnel, la perte éventuelle des pièces jointes n’est pas problématique, l’utilisateur peut – au pire - constater l’erreur et renvoyer les pièces jointes. - **Taille mémoire :** Le nombre d’utilisateurs, de requêtes, la faible taille des pièces jointes ainsi que le délai de stockage limité à quelques secondes nous permet pour l’instant d’envisager un stockage in-memory. - **Budget / délais :** Un service gRPC avec stockage in-memory est rapide et facile à mettre en place dans notre environnement Kubernetes ; il ne nécessite aucune demande infra supplémentaire qui nécessiterait des justifications budgétaires et des délais de mise en œuvre prolongés. - **Performance :** L'utilisation de gRPC au lieu de REST nous permet de bénéficier de communications inter-services performantes pour les données binaires. ## ALTERNATIVES - **Conserver le transfert inter-services :** Écarté en raison du nombre de sérialisation/désérialisation et du risque de surcharge des services (en particulier les agents conversationnels « vendors »). - **Utilisation de REST :** Non retenue pour des raisons de performances. - **Utilisation de solutions de stockage disque / nouvelle base de données persistante :** Non retenue pour l’instant à cause des délais de mise en œuvre / coûts liés aux équipes infra. - **Utilisation de notre base de données PostgreSQL existante :** Non retenue afin de ne pas surcharger celle-ci. ## CONSEQUENCES - **Développement du service :** Nous allons pouvoir commencer immédiatement le développement du service et l’intégrer au sein de plateforme en re-routant les pièces-jointes - **Adaptation de l'équipe :** L'équipe, plus habituée au développement d’API REST devra se former sur gRPC. - **Risque de perte des pièces jointes.** ADR DEVOXX FRANCE 2024 CAS CONCRET / ARCHITECTURE DECISION RECORD ADR0042.md # ADR 0042 **Délestage des services conversationnels par stockage temporaire des pièces jointes.** #accepté le vendredi 19 avril 2024 ## CONTEXTE
  • 64. ADR / Le chainon manquant DEVOXX FRANCE 2024
  • 66. DEVOXX FRANCE 2024 ADR REFERENCES & SLIDES / Le chainon manquant