La plupart des systèmes e-commerce regroupent, sur un même serveur, le Front office et le back office.

Bon, quand on se lance, il est complètement normal de tout mettre sur un seul serveur : on n’a pas l’argent pour se payer plusieurs machines. Et puis le trafic des premiers mois ne pose pas vraiment de problème…

Par la suite, c’est une autre histoire.

Le site e-commerce représente un chiffre d’affaire concéquent… Et la moindre interruption de service met en danger l’équilibre de « la petite entreprise e-commerce ».

Le Front office doit donc être en ligne 24h sur 24, 7 jours sur 7.

Pour garantir ce résultat, il faut isoler le Front au maximum.

C’est le meilleur moyen de garantir que le front est « centré » sur sa mission : répondre, dans un temps très court, aux requêtes des internautes.

Le back office n’entre pas dans cette mission… Il doit donc être découplé du Front.

Une première étape peut être de monter une architecture à trois niveaux :

  • Le Front office, composé d’un ou plusieurs serveurs Web
  • La base de données, hébergée sur son propre serveur
  • Le Back office, hébergé sur un autre serveur

C’est une bonne solution, qui a l’avantage de pouvoir être mise en oeuvre pratiquement sans modifier les solutions e-commerce du marché.

Avantages :
Les programmes back office ne pénalisent plus le Front.

Limites majeures :
Si une page du back sollicite beaucoup la base de données, les temps de réponses du front seront bien impactés par l’utilisation du back…
Autre limite : toute bêtise sur le back sera instantannément visible sur le Front.

Et puis, pour un site plus pro, on souhaite un découplage plus fort :
On veut, par exemple, mettre à jour le catalogue, et pouvoir « recetter » les modifications, avant qu’elles soient en ligne.

L’étape d’après consiste donc à avoir un ensemble front complet, composé de serveurs front, avec une base de données dédiée.

Le back office est complètement séparé, avec sa propre base de données.

Si on part d’une solution e-commerce toute faite, on peut arriver à ce résultat assez facilement…

Toute la question, sur un tel système, c’est : comment synchroniser les données entre les bases du Front et du Back.

Là, pas de solution magique : il va faloir développer une couche de synchronisation.

Et ça, ça sera l’occasion de pleins d’autres billets…