Les bonnes pratiques d'une architecture
logicielle et infrastructure de l'hébergement
Magento
08/10/2013

Oxalide © 2013 –...
Maxime KURKDJIAN
Directeur de production

Ingénieur Système & Réseaux
« Gros barbu »

Oxalide © 2013 – Documents confident...
E-Commerçants

SaaS e-Commerce

Oxalide © 2013 – Documents confidentiels
L’hébergement Magento

NOS OBJECTIFS

La maîtrise budgétaire et
l’innovation
Queuing / Bus / Node.JS

Efficacité : and it’...
L’hébergement Magento

LES DIFFERENTS LEVIERS

MOA

Client
eCommerçant

L’intégrateur

Magento
Architecture logicielle
Inf...
Solution Magento

LES BEST PRACTICE MAGENTO

Magento

Effet de levier sur le
Block cache HTML
nombre de produit
Flat catal...
Architecture logicielle

UN BON EMPILEMENT APPLICATIF
Proxy HTTP

Architecture
logicielle

Varnish
Apache/nginx
PHP/FPM
AP...
Architecture technique

DES COUCHES BASSES OPTIMISEES

Infrastructure

Architecture
Serveur
Réseau

n-frontal / répartiteu...
Le caching

LE TOWER DEFENCE DES RESSOURCES

Oxalide © 2013 – Documents confidentiels
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 traitemen...
Les différents caching

LES PROTECTIONS DES RESSOURCES
Ressources CPU/Mémoire
sont limitées et il faut les
utiliser à bon ...
Les différents caching

LES PROTECTIONS DES RESSOURCES
1er rempart

2ème
rempart

3ème
rempart

4ème
rempart

Query
Cache
...
La politique de caching

IMPLEMENTATION
Des modules comme
Power Cache et Turpentine
Un chantier de
webperformance est
pert...
L’architecture de cache

LE WARM-UP

Niveau 1
Puissance

Apache

Si le cache est vide et
passe en mode
WARM-UP, les appels...
L’architecture de cache

LE WARM-UP
1. Si le cache est vide
au lieu d’interroger le
serveur, interroge un
autre varnish

N...
La politique de caching

KISS : KEEP IT SMALL & SIMPLE

Enterprise Edition gère l’ESI
de manière native

Edge Side Include...
Caching des objets non-cachage

COMMENT GERER CES OBJETS ?
Cookies

Ajax

ESI

LES DONNEES UTILISATEURS
Authentification
T...
La politique de caching

MONITORING

MESURER POUR L’AMÉLIORER
La taille du cache
Le nombre d’éléments cachés

Pour le SEO ...
Réussir son caching

LES CLES DU SUCCES
INTÉGREZ LA PERFORMANCE DANS LE PLANNING

1

Savoir stopper la course à la fonctio...
L’hébergement Magento

LES DIFFERENTS LEVIERS
MOA

Client
eCommerçant

L’intégrateur

Magento
DEVOPS
Architecture logiciel...
Des questions ?

Oxalide © 2013 – Documents confidentiels
Siège social & NOC :
25 Boulevard de Strasbourg – 75010 Paris
Tel : +33 1 75 77 16 50
e-mail : commercial@oxalide.com

Ou ...
Merci

Oxalide © 2013 – Documents confidentiels
Upcoming SlideShare
Loading in …5
×

Les bonnes pratiques d'une architecture logicielle et infrastructure de l'hébergement Magento

1,778 views

Published on

Les bonnes pratiques d'une architecture logicielle et infrastructure de l'hébergement #Magento

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,778
On SlideShare
0
From Embeds
0
Number of Embeds
90
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Les bonnes pratiques d'une architecture logicielle et infrastructure de l'hébergement Magento

  1. 1. Les bonnes pratiques d'une architecture logicielle et infrastructure de l'hébergement Magento 08/10/2013 Oxalide © 2013 – Documents confidentiels
  2. 2. Maxime KURKDJIAN Directeur de production Ingénieur Système & Réseaux « Gros barbu » Oxalide © 2013 – Documents confidentiels
  3. 3. E-Commerçants SaaS e-Commerce Oxalide © 2013 – Documents confidentiels
  4. 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
  5. 5. L’hébergement Magento LES DIFFERENTS LEVIERS MOA Client eCommerçant L’intégrateur Magento Architecture logicielle Infrastructure Oxalide © 2013 – Documents confidentiels
  6. 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. 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. 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
  9. 9. Le caching LE TOWER DEFENCE DES RESSOURCES Oxalide © 2013 – Documents confidentiels
  10. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 20. L’hébergement Magento LES DIFFERENTS LEVIERS MOA Client eCommerçant L’intégrateur Magento DEVOPS Architecture logicielle Infrastructure Oxalide © 2013 – Documents confidentiels
  21. 21. Des questions ? Oxalide © 2013 – Documents confidentiels
  22. 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
  23. 23. Merci Oxalide © 2013 – Documents confidentiels

×