Copil tech 18/08/2022

Previously, in tech team ...

  • Gestion des commandes
  • Imports de quiz
  • Mise à jour forcée de l'app
  • Premier microservice, ranking, en préprod
     
  • Focus de l'ensemble de l'équipe tech pour assurer l'atterrissage de Safran

Monolithe -> microservices

  • Besoin de tout redéployer à chaque fois.
  • Si le code plante, tout plante
  • 3rd parties par marque blanche
  • Manque de contrôle des coûts
  • On se marche sur les pieds

Besoin de réponse à long terme à une complexité croissante.

Pourquoi ? (rappel)

  • Monolithe pas extensible à l'infini

Environnements

dev

pré-prod

béta

prod

boogie
challenge
blanche
dev
vivons vélo
acf
Safran

Monolithe vs microservices

challenge

iOS

Android

Backend

Backoffice

Safran

iOS

Android

Backoffice

Processus NodeJS

Base de données SQL

Backend

Processus NodeJS

Base de données SQL

Monolithes

Monolithe vs microservices

challenge

iOS

Android

Backend

Backoffice

Safran

iOS

Android

Backoffice

Processus Rust

Base de données DynDB

Service activités

Processus NodeJS

Service ranking

Base de données SQL

Processus NodeJS

Service chat

Base de données Doc

Event Queue

Micro-services

Backoffice unifié

challenge

iOS

Android

Backend

Safran

iOS

Android

Backoffice

Processus Rust

Base de données DynDB

Service activités

Processus NodeJS

Service ranking

Base de données SQL

Processus NodeJS

Service chat

Base de données Doc

Event Queue

Micro-services

Architecture en microservices

  • Meilleure parallélisation des tâches
  • Optimisation des coûts
  • Scalabilité ++, techniquement, en collaborateurs, en nombre de participants, ...
  • Besoin de davantage d'outils de contrôle, monitoring, ...
  • Besoin de davantage de communication inter-équipe.
  • Compétences à acquérir : kafka, kubernetes

Archi comparée

Code

Env

MB1

Env

MB2

Env

MS

V2 monolithe

Microservices

Bootstrap microservices

Env

MS

Codebase

Bootstrap microservices

Env

MS

Codebase

Équipe fullstack

Pré-septembre 2022

Équipe fullstack

Bastien

Blandine

Lucas

Thomas

Septembre 2022

Équipe fullstack

Bastien

Blandine

Coralie

Aubin

Lucas

Thomas

Benjamin

Septembre 2022

Équipe fullstack

Bastien

Blandine

Coralie

Aubin

Lucas

Thomas

Benjamin

Septembre 2022

Bastien

Blandine

Coralie

Aubin

Lucas

Thomas

Benjamin

Feature team 1

Feature team 2

Septembre 2022

Bastien

Blandine

Coralie

Aubin

Lucas

Thomas

Benjamin

Feature team 1

Feature team 2

Septembre 2022

Bastien

Aubin

Lucas

Feature team 1

Chat
Ranking
Activités
Monolithe

Blandine

Coralie

Thomas

Benjamin

Feature team 2

Janvier 2023

Bastien

Aubin

Lucas

Feature team 1

Chat
Ranking
Activités
Monolithe

Blandine

Coralie

Thomas

Benjamin

Feature team 2

Septembre 2022

Feature team 1

Feature team 2

Septembre 2022

Feature team 1

Feature team 2

Devops

Team mobile

Produit

UX

CSM

Bientôt ?

Feature team 1

Feature team 2

Team mobile 1

PO 2
UX/UI 2

Team mobile 2

PO 1
UX/UI 1

Bientôt ?

Feature team 1

Feature team 2

Team mobile 1

PO 2
UX/UI 2

Team mobile 2

PO 1
UX/UI 1

Bientôt ?

Feature team 1

Feature team 2

Devops

CSM

Bientôt ?

Feature team 1

Feature team 2

Bientôt ?

Dev Android

Dev web

Dev backend

UX

UI

PO

Dev Android

Dev web

Dev backend

UX

UI

PO

Dev iOS

Dev iOS

Bientôt ?

Dev Android

Dev web

Dev backend

UX

UI

PO

Dev Android

Dev web

Dev backend

UX

UI

PO

Dev iOS

Dev iOS

Guilde Kotlin

Guilde Swift

Guilde React

Guilde Node

Plus tard...

Retour au présent...

Feature team 1

Feature team 2

Choix des microservices

  • Besoin de tout redéployer à chaque fois.
  • Si le code plante, tout plante
  • 3rd parties par marque blanche
  • Manque de contrôle des coûts
  • On se marche sur les pieds

Besoin de réponse à long terme à une complexité croissante.

  • Monolithe pas extensible à l'infini

Choix des microservices

  • Monolithe pas extensible à l'infini

Septembre 2022

Env

MS

Codebase

Feature team 1

Feature team 2

Q3 - Q4 2022

Codebase

Feature team 1

Feature team 2

Chat
Ranking
Activités
Monolithe

Q3 - Q4 2022

Ranking

Chat

Activités

Monolithe

Q3 - Q4 2022

Ranking

Chat

Activités

Monolithe

Kafka

Séparation du code

Code

Env

MB1

Env

MB2

Séparation du code

Code

Env

MB1

Env

MB2

Env

MS

Code
commun

NGS-CORE

Séparation du code

Code

Env

MB1

Env

MB2

Env

MS

Code
commun

Séparation du code

Code
monolithe

Env

MB1

Env

MB2

Env

MS

Code
commun

Monolithe

Séparation du code

Code
monolithe

Env

MB1

Env

MB2

Env

MS

Code
commun

Monolithe

Kafka

Monolithe

Séparation du code

Code
monolithe

Env

MB1

Env

MB2

Env

MS

Code
commun

Monolithe

Kafka

Ranking

Monolithe

Code
Ranking

Séparation du code

Code
monolithe

Env

MB1

Env

MB2

Env

MS

Code
commun

Monolithe

Kafka

Ranking

Chat

Code
Ranking

Code
Chat

Roadmap technique prospective

Roadmap 3 / 6 / 9

Roadmap produit vs Roadmap technique

Roadmap technique prospective

Roadmap produit vs Roadmap technique

  • Indoor
  • Vidéo
  • Social wall
  • Tracker externe
  • Totems
  • Architecture
  • Optimisation
  • Refactoring
  • Documentation
  • Tuyauterie

Produit

Technique

Roadmap technique prospective

Roadmap 3 / 6 / 9

Roadmap produit vs Roadmap technique

Roadmap technique prospective

Roadmap 3 / 6 / 9

3

6

9

mois : on est raisonnablement optimiste qu'on aura développé ces éléments

mois : on a quelques idées de ce qu'on va réaliser

mois : on imagine que c'est la direction qu'on prend, sans aucune certitude

Roadmap technique prospective

3

6

9

Microservices
ranking, chat 1.0, activité 1.0

 

Mobile
Home v4 dynamique, Tracker offline

Microservices
chat 2.0, activité 2.0, quiz 1.0
 

Backoffice

Quiz unifiés, design system

Microservices
chat 2.0, activité 2.0, quiz 1.0
 

Backoffice

Backoffice unifié pour toutes les marques blanches

Backend
Météo

 

Backoffice
Début travaux design system

septembre
octobre
novembre

décembre
janvier
février

mars
avril
mai

Non contractuel

Roadmap technique prospective

3

Microservices
ranking

chat 1.0

activité 1.0

 

Mobile
Home v4 dynamique

Tracker offline

Backend
Météo
 

 

Backoffice
Début travaux design system

septembre
octobre
novembre

Non contractuel

Roadmap technique prospective

3

Microservices
ranking

chat 1.0

activité 1.0

 

Mobile
Home v4 dynamique

Tracker offline

Backend
Météo
 

 

Backoffice
Début travaux design system

septembre
octobre
novembre

Non contractuel

Besoin d'aller vite.
Versions 1.0 non optimales

Roadmap technique prospective

3

Microservices
ranking

chat 1.0

activité 1.0

 

Mobile
Home v4 dynamique

Tracker offline

Backend
Météo
 

 

Backoffice
Début travaux design system

septembre
octobre
novembre

Non contractuel

Home configurable

Roadmap technique prospective

3

Microservices
ranking

chat 1.0

activité 1.0

 

Mobile
Home v4 dynamique

Tracker offline

Backend
Météo
 

 

Backoffice
Début travaux design system

septembre
octobre
novembre

Non contractuel

Pouvoir reprendre en cas de crash

Roadmap technique prospective

3

Microservices
ranking

chat 1.0

activité 1.0

 

Mobile
Home v4 dynamique

Tracker offline

Backend
Météo
 

 

Backoffice
Début travaux design system

septembre
octobre
novembre

Non contractuel

Maîtrise des coûts

Roadmap technique prospective

3

Microservices
ranking

chat 1.0

activité 1.0

 

Mobile
Home v4 dynamique

Tracker offline

Backend
Météo
 

 

Backoffice
Début travaux design system

septembre
octobre
novembre

Non contractuel

Couche technique d'affichage du futur BO en mode SaaS

Roadmap technique prospective

3

6

9

Microservices
ranking, chat 1.0, activité 1.0

 

Mobile
Home v4 dynamique, Tracker offline

Microservices
chat 2.0, activité 2.0, quiz 1.0
 

Backoffice

Quiz unifiés, design system

Microservices
chat 2.0, activité 2.0, quiz 1.0
 

Backoffice

Backoffice unifié pour toutes les marques blanches

Backend
Météo

 

Backoffice
Début travaux design system

septembre
octobre
novembre

décembre
janvier
février

mars
avril
mai

Non contractuel

Roadmap technique prospective

6

Microservices
chat 2.0
activité 2.0
quiz 1.0
 

Backoffice

Quiz unifiés
design system

décembre
janvier
février

Non contractuel

Roadmap technique prospective

3

6

9

Microservices
ranking, chat 1.0, activité 1.0

 

Mobile
Home v4 dynamique, Tracker offline

Microservices
chat 2.0, activité 2.0, quiz 1.0
 

Backoffice

Quiz unifiés, design system

Microservices
chat 2.0, activité 2.0, quiz 1.0
 

Backoffice

Backoffice unifié pour toutes les marques blanches

Backend
Météo

 

Backoffice
Début travaux design system

septembre
octobre
novembre

décembre
janvier
février

mars
avril
mai

Non contractuel

Questions ?

Copil tech 18/08/2022

By Sébastien Quenet

Copil tech 18/08/2022

  • 23