les bonnes pratiques d'une architecture logicielle et infrastructure de l'hébergement...
Post on 26-Dec-2014
713 Views
Preview:
DESCRIPTION
TRANSCRIPT
Oxalide © 2013 – Documents confidentiels
08/10/2013
Les bonnes pratiques d'une architecture logicielle et infrastructure de l'hébergement Magento
Oxalide © 2013 – Documents confidentiels
Maxime KURKDJIAN
Directeur de productionIngénieur Système & Réseaux
« Gros barbu »
Oxalide © 2013 – Documents confidentiels
E-Commerçants
SaaS e-Commerce
Oxalide © 2013 – Documents confidentiels
NOS OBJECTIFSL’hébergement Magento
Efficacité : and it’s cheap
Scalabité : and it’s fast even when there is a lot of
people
Performance : and it’s fast
Disponibilité : It works
La maîtrise budgétaire et l’innovation
Queuing / Bus / Node.JS
L’architecture logicielle redimensionnable
Sharding verticale / horizontale
La ressource au bon endroitProfiling PHP/ MySQL
Webperformance
La fiabilité sous-jacente La résilience et la redondance
Infogérance en 24x7x365
Oxalide © 2013 – Documents confidentiels
LES DIFFERENTS LEVIERSL’hébergement Magento
Infrastructure
Magento
Architecture logicielle
MOAClient
eCommerçant
L’intégrateur
Oxalide © 2013 – Documents confidentiels
Magento
Solution Magento
Block cache HTMLFlat catalogueCompilation! loggingEtc…
LES BEST PRACTICE MAGENTO
Effet de levier sur le nombre
de produit
Effet pervers sur la performance
Oxalide © 2013 – Documents confidentiels
Architecture logicielle
VarnishApache/nginxPHP/FPM APCMemcachedSolRMySQL
UN BON EMPILEMENT APPLICATIF
Architecture logicielle
Proxy HTTP
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
Architecture technique
ArchitectureServeurRéseau
DES COUCHES BASSES OPTIMISEES
Infrastructure
n-frontal / répartiteur de charge
Backoffice dédié…
Bonne ressource au bon endroit
Latence : memcachedCDN local
Oxalide © 2013 – Documents confidentiels
LE TOWER DEFENCE DES RESSOURCES
Le caching
Oxalide © 2013 – Documents confidentiels
LE PRINCIPELe coût d’une requête
faible importantTemps de traitement et de réponse
Un process Apache pèse près 500 Mo :
c’est lourd
Oxalide © 2013 – Documents confidentiels
LES PROTECTIONS DES RESSOURCES
Les différents caching
100 %
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
Oxalide © 2013 – Documents confidentiels
LES PROTECTIONS DES RESSOURCES
Les différents caching
ApacheAPC
Memcached
Query Cache
10 %100 %
90 %
1er rempart
2ème rempart
3ème rempart
4ème rempart
Effet de levier qui peut multiplier par 100 la
capacité du site
Oxalide © 2013 – Documents confidentiels
IMPLEMENTATION
Niveau 1 Manuel et webmastering
Niveau 2Automatique et avec les headers
Niveau 3Automatique et intégrée au CMS
La politique de caching
Statique Dynamique
Un chantier de webperformance est pertinent à ce niveau
Des modules comme Power Cache et
Turpentine
Oxalide © 2013 – Documents confidentiels
LE WARM-UPL’architecture de cache
Apache
Apache
Niveau 1Puissance
Si le cache est vide et passe en mode
WARM-UP, les appels au serveur peuvent le faire
tomber.
Oxalide © 2013 – Documents confidentiels
LE WARM-UPL’architecture de cache
Apache
Apache
Niveau 1Puissance
Niveau 2Intelligence1. Si le cache est
vide au lieu d’interroger le
serveur, interroge un autre varnish
2. Si tous les varnish sont vides, ils interrogent les
varnish en seconde ligne.
3. Si ces derniers sont vides, il interrogent le serveur. Cette architecture
garantie une bonne disponibilité du
service
Oxalide © 2013 – Documents confidentiels
La politique de caching
KISS : KEEP IT SMALL & SIMPLE
Flush : la mise à jour forcée du cacheEviter le flush : attention au temps de warm-upMaîtriser la taille du cachePréférer les noms des objets différents pour les mises à jour
Edge Side Include : le cache partiel d’une pageCacher les éléments dynamiquesGarder un découpage simpleEviter les usines à gazEnterprise Edition gère
l’ESI de manière native
Eviter les include d’include
Peut être gérer via une API par exemple :
Turpentine
Oxalide © 2013 – Documents confidentiels
Caching des objets non-cachage
COMMENT GERER CES OBJETS ?
Cookies
Ajax
ESI
PLUSIEURS ELEMENTS DYNAMIQUES D’UNE PAGELe découpage des pages en zones statiques et dynamiques
LES DONNES PRODUITS VARIABLES StockPrix promotionnels et/ou profilés
LES DONNEES UTILISATEURSAuthentificationTunnel SSL
Ne pas bootstrapper tout Magento pour les requêtes non-cachable
Oxalide © 2013 – Documents confidentiels
La politique de caching
MONITORING
Indicateurs
DevOps
MAÎTRISER LES DEPLOIEMENTSLe temps de Warm-upTime stamper les évolutions applicativesLe temps de générations des pages à « l’origine »
MESURER POUR L’AMÉLIORERLa taille du cacheLe nombre d’éléments cachés
Pour le SEO : Attention au TTL trop long
Le cache masque la performance à l’origine
Point important pour le déploiement à
l’étranger
Oxalide © 2013 – Documents confidentiels
Réussir son caching
LES CLES DU SUCCES
1
2
3
FAVORISEZ LA COLLABORATION DEV ET OPSDevOps
CONSIDÉREZ LA PROBLÉMATIQUE TOUT AU LONG DU PROJETMême combat que la sécurité
INTÉGREZ LA PERFORMANCE DANS LE PLANNINGSavoir stopper la course à la fonctionnalitéProvisionner la ressource (homme + temps) pour la performanceTMC et retour de TMC valoriser le travail sur la perf
C’est un arbitrage fonctionnel et de
planning
Connaissance du développement et de
l’infrastructure
Oxalide © 2013 – Documents confidentiels
LES DIFFERENTS LEVIERSL’hébergement Magento
Infrastructure
Magento
Architecture logicielle
MOAClient
eCommerçant
L’intégrateur
DEVOPS
Oxalide © 2013 – Documents confidentiels
Des questions ?
Oxalide © 2013 – Documents confidentiels
Siège social & NOC :25 Boulevard de Strasbourg – 75010 Paris
Tel : +33 1 75 77 16 50e-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
Merci
top related