Le site est down ! Quelle architecture pour résister à un passage TV ? #QVEMA
par
, 07/01/2022 à 17h39 (1384 Affichages)
Chaque année c'est la même chose :
des entrepreneurs peu aguerris se présentent devant les investisseurs de l'émission "Qui veut être mon associé ?", et ce passage TV génère une telle fréquentation que leur site tombe.
Je vous propose donc un passage en revue d'architectures web adaptées à l'hyper croissance des startups et aux pics de charge du e-commerce.
Architectures web classiques difficiles à scaler
- CMS sur un hébergement mutualisé : solution très économique, à réserver pour de très petits trafics ;
- Site (CMS ou sur mesure) hébergé sur un serveur dédié : pour des trafics constants et des budgets fixes ;
- Site hébergé sur un VPS : possibilité de scaler "à la main" de façon non linéaire, en dimensionnant l'hébergement avec des coeurs, de la RAM et de l'espace disque supplémentaires. Ca peut fonctionner pour absorber les périodes de forte charge "prévisibles" et suffisamment homogènes. Avec le risque de perdre des ventes aux plus mauvais moment...
Si vous êtes déjà dans une de ces configurations, il existe évidemment de multiples optimisations possibles :
- redimensionner l'hébergement ;
- ajouter des systèmes de cache (cache de données, cache du CMS, cache en sortie) ;
- utiliser le cache HTTP ;
- optimiser les assets (minifier le javascript et le CSS, optimiser les images...) ;
- placer les assets sur un CDN.
Architectures web scalant plus facilement
Lorsque la startup passe du MVP à une plateforme plus durable, le CTO peut adopter l'un des styles d'architecture suivants :
- monolithe : style d'architecture utilisé par Facebook ;
- monolithe adaptatif ;
- architecture basée sur le cloud : utilisée par Doctolib pour absorber des pics de charge énormes ;
- JAMstack ;
- micro-services : style d'architecture utilisé par Google, Amazon...
- micro-frontend : pour exploiter des micro-services dans un portail qui les unifie.
JAMstack : pour scaler vite et bien avec un petit bugdet
La JAMstack est un style d'architecture frugal qui consiste à servir des ressources statiques et s'appuyer sur des services cloud pour générer certaines fonctionnalités.
O'Reilly et Netlify proposent un excellent ebook gratuit d'initiation à cette philosophie. L'ebook propose en cas d'étude la refonte du site de Smashing Magazine, et montre comment aborder les aspects gestion de contenu et ecommerce avec la JAMstack.
Un effet de bord intéressant est qu'il est possible d'accélérer les développements grâce à la JAMstack pour délivrer plus vite des fonctionnalités et générer de la croissance pour la startup.
Quelle organisation humaine pour gérer les pics de charge ?
Doctolib a fait un retour d'expérience intéressant sur leur organisation en période de pics de charge.
Globalement, votre organisation devra être mature sur le monitoring et l'alerting pour dimensionner correctement votre infrastructure sans engendrer de coût inutile.