SlideShare une entreprise Scribd logo
1  sur  22
Architecture et scalabilité




                                                                                   1
© RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS   www.rbs-software.fr
2

                                                                                                  Programme

    Programme                   Présentation
    Présentation
                                Architecture
    Architecture

    Préparation                 Préparation de l'environnement
    Installation                Installation de RBSChange
    Scalabilité ? Définition
                                Scalabilité ? Définition
    Gestion du cache

    Configuration du cache      Gestion du cache

    Performance                 Configuration du cache
    Quelques exemple
                                Performance
    A propos de sécurité

    Problèmes courants          Quelques exemples

    Questions                   A propos de la sécurité

                                Problèmes courants

                                Questions


                               © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS   www.rbschange.fr
Présentation

Programme

Présentation                Votre serviteur
Architecture
                              ●    Community Manager
                              ●    Formation
Préparation                   ●    Support
Installation                  ●    Documentation
Scalabilité ? Définition
                            RBS
Gestion du cache              ●    Existe depuis 1997
Configuration du cache        ●    135 salariés
                              ●    Infrastructure, Mobilité, ERP, Web
Performance

Quelques exemple
                            RBS Change
A propos de sécurité          ●    2001 : Création de WebEdit
Problèmes courants
                              ●    2004/2005 : Refactoring pragmatique
                              ●    2006 : e-Commerce
Questions                     ●    2010 : Février 2010 libération du code




                           © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS   www.rbschange.fr
Architecture

Programme
                                                                            Serveur HTTP
                                                                            Serveur HTTP
Présentation

Architecture

Préparation

Installation

Scalabilité ? Définition                                                                    Connecteurs
                                              Framework                          Modules    Connecteurs
Gestion du cache                              Framework                          Modules     API, WS...
                                                                                             API, WS...
Configuration du cache

Performance

Quelques exemple
                                                                                    PHP 5
                                                                                    PHP 5
A propos de sécurité

Problèmes courants                                                                           SolR
                                                                                             SolR
Questions                                    Base de données
                                             Base de données
                                                                                             Java
                                                                                              Java

                                                                   Système d'exploitation
                                                                   Système d'exploitation

                           © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS        www.rbschange.fr
Architecture

Programme                   Environnement
Présentation                  ●       Stack LAMP et MAMP classique
Architecture
                              ●       Stack WAMP avec prérequis
                              ●       Environnement Java pour SolR
Préparation

Installation
                            Prérequis WAMP
Scalabilité ? Définition      ●       Vista
Gestion du cache              ●       Server 2008
Configuration du cache
                            => php.net/manual/en/function.symlink.php
Performance

Quelques exemple

A propos de sécurité
                            Sizing
Problèmes courants

Questions                         Hypothèse                                     Serveur dédié
                                  ● Site normal                                 ● 1 CPU, 2 cœurs
                                  ● Serveur dédié                               ● 4 G RAM

                                                                                ● 20 G disque




                           © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS              www.rbschange.fr
Préparation de l'environnement : BDD

Programme

Présentation

Architecture

Préparation

Installation                Moteurs supportés
Scalabilité ? Définition      ●    MySQL
                              ●    MariaDB
Gestion du cache              ●    Oracle (extension communautaire)
Configuration du cache

Performance                 Configuration MySQL
                              ●    InnoDB activé
Quelques exemple              ●    innodb_file_per_table
A propos de sécurité

Problèmes courants

Questions




                           © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS   www.rbschange.fr
Préparation de l'environnement : PHP

Programme                   Versions
Présentation                  ●    5.3
Architecture
                              ●    5.4

Préparation                 Paquets
Installation                  ●    php5
                              ●    php5-cli
Scalabilité ? Définition      ●    php5-curl
Gestion du cache              ●    php5-gd
Configuration du cache
                              ●    php5mysql
                              ●    php5-xsl
Performance                   ●    (php5-imagick)
Quelques exemple

A propos de sécurité        Configuration
                              ●    short_open_tag à off
Problèmes courants            ●    magic_quotes_gpc à off
Questions                     ●    memory_limit au minimum à 192M
                              ●    default_charset à utf-8
                              ●    session.cache_limiter à " "
                              ●    post_max_size et upload_max_filesize



                           © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS   www.rbschange.fr
Préparation de l'environnement : HTTP

Programme                   Serveurs validés
Présentation                  ●    Apache 2
Architecture
                              ●    Zend Server
                              ●    Cherokee
Préparation

Installation                Obligatoirement
                              ●    Activer la ré-écriture d'URL (rewrite)
Scalabilité ? Définition
                              ●    Le serveur doit pouvoir s'atteindre
Gestion du cache

Configuration du cache      Recommandés
                              ●    Activer la compression (deflate)
Performance
                              ●    Permettre la modification des en-têtes (headers)
Quelques exemple              ●    Gestion d'expiration du cache (expires)
A propos de sécurité

Problèmes courants          Côté vhosts
                              ●    Ajout des types XUL pour le back office
Questions
                            AddType application/vnd.mozilla.xul+xml .xul
                            AddType text/xml .xbl


                                      Nous ne parlerons que du serveur Apache étant donné qu'il s'agit du plus
                                      répandu
                           © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS   www.rbschange.fr
Préparation de l'environnement : HTTP
                                   <VirtualHost _default_:80>
                                     ServerName demo.local.rbschange.fr
Programme
                                      AssignUserID demo demo
Présentation
                                      ServerAdmin demo@localhost
Architecture                          CustomLog /var/log/apache2/demo.local.rbschange.fr.log combined

Préparation                           # specific types for Change backoffice
                                      AddType application/x-xpinstall .xpi
Installation                          AddType application/vnd.mozilla.xul+xml .xul
                                      AddType text/xml .rdf .xbl
Scalabilité ? Définition              # Expires header
                                      ExpiresActive On
Gestion du cache                      ExpiresByType image/gif A7200
                                      ExpiresByType image/png A7200
Configuration du cache                ExpiresByType image/jpeg A7200
                                      ExpiresByType text/css A7200
Performance                           ExpiresByType text/javasript A7200
                                      ExpiresByType application/x-javascript A7200
                                      ExpiresByType application/x-shockwave-flash A7200
Quelques exemple
                                     # Text data compression
A propos de sécurité                 AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript
                                   application/json
Problèmes courants                   DeflateCompressionLevel 1
                                     BrowserMatch ^Mozilla/4 gzip-only-text/html
Questions                            BrowserMatch ^Mozilla/4.0[678] no-gzip
                                     BrowserMatch bMSIE !no-gzip !gzip-only-text/html

                                     DocumentRoot /home/demo/www
                                     <Directory /home/demo/www>
                                         Options Indexes FollowSymLinks MultiViews
                                         AllowOverride All
                                         Order allow,deny
                                         allow from all
                                     </Directory>
                                   </VirtualHost>
                           © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS                      www.rbschange.fr
Préparation de l'environnement : SolR

Programme

Présentation

Architecture

Préparation

Installation                Implications
Scalabilité ? Définition      ●    JRE
                              ●    Un serveur applicatif (Tomcat ou Jetty)
Gestion du cache              ●    Exposition publique facultative
Configuration du cache

Performance                 Configuration de SolR
                              ●    Fichiers de configuration situés dans
Quelques exemple
                                   « framework/config/solr/conf »
A propos de sécurité          ●    En fonction de la volumétrie on peut
Problèmes courants                 jouer sur les paramètres Xms et Xmx de la JVM
Questions




                                      Compatible SolR v1.4.1 / Incompatible SolR 3.0.x
                                      Tuning du GC de la JVM
                           © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS   www.rbschange.fr
11

                                                                                    Installation de RBSChange

     Programme

     Présentation

     Architecture

     Préparation                 Webinstaller
     Installation
                                   ●
                                        Fichier zip
     Scalabilité ? Définition
                                 Ligne de commande
     Gestion du cache              ●
                                        Au minimum :
     Configuration du cache              ●
                                           config
     Performance
                                         ●
                                           framework
     Quelques exemple
                                         ●
                                           themes
                                         ●
                                           change.properties
     A propos de sécurité
                                         ●
                                           change.xml
     Problèmes courants                  ●
                                           profile
     Questions




                                © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS     www.rbschange.fr
12

                                                                                    Installation de RBSChange

     Programme

     Présentation

     Architecture

     Préparation

     Installation

     Scalabilité ? Définition

     Gestion du cache                                                         Exemples d'installation :
     Configuration du cache
                                                                                ●
                                                                                      Webinstaller
                                                                                ●
                                                                                      Par la ligne de commande
     Performance

     Quelques exemple

     A propos de sécurité

     Problèmes courants

     Questions




                                © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS             www.rbschange.fr
13

                                                                                                  Scalabilité ? Définition

     Programme

     Présentation
                                    Scalabilité
     Architecture

     Préparation                    En informatique matérielle et logicielle et en
                                    télécommunications, le mot anglais scalability désigne
     Installation
                                    la capacité d'un produit à s'adapter à un changement
     Scalabilité ? Définition       d'ordre de grandeur de la demande (montée en charge).
     Gestion du cache               En particulier sa capacité à maintenir ses fonctionnalités et ses
                                    performances en cas de forte demande.
     Configuration du cache

     Performance                    ...
     Quelques exemple

     A propos de sécurité           La « scalabilité » peut faire référence à la capacité d’un système à
                                    accroître sa capacité de calcul sous une charge accrue quand
     Problèmes courants
                                    des ressources (généralement du matériel) sont ajoutées.
     Questions                      …

                                                                                             Source : Wikipédia (fr.wikipedia.org/wiki/Scalabilité)




                                © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS                           www.rbschange.fr
14

                                                                                             Gestion du cache

     Programme

     Présentation

     Architecture

     Préparation
                                 But
     Installation                  ●
                                        Diminuer le temps de traitement et la charge côté serveur
     Scalabilité ? Définition

     Gestion du cache            Leviers
     Configuration du cache
                                   ●
                                        Apache (module expires)
                                   ●
                                        Cache d'opcode
     Performance                   ●
                                        Reverse proxy-cache
     Quelques exemple              ●
                                        Cache Mongo
     A propos de sécurité
                                   ●
                                        Cache de fichiers
     Problèmes courants

     Questions




                                           Pas de validation avec MySQL Proxy

                                © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS      www.rbschange.fr
15

                                                                                             Configuration du cache

     Programme                   Activation cache :
                                   ●
                                        Fichier project.xml
     Présentation                …
                                 <config>
     Architecture
                                 …
     Préparation                 <injection>
                                 <entry name="f_DataCacheService">f_DataCacheFileService</entry>
     Installation                </injection>
                                 …
     Scalabilité ? Définition

     Gestion du cache            Granularité du cache
     Configuration du cache        ●
                                        Durée de vie configurable
     Performance
                                   ●
                                        Complet
                                   ●
                                        Cache de bloc débrayable
     Quelques exemple              ●
                                        Cache de données indépendant et débrayable
     A propos de sécurité        <define name="CHANGE_CACHE_DIR">...</define>
                                 <define name="CHANGE_CACHE_PDF">...</define>
     Problèmes courants          <define name="AG_DISABLE_BLOCK_CACHE">...</define>
                                 <define name="AG_DISABLE_SIMPLECACHE">...</define>
     Questions                   <define name="CHANGE_CACHE_MAX_TIME">...</define>
                                 <define name="CHANGE4_CACHE_SERVICE_CLASS">...</define>
                                 <define name="DISABLE_DATACACHE">...</define>


                                           Les services de gestion du cache sont disponibles dans
                                           «framework/cache/*Service.php»

                                           Pour voir les configuration du cache «framework/config/project.xml»
                                © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS           www.rbschange.fr
16

                                                                                                Performance

     Programme

     Présentation

     Architecture

     Préparation
                                 Leviers
     Installation                  ●
                                        Système de cache
     Scalabilité ? Définition
                                   ●
                                        Proxy-cache
                                   ●
                                        Base de données (index)
     Gestion du cache
                                   ●
                                        Mode cluster
     Configuration du cache

     Performance

     Quelques exemple

     A propos de sécurité

     Problèmes courants

     Questions




                                © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS   www.rbschange.fr
17

                                                                       Exemple période de soldes2010

     Programme

     Présentation

     Architecture

     Préparation

     Installation

     Scalabilité ? Définition

     Gestion du cache

     Configuration du cache

     Performance

     Quelques exemple

     A propos de sécurité

     Problèmes courants

     Questions




                                © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS   www.rbschange.fr
18

                                                                                                   Année 2012

     Programme

     Présentation

     Architecture

     Préparation

     Installation

     Scalabilité ? Définition

     Gestion du cache

     Configuration du cache

     Performance

     Quelques exemple

     A propos de sécurité

     Problèmes courants

     Questions




                                © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS   www.rbschange.fr
19

                                                                                             A propos de la sécurité

     Programme

     Présentation

     Architecture
                                 De base
                                   ●
                                        Développements noyau testés
     Préparation                   ●
                                        PDO utilisation de « prepared statements » et de requêtes
     Installation                       paramétrées
     Scalabilité ? Définition
                                 Coût en temps de paramétrage
     Gestion du cache              ●
                                        Possibilité de mettre en place un WAF
     Configuration du cache        ●
                                        Incompatible avec le module Apache security (config de base)
     Performance
                                 A vos risques et périls
     Quelques exemple              ●
                                        Installer des modules à partir de sites non officiels
     A propos de sécurité

     Problèmes courants

     Questions                                                           +                          =

                                           Plus d'info sur PDO et l'injection SQL sur StackOverflow
                                           Plus d'information sur NAXSI : http://code.google.com/p/naxsi/
                                © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS           www.rbschange.fr
20

                                                                                             Problèmes courants

     Programme

     Présentation

     Architecture

     Préparation

     Installation

     Scalabilité ? Définition      ●
                                        Gestion des droits niveau système
     Gestion du cache
                                   ●
                                        Serveur qui n'arrive pas à se résoudre
     Configuration du cache

     Performance                   ●
                                        Modification du paramètre open_basedir
     Quelques exemple
                                   ●
                                        « Too many open files » pour SolR
     A propos de sécurité

     Problèmes courants

     Questions




                                © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS        www.rbschange.fr
Questions

Programme

Présentation

Architecture

Préparation

Installation

Scalabilité ? Définition

Gestion du cache

Configuration du cache

Performance

Quelques exemple

A propos de sécurité

Problèmes courants

Questions




                           © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS   www.rbschange.fr
Programme

Présentation

Architecture

Préparation

Installation

Gestion du cache




                                                                  MERCI
Configuration du cache

Performance

Quelques exemple

A propos de sécurité

Problèmes courants

Questions




                         © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS   www.rbschange.fr

Contenu connexe

En vedette

Iconographie tir arc_versailles
Iconographie tir arc_versaillesIconographie tir arc_versailles
Iconographie tir arc_versaillesHervé Biran
 
Curiculum françai[pdf]
Curiculum françai[pdf]Curiculum françai[pdf]
Curiculum françai[pdf]mihoub
 
Die PV-Anlage im Privathaushalt für die kommunale Energiewende
Die PV-Anlage im Privathaushalt für die kommunale EnergiewendeDie PV-Anlage im Privathaushalt für die kommunale Energiewende
Die PV-Anlage im Privathaushalt für die kommunale EnergiewendeErdwärme Gemeinschaft Bayern e.V.
 
Biohackers Les implants - Cafe Numerique
Biohackers Les implants - Cafe NumeriqueBiohackers Les implants - Cafe Numerique
Biohackers Les implants - Cafe NumeriqueCarlos González
 
Dosapac Presentation Fr1
Dosapac Presentation Fr1Dosapac Presentation Fr1
Dosapac Presentation Fr1Teresa Rabaçal
 
Ktt Selbstregulierung
Ktt SelbstregulierungKtt Selbstregulierung
Ktt SelbstregulierungBart van Loon
 
l’action pénale de la victime
l’action pénale de la victimel’action pénale de la victime
l’action pénale de la victimemarsed kadha
 
42 [pdf library]
42 [pdf library]42 [pdf library]
42 [pdf library]nourd
 
Barrierefreiheit im Fokus: 12 Beispiele für Accessibility
Barrierefreiheit im Fokus: 12 Beispiele für AccessibilityBarrierefreiheit im Fokus: 12 Beispiele für Accessibility
Barrierefreiheit im Fokus: 12 Beispiele für AccessibilityNicolai Schwarz
 
Soft fluent@md day2011
Soft fluent@md day2011Soft fluent@md day2011
Soft fluent@md day2011MDDAY11
 
Presentation Catherine Epstein
Presentation Catherine EpsteinPresentation Catherine Epstein
Presentation Catherine EpsteinCatherine Epstein
 
HOLA in FRENCH
HOLA in FRENCHHOLA in FRENCH
HOLA in FRENCHdearl1
 

En vedette (16)

Iconographie tir arc_versailles
Iconographie tir arc_versaillesIconographie tir arc_versailles
Iconographie tir arc_versailles
 
Francia
FranciaFrancia
Francia
 
Curiculum françai[pdf]
Curiculum françai[pdf]Curiculum françai[pdf]
Curiculum françai[pdf]
 
Ost 1 10256 84
Ost 1 10256 84Ost 1 10256 84
Ost 1 10256 84
 
Die PV-Anlage im Privathaushalt für die kommunale Energiewende
Die PV-Anlage im Privathaushalt für die kommunale EnergiewendeDie PV-Anlage im Privathaushalt für die kommunale Energiewende
Die PV-Anlage im Privathaushalt für die kommunale Energiewende
 
Biohackers Les implants - Cafe Numerique
Biohackers Les implants - Cafe NumeriqueBiohackers Les implants - Cafe Numerique
Biohackers Les implants - Cafe Numerique
 
Dosapac Presentation Fr1
Dosapac Presentation Fr1Dosapac Presentation Fr1
Dosapac Presentation Fr1
 
Ktt Selbstregulierung
Ktt SelbstregulierungKtt Selbstregulierung
Ktt Selbstregulierung
 
l’action pénale de la victime
l’action pénale de la victimel’action pénale de la victime
l’action pénale de la victime
 
42 [pdf library]
42 [pdf library]42 [pdf library]
42 [pdf library]
 
Barrierefreiheit im Fokus: 12 Beispiele für Accessibility
Barrierefreiheit im Fokus: 12 Beispiele für AccessibilityBarrierefreiheit im Fokus: 12 Beispiele für Accessibility
Barrierefreiheit im Fokus: 12 Beispiele für Accessibility
 
1 Stunde iPhone
1 Stunde iPhone1 Stunde iPhone
1 Stunde iPhone
 
Soft fluent@md day2011
Soft fluent@md day2011Soft fluent@md day2011
Soft fluent@md day2011
 
Presentation Catherine Epstein
Presentation Catherine EpsteinPresentation Catherine Epstein
Presentation Catherine Epstein
 
HOLA in FRENCH
HOLA in FRENCHHOLA in FRENCH
HOLA in FRENCH
 
Manual de excel
Manual de excelManual de excel
Manual de excel
 

Similaire à RBS Change - Architecture et scalabilité

Saas Libre
Saas LibreSaas Libre
Saas Libregrolland
 
Objet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeObjet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeformationobjetdirect
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 
Serveurs core et virtualisation
Serveurs core et virtualisationServeurs core et virtualisation
Serveurs core et virtualisationChristophe Laporte
 
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...Microsoft Technet France
 
Développer et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftDévelopper et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftLeTesteur
 
Alphorm.com Formation Les solutions de Haute Disponibilité sous Windows Serv...
Alphorm.com Formation Les solutions de  Haute Disponibilité sous Windows Serv...Alphorm.com Formation Les solutions de  Haute Disponibilité sous Windows Serv...
Alphorm.com Formation Les solutions de Haute Disponibilité sous Windows Serv...Alphorm
 
.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?Rui Carvalho
 
Les bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresLes bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresEDB
 
Aperçu de java EE 5
Aperçu de java EE 5Aperçu de java EE 5
Aperçu de java EE 5Quentin Adam
 
Sql Server et SharePoint le couple de l'année 2012
Sql Server et SharePoint le couple de l'année 2012Sql Server et SharePoint le couple de l'année 2012
Sql Server et SharePoint le couple de l'année 2012Nicolas Georgeault
 
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéalOpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéalJonathan Clarke
 
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
 
RBS Change - développements spécifiques
RBS Change - développements spécifiquesRBS Change - développements spécifiques
RBS Change - développements spécifiquesrbschange
 
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...dbi services
 
Game of upgrades to liferay dxp - ep1: Migration de données
Game of upgrades to liferay dxp - ep1: Migration de donnéesGame of upgrades to liferay dxp - ep1: Migration de données
Game of upgrades to liferay dxp - ep1: Migration de donnéesQuang Tu LE
 
Les performances sur des développements PhP
Les performances sur des développements PhPLes performances sur des développements PhP
Les performances sur des développements PhPneuros
 
Construire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAPConstruire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAPClément OUDOT
 

Similaire à RBS Change - Architecture et scalabilité (20)

Saas Libre
Saas LibreSaas Libre
Saas Libre
 
OpenDS - Open Source Java LDAP server
OpenDS - Open Source Java LDAP serverOpenDS - Open Source Java LDAP server
OpenDS - Open Source Java LDAP server
 
Objet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonomeObjet Direct Formation Java pour devenir autonome
Objet Direct Formation Java pour devenir autonome
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
Serveurs core et virtualisation
Serveurs core et virtualisationServeurs core et virtualisation
Serveurs core et virtualisation
 
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
 
Développer et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftDévelopper et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoft
 
Alphorm.com Formation Les solutions de Haute Disponibilité sous Windows Serv...
Alphorm.com Formation Les solutions de  Haute Disponibilité sous Windows Serv...Alphorm.com Formation Les solutions de  Haute Disponibilité sous Windows Serv...
Alphorm.com Formation Les solutions de Haute Disponibilité sous Windows Serv...
 
.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?
 
Les bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers PostgresLes bonnes pratiques pour migrer d'Oracle vers Postgres
Les bonnes pratiques pour migrer d'Oracle vers Postgres
 
Aperçu de java EE 5
Aperçu de java EE 5Aperçu de java EE 5
Aperçu de java EE 5
 
Sql Server et SharePoint le couple de l'année 2012
Sql Server et SharePoint le couple de l'année 2012Sql Server et SharePoint le couple de l'année 2012
Sql Server et SharePoint le couple de l'année 2012
 
DB Forum 2012 - EM12c & DBaaS
DB Forum 2012 - EM12c & DBaaSDB Forum 2012 - EM12c & DBaaS
DB Forum 2012 - EM12c & DBaaS
 
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéalOpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
OpenLDAP - Astuces pour en faire l'annuaire d'entreprise idéal
 
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
 
RBS Change - développements spécifiques
RBS Change - développements spécifiquesRBS Change - développements spécifiques
RBS Change - développements spécifiques
 
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
SQL Server 2008 'Best Practices' - Stéphane Haby, dbi services - Mövenpick La...
 
Game of upgrades to liferay dxp - ep1: Migration de données
Game of upgrades to liferay dxp - ep1: Migration de donnéesGame of upgrades to liferay dxp - ep1: Migration de données
Game of upgrades to liferay dxp - ep1: Migration de données
 
Les performances sur des développements PhP
Les performances sur des développements PhPLes performances sur des développements PhP
Les performances sur des développements PhP
 
Construire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAPConstruire son application web de gestion de contenu d'annuaire LDAP
Construire son application web de gestion de contenu d'annuaire LDAP
 

Plus de rbschange

Keynote change 2013
Keynote change 2013Keynote change 2013
Keynote change 2013rbschange
 
Change 2013 - Philippe Mascaras
Change 2013 - Philippe MascarasChange 2013 - Philippe Mascaras
Change 2013 - Philippe Mascarasrbschange
 
Change 2013 - Benoit Gaillat
Change 2013 - Benoit GaillatChange 2013 - Benoit Gaillat
Change 2013 - Benoit Gaillatrbschange
 
Change 2013 - Philippe Humeau
Change 2013 - Philippe HumeauChange 2013 - Philippe Humeau
Change 2013 - Philippe Humeaurbschange
 
Change 2013 - Ilan Benhaim
Change 2013 - Ilan BenhaimChange 2013 - Ilan Benhaim
Change 2013 - Ilan Benhaimrbschange
 
Change 2013 - Intro
Change 2013 - IntroChange 2013 - Intro
Change 2013 - Introrbschange
 
RBS Change - e-commerce international
RBS Change - e-commerce internationalRBS Change - e-commerce international
RBS Change - e-commerce internationalrbschange
 
Keynote Change 2012
Keynote Change 2012Keynote Change 2012
Keynote Change 2012rbschange
 
RBS Change - ecommerce B2B
RBS Change - ecommerce B2BRBS Change - ecommerce B2B
RBS Change - ecommerce B2Brbschange
 
Enrichir son site e-commerce
Enrichir son site e-commerceEnrichir son site e-commerce
Enrichir son site e-commercerbschange
 
Réussir le cross-commerce avec RBS Change
Réussir le cross-commerce avec RBS ChangeRéussir le cross-commerce avec RBS Change
Réussir le cross-commerce avec RBS Changerbschange
 
Mener à bien son projet ecommerce
Mener à bien son projet ecommerceMener à bien son projet ecommerce
Mener à bien son projet ecommercerbschange
 
RBS Change MPV 2012
RBS Change MPV 2012RBS Change MPV 2012
RBS Change MPV 2012rbschange
 
Conférence RBS Change Paris E-Commerce 2010
Conférence RBS Change Paris E-Commerce 2010Conférence RBS Change Paris E-Commerce 2010
Conférence RBS Change Paris E-Commerce 2010rbschange
 

Plus de rbschange (14)

Keynote change 2013
Keynote change 2013Keynote change 2013
Keynote change 2013
 
Change 2013 - Philippe Mascaras
Change 2013 - Philippe MascarasChange 2013 - Philippe Mascaras
Change 2013 - Philippe Mascaras
 
Change 2013 - Benoit Gaillat
Change 2013 - Benoit GaillatChange 2013 - Benoit Gaillat
Change 2013 - Benoit Gaillat
 
Change 2013 - Philippe Humeau
Change 2013 - Philippe HumeauChange 2013 - Philippe Humeau
Change 2013 - Philippe Humeau
 
Change 2013 - Ilan Benhaim
Change 2013 - Ilan BenhaimChange 2013 - Ilan Benhaim
Change 2013 - Ilan Benhaim
 
Change 2013 - Intro
Change 2013 - IntroChange 2013 - Intro
Change 2013 - Intro
 
RBS Change - e-commerce international
RBS Change - e-commerce internationalRBS Change - e-commerce international
RBS Change - e-commerce international
 
Keynote Change 2012
Keynote Change 2012Keynote Change 2012
Keynote Change 2012
 
RBS Change - ecommerce B2B
RBS Change - ecommerce B2BRBS Change - ecommerce B2B
RBS Change - ecommerce B2B
 
Enrichir son site e-commerce
Enrichir son site e-commerceEnrichir son site e-commerce
Enrichir son site e-commerce
 
Réussir le cross-commerce avec RBS Change
Réussir le cross-commerce avec RBS ChangeRéussir le cross-commerce avec RBS Change
Réussir le cross-commerce avec RBS Change
 
Mener à bien son projet ecommerce
Mener à bien son projet ecommerceMener à bien son projet ecommerce
Mener à bien son projet ecommerce
 
RBS Change MPV 2012
RBS Change MPV 2012RBS Change MPV 2012
RBS Change MPV 2012
 
Conférence RBS Change Paris E-Commerce 2010
Conférence RBS Change Paris E-Commerce 2010Conférence RBS Change Paris E-Commerce 2010
Conférence RBS Change Paris E-Commerce 2010
 

RBS Change - Architecture et scalabilité

  • 1. Architecture et scalabilité 1 © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbs-software.fr
  • 2. 2 Programme Programme Présentation Présentation Architecture Architecture Préparation Préparation de l'environnement Installation Installation de RBSChange Scalabilité ? Définition Scalabilité ? Définition Gestion du cache Configuration du cache Gestion du cache Performance Configuration du cache Quelques exemple Performance A propos de sécurité Problèmes courants Quelques exemples Questions A propos de la sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 3. Présentation Programme Présentation Votre serviteur Architecture ● Community Manager ● Formation Préparation ● Support Installation ● Documentation Scalabilité ? Définition RBS Gestion du cache ● Existe depuis 1997 Configuration du cache ● 135 salariés ● Infrastructure, Mobilité, ERP, Web Performance Quelques exemple RBS Change A propos de sécurité ● 2001 : Création de WebEdit Problèmes courants ● 2004/2005 : Refactoring pragmatique ● 2006 : e-Commerce Questions ● 2010 : Février 2010 libération du code © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 4. Architecture Programme Serveur HTTP Serveur HTTP Présentation Architecture Préparation Installation Scalabilité ? Définition Connecteurs Framework Modules Connecteurs Gestion du cache Framework Modules API, WS... API, WS... Configuration du cache Performance Quelques exemple PHP 5 PHP 5 A propos de sécurité Problèmes courants SolR SolR Questions Base de données Base de données Java Java Système d'exploitation Système d'exploitation © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 5. Architecture Programme Environnement Présentation ● Stack LAMP et MAMP classique Architecture ● Stack WAMP avec prérequis ● Environnement Java pour SolR Préparation Installation Prérequis WAMP Scalabilité ? Définition ● Vista Gestion du cache ● Server 2008 Configuration du cache => php.net/manual/en/function.symlink.php Performance Quelques exemple A propos de sécurité Sizing Problèmes courants Questions Hypothèse Serveur dédié ● Site normal ● 1 CPU, 2 cœurs ● Serveur dédié ● 4 G RAM ● 20 G disque © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 6. Préparation de l'environnement : BDD Programme Présentation Architecture Préparation Installation Moteurs supportés Scalabilité ? Définition ● MySQL ● MariaDB Gestion du cache ● Oracle (extension communautaire) Configuration du cache Performance Configuration MySQL ● InnoDB activé Quelques exemple ● innodb_file_per_table A propos de sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 7. Préparation de l'environnement : PHP Programme Versions Présentation ● 5.3 Architecture ● 5.4 Préparation Paquets Installation ● php5 ● php5-cli Scalabilité ? Définition ● php5-curl Gestion du cache ● php5-gd Configuration du cache ● php5mysql ● php5-xsl Performance ● (php5-imagick) Quelques exemple A propos de sécurité Configuration ● short_open_tag à off Problèmes courants ● magic_quotes_gpc à off Questions ● memory_limit au minimum à 192M ● default_charset à utf-8 ● session.cache_limiter à " " ● post_max_size et upload_max_filesize © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 8. Préparation de l'environnement : HTTP Programme Serveurs validés Présentation ● Apache 2 Architecture ● Zend Server ● Cherokee Préparation Installation Obligatoirement ● Activer la ré-écriture d'URL (rewrite) Scalabilité ? Définition ● Le serveur doit pouvoir s'atteindre Gestion du cache Configuration du cache Recommandés ● Activer la compression (deflate) Performance ● Permettre la modification des en-têtes (headers) Quelques exemple ● Gestion d'expiration du cache (expires) A propos de sécurité Problèmes courants Côté vhosts ● Ajout des types XUL pour le back office Questions AddType application/vnd.mozilla.xul+xml .xul AddType text/xml .xbl Nous ne parlerons que du serveur Apache étant donné qu'il s'agit du plus répandu © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 9. Préparation de l'environnement : HTTP <VirtualHost _default_:80> ServerName demo.local.rbschange.fr Programme AssignUserID demo demo Présentation ServerAdmin demo@localhost Architecture CustomLog /var/log/apache2/demo.local.rbschange.fr.log combined Préparation # specific types for Change backoffice AddType application/x-xpinstall .xpi Installation AddType application/vnd.mozilla.xul+xml .xul AddType text/xml .rdf .xbl Scalabilité ? Définition # Expires header ExpiresActive On Gestion du cache ExpiresByType image/gif A7200 ExpiresByType image/png A7200 Configuration du cache ExpiresByType image/jpeg A7200 ExpiresByType text/css A7200 Performance ExpiresByType text/javasript A7200 ExpiresByType application/x-javascript A7200 ExpiresByType application/x-shockwave-flash A7200 Quelques exemple # Text data compression A propos de sécurité AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/json Problèmes courants DeflateCompressionLevel 1 BrowserMatch ^Mozilla/4 gzip-only-text/html Questions BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE !no-gzip !gzip-only-text/html DocumentRoot /home/demo/www <Directory /home/demo/www> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 10. Préparation de l'environnement : SolR Programme Présentation Architecture Préparation Installation Implications Scalabilité ? Définition ● JRE ● Un serveur applicatif (Tomcat ou Jetty) Gestion du cache ● Exposition publique facultative Configuration du cache Performance Configuration de SolR ● Fichiers de configuration situés dans Quelques exemple « framework/config/solr/conf » A propos de sécurité ● En fonction de la volumétrie on peut Problèmes courants jouer sur les paramètres Xms et Xmx de la JVM Questions Compatible SolR v1.4.1 / Incompatible SolR 3.0.x Tuning du GC de la JVM © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 11. 11 Installation de RBSChange Programme Présentation Architecture Préparation Webinstaller Installation ● Fichier zip Scalabilité ? Définition Ligne de commande Gestion du cache ● Au minimum : Configuration du cache ● config Performance ● framework Quelques exemple ● themes ● change.properties A propos de sécurité ● change.xml Problèmes courants ● profile Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 12. 12 Installation de RBSChange Programme Présentation Architecture Préparation Installation Scalabilité ? Définition Gestion du cache Exemples d'installation : Configuration du cache ● Webinstaller ● Par la ligne de commande Performance Quelques exemple A propos de sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 13. 13 Scalabilité ? Définition Programme Présentation Scalabilité Architecture Préparation En informatique matérielle et logicielle et en télécommunications, le mot anglais scalability désigne Installation la capacité d'un produit à s'adapter à un changement Scalabilité ? Définition d'ordre de grandeur de la demande (montée en charge). Gestion du cache En particulier sa capacité à maintenir ses fonctionnalités et ses performances en cas de forte demande. Configuration du cache Performance ... Quelques exemple A propos de sécurité La « scalabilité » peut faire référence à la capacité d’un système à accroître sa capacité de calcul sous une charge accrue quand Problèmes courants des ressources (généralement du matériel) sont ajoutées. Questions … Source : Wikipédia (fr.wikipedia.org/wiki/Scalabilité) © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 14. 14 Gestion du cache Programme Présentation Architecture Préparation But Installation ● Diminuer le temps de traitement et la charge côté serveur Scalabilité ? Définition Gestion du cache Leviers Configuration du cache ● Apache (module expires) ● Cache d'opcode Performance ● Reverse proxy-cache Quelques exemple ● Cache Mongo A propos de sécurité ● Cache de fichiers Problèmes courants Questions Pas de validation avec MySQL Proxy © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 15. 15 Configuration du cache Programme Activation cache : ● Fichier project.xml Présentation … <config> Architecture … Préparation <injection> <entry name="f_DataCacheService">f_DataCacheFileService</entry> Installation </injection> … Scalabilité ? Définition Gestion du cache Granularité du cache Configuration du cache ● Durée de vie configurable Performance ● Complet ● Cache de bloc débrayable Quelques exemple ● Cache de données indépendant et débrayable A propos de sécurité <define name="CHANGE_CACHE_DIR">...</define> <define name="CHANGE_CACHE_PDF">...</define> Problèmes courants <define name="AG_DISABLE_BLOCK_CACHE">...</define> <define name="AG_DISABLE_SIMPLECACHE">...</define> Questions <define name="CHANGE_CACHE_MAX_TIME">...</define> <define name="CHANGE4_CACHE_SERVICE_CLASS">...</define> <define name="DISABLE_DATACACHE">...</define> Les services de gestion du cache sont disponibles dans «framework/cache/*Service.php» Pour voir les configuration du cache «framework/config/project.xml» © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 16. 16 Performance Programme Présentation Architecture Préparation Leviers Installation ● Système de cache Scalabilité ? Définition ● Proxy-cache ● Base de données (index) Gestion du cache ● Mode cluster Configuration du cache Performance Quelques exemple A propos de sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 17. 17 Exemple période de soldes2010 Programme Présentation Architecture Préparation Installation Scalabilité ? Définition Gestion du cache Configuration du cache Performance Quelques exemple A propos de sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 18. 18 Année 2012 Programme Présentation Architecture Préparation Installation Scalabilité ? Définition Gestion du cache Configuration du cache Performance Quelques exemple A propos de sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 19. 19 A propos de la sécurité Programme Présentation Architecture De base ● Développements noyau testés Préparation ● PDO utilisation de « prepared statements » et de requêtes Installation paramétrées Scalabilité ? Définition Coût en temps de paramétrage Gestion du cache ● Possibilité de mettre en place un WAF Configuration du cache ● Incompatible avec le module Apache security (config de base) Performance A vos risques et périls Quelques exemple ● Installer des modules à partir de sites non officiels A propos de sécurité Problèmes courants Questions + = Plus d'info sur PDO et l'injection SQL sur StackOverflow Plus d'information sur NAXSI : http://code.google.com/p/naxsi/ © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 20. 20 Problèmes courants Programme Présentation Architecture Préparation Installation Scalabilité ? Définition ● Gestion des droits niveau système Gestion du cache ● Serveur qui n'arrive pas à se résoudre Configuration du cache Performance ● Modification du paramètre open_basedir Quelques exemple ● « Too many open files » pour SolR A propos de sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 21. Questions Programme Présentation Architecture Préparation Installation Scalabilité ? Définition Gestion du cache Configuration du cache Performance Quelques exemple A propos de sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr
  • 22. Programme Présentation Architecture Préparation Installation Gestion du cache MERCI Configuration du cache Performance Quelques exemple A propos de sécurité Problèmes courants Questions © RBS 2012 • REPRODUCTION INTERDITE • TOUS DROITS RESERVÉS www.rbschange.fr

Notes de l'éditeur

  1. Pour un projet assez volumineux JAVA_OPTS=&quot;-Xms512m&lt; -Xmx2048m&quot;
  2. Memcache : Session à 600M Fcache à 2G Memcached : seconde version de Memcache
  3. Memcache &amp; Memcached : * seconde version de Memcache Session à 600M Fcache à 2G WEB_CACHE_DIR = cache accessibles directement depuis le web
  4. Pour un site réalisant entre 2000 et 3000 commandes/jour, un tunning de la base est envisageable Site portail culturel : - 110 000 visites/mois - 200 000 pages vues/mois - 1000 000 visiteurs/mois Extranet de commande BtoB : - 103 000 visites/mois - 686 000 pages vues/mois Site d’infos grand public multisite: - 961 000 visites/an - 4 millions de pages vue /an