SlideShare a Scribd company logo
1 of 23
Les bonnes pratiques d'une architecture
logicielle et infrastructure de l'hébergement
Magento
08/10/2013

Oxalide © 2013 – Documents confidentiels
Maxime KURKDJIAN
Directeur de production

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

Oxalide © 2013 – Documents confidentiels
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’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
L’hébergement Magento

LES DIFFERENTS LEVIERS

MOA

Client
eCommerçant

L’intégrateur

Magento
Architecture logicielle
Infrastructure

Oxalide © 2013 – Documents confidentiels
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
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
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
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 traitement et de réponse
Oxalide © 2013 – Documents confidentiels
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
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
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
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
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
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
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
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
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
L’hébergement Magento

LES DIFFERENTS LEVIERS
MOA

Client
eCommerçant

L’intégrateur

Magento
DEVOPS
Architecture logicielle

Infrastructure

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 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
Merci

Oxalide © 2013 – Documents confidentiels

More Related Content

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

TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureThomas Conté
 
Reprise et Continuité d’activité sur le Cloud : Mythes & Réalités
Reprise et Continuité d’activité sur le Cloud : Mythes & RéalitésReprise et Continuité d’activité sur le Cloud : Mythes & Réalités
Reprise et Continuité d’activité sur le Cloud : Mythes & RéalitésMicrosoft Technet France
 
#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015
#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015
#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015marcomeasyteam
 
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...Microsoft
 
Retour d'expérience sur Capistrano
Retour d'expérience sur CapistranoRetour d'expérience sur Capistrano
Retour d'expérience sur CapistranoOxalide
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devopsEmmanuel Roldan
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteAZUG FR
 
#OOW15LeOff Breakfast EASYTEAM 26 octobre 2015
#OOW15LeOff Breakfast EASYTEAM 26 octobre 2015#OOW15LeOff Breakfast EASYTEAM 26 octobre 2015
#OOW15LeOff Breakfast EASYTEAM 26 octobre 2015marcomeasyteam
 
Présentation evénement AWS - 13 oct 2015
Présentation evénement AWS  - 13 oct 2015 Présentation evénement AWS  - 13 oct 2015
Présentation evénement AWS - 13 oct 2015 ABC Systemes
 
Présentation/Atelier net app vshape fujitsu worldtour2014
Présentation/Atelier net app vshape fujitsu worldtour2014Présentation/Atelier net app vshape fujitsu worldtour2014
Présentation/Atelier net app vshape fujitsu worldtour2014Fujitsu France
 
MS Project Virtuel: EPM Cloud 360
MS Project Virtuel: EPM Cloud 360MS Project Virtuel: EPM Cloud 360
MS Project Virtuel: EPM Cloud 360Groupe SIRIUS
 
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...Patrick Guimonet
 
IBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle Rome
IBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle RomeIBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle Rome
IBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle RomeIBM Switzerland
 
La performance de vos applications Drupal
La performance de vos applications DrupalLa performance de vos applications Drupal
La performance de vos applications DrupalOxalide
 
Déploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsDéploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsNicolas Herbaut
 
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...Fujitsu France
 
Net Worker 9 : une solution orientée Backup As a Service
Net Worker 9 : une solution orientée Backup As a ServiceNet Worker 9 : une solution orientée Backup As a Service
Net Worker 9 : une solution orientée Backup As a ServiceRSD
 
Architecture azure performante
Architecture azure performanteArchitecture azure performante
Architecture azure performanteEric De Carufel
 
Alphorm.com Formation Microsoft Azure (AZ-900) : Les Fondamentaux
Alphorm.com Formation Microsoft Azure (AZ-900) : Les FondamentauxAlphorm.com Formation Microsoft Azure (AZ-900) : Les Fondamentaux
Alphorm.com Formation Microsoft Azure (AZ-900) : Les FondamentauxAlphorm
 
Webséminaire DBaaS (Novembre 2014)
Webséminaire DBaaS (Novembre 2014)Webséminaire DBaaS (Novembre 2014)
Webséminaire DBaaS (Novembre 2014)Jean-Philippe PINTE
 

Similar to Les bonnes pratiques d'une architecture logicielle et infrastructure de l'hébergement Magento (20)

TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans AzureTechDays 2014 : retour d'expérience Kompass migration Java dans Azure
TechDays 2014 : retour d'expérience Kompass migration Java dans Azure
 
Reprise et Continuité d’activité sur le Cloud : Mythes & Réalités
Reprise et Continuité d’activité sur le Cloud : Mythes & RéalitésReprise et Continuité d’activité sur le Cloud : Mythes & Réalités
Reprise et Continuité d’activité sur le Cloud : Mythes & Réalités
 
#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015
#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015
#OOW15LeOff Breakfast EASYTEAM 28 octobre 2015
 
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
 
Retour d'expérience sur Capistrano
Retour d'expérience sur CapistranoRetour d'expérience sur Capistrano
Retour d'expérience sur Capistrano
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
 
#OOW15LeOff Breakfast EASYTEAM 26 octobre 2015
#OOW15LeOff Breakfast EASYTEAM 26 octobre 2015#OOW15LeOff Breakfast EASYTEAM 26 octobre 2015
#OOW15LeOff Breakfast EASYTEAM 26 octobre 2015
 
Présentation evénement AWS - 13 oct 2015
Présentation evénement AWS  - 13 oct 2015 Présentation evénement AWS  - 13 oct 2015
Présentation evénement AWS - 13 oct 2015
 
Présentation/Atelier net app vshape fujitsu worldtour2014
Présentation/Atelier net app vshape fujitsu worldtour2014Présentation/Atelier net app vshape fujitsu worldtour2014
Présentation/Atelier net app vshape fujitsu worldtour2014
 
MS Project Virtuel: EPM Cloud 360
MS Project Virtuel: EPM Cloud 360MS Project Virtuel: EPM Cloud 360
MS Project Virtuel: EPM Cloud 360
 
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
 
IBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle Rome
IBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle RomeIBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle Rome
IBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle Rome
 
La performance de vos applications Drupal
La performance de vos applications DrupalLa performance de vos applications Drupal
La performance de vos applications Drupal
 
Déploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsDéploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIs
 
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
 
Net Worker 9 : une solution orientée Backup As a Service
Net Worker 9 : une solution orientée Backup As a ServiceNet Worker 9 : une solution orientée Backup As a Service
Net Worker 9 : une solution orientée Backup As a Service
 
Architecture azure performante
Architecture azure performanteArchitecture azure performante
Architecture azure performante
 
Alphorm.com Formation Microsoft Azure (AZ-900) : Les Fondamentaux
Alphorm.com Formation Microsoft Azure (AZ-900) : Les FondamentauxAlphorm.com Formation Microsoft Azure (AZ-900) : Les Fondamentaux
Alphorm.com Formation Microsoft Azure (AZ-900) : Les Fondamentaux
 
Webséminaire DBaaS (Novembre 2014)
Webséminaire DBaaS (Novembre 2014)Webséminaire DBaaS (Novembre 2014)
Webséminaire DBaaS (Novembre 2014)
 

More from Oxalide

Terraform & Vault - Un duo d'enfer!
Terraform & Vault - Un duo d'enfer!Terraform & Vault - Un duo d'enfer!
Terraform & Vault - Un duo d'enfer!Oxalide
 
Workshop Docker & Kubernetes - Oxalide Academy
Workshop Docker & Kubernetes - Oxalide AcademyWorkshop Docker & Kubernetes - Oxalide Academy
Workshop Docker & Kubernetes - Oxalide AcademyOxalide
 
Morning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyMorning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyOxalide
 
Meetup Paris Monitoring #9 : Un système de gestion et de visualisation des al...
Meetup Paris Monitoring #9 : Un système de gestion et de visualisation des al...Meetup Paris Monitoring #9 : Un système de gestion et de visualisation des al...
Meetup Paris Monitoring #9 : Un système de gestion et de visualisation des al...Oxalide
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesOxalide
 
Docker compose
Docker composeDocker compose
Docker composeOxalide
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide
 
Varnish & blue/green deployments
Varnish & blue/green deploymentsVarnish & blue/green deployments
Varnish & blue/green deploymentsOxalide
 
ISO 27001 est-il soluble dans l'agilité ?
ISO 27001 est-il soluble dans l'agilité ?ISO 27001 est-il soluble dans l'agilité ?
ISO 27001 est-il soluble dans l'agilité ?Oxalide
 
Oxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic SearchOxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic SearchOxalide
 
Paris hackers Meetup #12 - How to handle large audience
Paris hackers Meetup #12 - How to handle large audienceParis hackers Meetup #12 - How to handle large audience
Paris hackers Meetup #12 - How to handle large audienceOxalide
 
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...Oxalide
 
201211 drupagora hostingdrupal
201211 drupagora hostingdrupal201211 drupagora hostingdrupal
201211 drupagora hostingdrupalOxalide
 
Cloud & physique, mauvaises et bonnes solutions
Cloud & physique, mauvaises et bonnes solutionsCloud & physique, mauvaises et bonnes solutions
Cloud & physique, mauvaises et bonnes solutionsOxalide
 
Comprendre pour choisir son hébergement
Comprendre pour choisir son hébergementComprendre pour choisir son hébergement
Comprendre pour choisir son hébergementOxalide
 
Gérer 100 000 visites par jour avec Magento - Les enjeux e-commerce de Prisma...
Gérer 100 000 visites par jour avec Magento - Les enjeux e-commerce de Prisma...Gérer 100 000 visites par jour avec Magento - Les enjeux e-commerce de Prisma...
Gérer 100 000 visites par jour avec Magento - Les enjeux e-commerce de Prisma...Oxalide
 
Performance barcampfinal
Performance barcampfinalPerformance barcampfinal
Performance barcampfinalOxalide
 
Clusif panoramadelacybercrimalite2009
Clusif panoramadelacybercrimalite2009Clusif panoramadelacybercrimalite2009
Clusif panoramadelacybercrimalite2009Oxalide
 
Clusif panoramadelacybercrimalite2009
Clusif panoramadelacybercrimalite2009Clusif panoramadelacybercrimalite2009
Clusif panoramadelacybercrimalite2009Oxalide
 
Clusif cloud-2010-datacenter
Clusif cloud-2010-datacenterClusif cloud-2010-datacenter
Clusif cloud-2010-datacenterOxalide
 

More from Oxalide (20)

Terraform & Vault - Un duo d'enfer!
Terraform & Vault - Un duo d'enfer!Terraform & Vault - Un duo d'enfer!
Terraform & Vault - Un duo d'enfer!
 
Workshop Docker & Kubernetes - Oxalide Academy
Workshop Docker & Kubernetes - Oxalide AcademyWorkshop Docker & Kubernetes - Oxalide Academy
Workshop Docker & Kubernetes - Oxalide Academy
 
Morning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyMorning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide Academy
 
Meetup Paris Monitoring #9 : Un système de gestion et de visualisation des al...
Meetup Paris Monitoring #9 : Un système de gestion et de visualisation des al...Meetup Paris Monitoring #9 : Un système de gestion et de visualisation des al...
Meetup Paris Monitoring #9 : Un système de gestion et de visualisation des al...
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
Docker compose
Docker composeDocker compose
Docker compose
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
Varnish & blue/green deployments
Varnish & blue/green deploymentsVarnish & blue/green deployments
Varnish & blue/green deployments
 
ISO 27001 est-il soluble dans l'agilité ?
ISO 27001 est-il soluble dans l'agilité ?ISO 27001 est-il soluble dans l'agilité ?
ISO 27001 est-il soluble dans l'agilité ?
 
Oxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic SearchOxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic Search
 
Paris hackers Meetup #12 - How to handle large audience
Paris hackers Meetup #12 - How to handle large audienceParis hackers Meetup #12 - How to handle large audience
Paris hackers Meetup #12 - How to handle large audience
 
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
AgoraCMS 2014 : Les bonnes pratiques de l'hébergement d'un CMS pour une meill...
 
201211 drupagora hostingdrupal
201211 drupagora hostingdrupal201211 drupagora hostingdrupal
201211 drupagora hostingdrupal
 
Cloud & physique, mauvaises et bonnes solutions
Cloud & physique, mauvaises et bonnes solutionsCloud & physique, mauvaises et bonnes solutions
Cloud & physique, mauvaises et bonnes solutions
 
Comprendre pour choisir son hébergement
Comprendre pour choisir son hébergementComprendre pour choisir son hébergement
Comprendre pour choisir son hébergement
 
Gérer 100 000 visites par jour avec Magento - Les enjeux e-commerce de Prisma...
Gérer 100 000 visites par jour avec Magento - Les enjeux e-commerce de Prisma...Gérer 100 000 visites par jour avec Magento - Les enjeux e-commerce de Prisma...
Gérer 100 000 visites par jour avec Magento - Les enjeux e-commerce de Prisma...
 
Performance barcampfinal
Performance barcampfinalPerformance barcampfinal
Performance barcampfinal
 
Clusif panoramadelacybercrimalite2009
Clusif panoramadelacybercrimalite2009Clusif panoramadelacybercrimalite2009
Clusif panoramadelacybercrimalite2009
 
Clusif panoramadelacybercrimalite2009
Clusif panoramadelacybercrimalite2009Clusif panoramadelacybercrimalite2009
Clusif panoramadelacybercrimalite2009
 
Clusif cloud-2010-datacenter
Clusif cloud-2010-datacenterClusif cloud-2010-datacenter
Clusif cloud-2010-datacenter
 

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
  • 2. Maxime KURKDJIAN Directeur de production Ingénieur Système & Réseaux « Gros barbu » Oxalide © 2013 – Documents confidentiels
  • 3. E-Commerçants SaaS e-Commerce 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
  • 5. L’hébergement Magento LES DIFFERENTS LEVIERS MOA Client eCommerçant L’intégrateur Magento Architecture logicielle Infrastructure 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
  • 9. Le caching LE TOWER DEFENCE DES RESSOURCES 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
  • 21. Des questions ? 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
  • 23. Merci Oxalide © 2013 – Documents confidentiels