One application to rule them all

Votre hôte

@DedieuS

sdedieu

                   s.dedieu@criteo.com

Le besoin

Schématisation

Avant

Application B

Application A

Après

Application B

Application A

Les pièges

  • Technologiques
  • Complexité
  • Performances
  • Adaptabilité

Contraintes

v12

v12

v12

v14

v14

v12

v12

v14

Technologies

Complexité

Performances

Adaptabilité

Sinon...

Votre Portail

Approche par librairie

Principe

portal-shell

Application A

Démo

Technologies

Application A

v12

v12

v12

v12

Technologies

Application B

v14

v14

v14

v14

Technologies

v14

v14

v12

v12

Application B

Application A

   localhost:4201
   localhost:4202

Complexité

Application

portal-shell

Performances

Adaptabilité

Adaptabilité

v14

v14

v12

v12

Application B

Application A

   localhost:4201
   localhost:4202

Limites

v14

v12

Application A

   localhost:4201

v12

Application A

   localhost:4201

Limites

Approche par microfrontend

Principe

Application A

    localhost:4201
    localhost:4200/app-a

Portal-shell

    localhost:4200

Principe

Démo

Technologies

Application

    localhost:4202
    localhost:4201/app-a

Portal-shell

    localhost:4201

Complexité

Application

    localhost:4202
    localhost:4201/app-a

Performances

Application

    localhost:4202
    localhost:4201/app-a

Portal-shell

    localhost:4201

Adaptabilité

Application

    localhost:4202
    localhost:4200/app-a

Portal-shell

    localhost:4200

Application

    localhost:4202

Adaptabilité

Application

    localhost:4201
    localhost:4200/app-a

Portal-shell

    localhost:4200

Portal-shell

    localhost:4200

Limites

Application A

    localhost:4202
    localhost:4201/app-a

Portal-shell

    localhost:4201

Application B

    localhost:4202

v12

v14

v14

v12

Approche par librairie Approche par microfrontends



Pros

- Nouvelle version n'impacte pas les applications en production

 

- Feedback / Rollback rapide lors d'une nouvelle version


Cons

- Feedbacks lents


 

- Version management

Comparaison

Monorepo Nx

Principe

Application A

Portal-shell

Application B

package.json

Principe

Application A

Portal-shell

Application B

Portal-shell

Démo

Merci !

(Re)sources

Questions ?