Mais conteúdo relacionado
Semelhante a Les bonnes pratiques d'une architecture logicielle et infrastructure de l'hébergement Magento (20)
Les bonnes pratiques d'une architecture logicielle et infrastructure de l'hébergement Magento
- 1. Les bonnes pratiques d'une architecture
logicielle et infrastructure de l'hébergement
Magento
08/10/2013
Oxalide © 2013 – Documents confidentiels
- 4. L’hébergement Magento
NOS OBJECTIFS
La maîtrise budgétaire et
l’innovation
Queuing / Bus / Node.JS
Efficacité : and it’s cheap
L’architecture logicielle
redimensionnable
Sharding verticale / horizontale
Scalabité : and it’s fast even
when there is a lot of people
Performance : and it’s fast
Disponibilité : It works
La ressource au bon endroit
Profiling PHP/ MySQL
Webperformance
La fiabilité sous-jacente
La résilience et la redondance
Infogérance en 24x7x365
Oxalide © 2013 – Documents confidentiels
- 6. Solution Magento
LES BEST PRACTICE MAGENTO
Magento
Effet de levier sur le
Block cache HTML
nombre de produit
Flat catalogue
Compilation
! logging
Effet pervers sur la performance
Etc…
Oxalide © 2013 – Documents confidentiels
- 7. Architecture logicielle
UN BON EMPILEMENT APPLICATIF
Proxy HTTP
Architecture
logicielle
Varnish
Apache/nginx
PHP/FPM
APC
Memcached
SolR
MySQL
Apache pour
commencer
C’est la stack à banaliser lorsque l’on
fait du Magento et quand on a des
projections de croissance forte
Oxalide © 2013 – Documents confidentiels
- 8. Architecture technique
DES COUCHES BASSES OPTIMISEES
Infrastructure
Architecture
Serveur
Réseau
n-frontal / répartiteur de
charge
Backoffice dédié
…
Bonne ressource au bon
endroit
Latence : memcached
CDN local
Oxalide © 2013 – Documents confidentiels
- 10. Le coût d’une requête
LE PRINCIPE
Un process Apache pèse
près 500 Mo : c’est lourd
faible
important
Temps de traitement et de réponse
Oxalide © 2013 – Documents confidentiels
- 11. Les différents caching
LES PROTECTIONS DES RESSOURCES
Ressources CPU/Mémoire
sont limitées et il faut les
utiliser à bon escient
Sans optimisation, tous les
visiteurs pourraient faire
des requêtes lourdes –
utilisant toutes les
ressources CPU/Mémoire
100 %
Oxalide © 2013 – Documents confidentiels
- 12. Les différents caching
LES PROTECTIONS DES RESSOURCES
1er rempart
2ème
rempart
3ème
rempart
4ème
rempart
Query
Cache
Apache
APC
100 %
90 %
Effet de levier qui peut
multiplier par 100 la
capacité du site
Memcached
10 %
Oxalide © 2013 – Documents confidentiels
- 13. La politique de caching
IMPLEMENTATION
Des modules comme
Power Cache et Turpentine
Un chantier de
webperformance est
pertinent à ce niveau
Niveau 3
Niveau 2
Niveau 1
Automatique et
intégrée au CMS
Automatique et
avec les headers
Manuel et
webmastering
Statique
Dynamique
Oxalide © 2013 – Documents confidentiels
- 14. L’architecture de cache
LE WARM-UP
Niveau 1
Puissance
Apache
Si le cache est vide et
passe en mode
WARM-UP, les appels
au serveur peuvent le
faire tomber.
Apache
Oxalide © 2013 – Documents confidentiels
- 15. L’architecture de cache
LE WARM-UP
1. Si le cache est vide
au lieu d’interroger le
serveur, interroge un
autre varnish
Niveau 1
Puissance
Niveau 2
Intelligence
2. Si tous les varnish
sont vides, ils
interrogent les varnish
en seconde ligne.
Apache
Apache
3. Si ces derniers sont
vides, il interrogent le
serveur. Cette
architecture garantie
une bonne disponibilité
du service
Oxalide © 2013 – Documents confidentiels
- 16. La politique de caching
KISS : KEEP IT SMALL & SIMPLE
Enterprise Edition gère l’ESI
de manière native
Edge Side Include : le cache partiel d’une page
Cacher les éléments dynamiques
Eviter les include
Garder un découpage simple
d’include
Eviter les usines à gaz
Flush : la mise à jour forcée du cache
Eviter le flush : attention au temps de warm-up
Maîtriser la taille du cache
Préférer les noms des objets différents pour les mises
à jour
Peut être gérer via une API
par exemple : Turpentine
Oxalide © 2013 – Documents confidentiels
- 17. Caching des objets non-cachage
COMMENT GERER CES OBJETS ?
Cookies
Ajax
ESI
LES DONNEES UTILISATEURS
Authentification
Tunnel SSL
Ne pas bootstrapper tout
Magento pour les requêtes
non-cachable
LES DONNES PRODUITS VARIABLES
Stock
Prix promotionnels et/ou profilés
PLUSIEURS ELEMENTS DYNAMIQUES D’UNE
PAGE
Le découpage des pages en zones statiques
et dynamiques
Oxalide © 2013 – Documents confidentiels
- 18. La politique de caching
MONITORING
MESURER POUR L’AMÉLIORER
La taille du cache
Le nombre d’éléments cachés
Pour le SEO : Attention au
TTL trop long
Indicateurs
Point important pour le
déploiement à l’étranger
DevOps
MAÎTRISER LES DEPLOIEMENTS
Le temps de Warm-up
Time stamper les évolutions applicatives
Le temps de générations des pages à
« l’origine »
Le cache masque la
performance à l’origine
Oxalide © 2013 – Documents confidentiels
- 19. Réussir son caching
LES CLES DU SUCCES
INTÉGREZ LA PERFORMANCE DANS LE PLANNING
1
Savoir stopper la course à la fonctionnalité
Provisionner la ressource (homme + temps) pour la performance
TMC et retour de TMC valoriser le travail sur la perf
CONSIDÉREZ LA PROBLÉMATIQUE TOUT AU LONG DU PROJET
Même combat que la sécurité
2
C’est un arbitrage
fonctionnel et de planning
FAVORISEZ LA COLLABORATION DEV ET OPS
DevOps
3
Connaissance du
développement et de
l’infrastructure
Oxalide © 2013 – Documents confidentiels
- 20. L’hébergement Magento
LES DIFFERENTS LEVIERS
MOA
Client
eCommerçant
L’intégrateur
Magento
DEVOPS
Architecture logicielle
Infrastructure
Oxalide © 2013 – Documents confidentiels
- 22. Siège social & NOC :
25 Boulevard de Strasbourg – 75010 Paris
Tel : +33 1 75 77 16 50
e-mail : commercial@oxalide.com
Ou contactez directement :
Maxime KURKDJIAN – Directeur associé
Tel : +33 1 75 77 16 58 / mku@oxalide.com
Sébastien LUCAS – Directeur associé
Tel : +33 1 75 77 16 59 / slu@oxalide.com
Oxalide © 2013 – Documents confidentiels