@sebfox. @Cybercartes



Documents pareils
Monter une infrastructure web pour 1 million de visites par jour :

Monter une infrastructure web pour 1 million de visites par jour

Drupal : Optimisation des performances

CLOUD CP3S SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE. La virtualisation au service de l entreprise. Évolutivité. Puissance.

Les Content Delivery Network (CDN)

PGDay.fr ans de PostgreSQL chez Cityvox Les dessous d'un succès. Toulouse, le 4 octobre 2008 Guillaume Smet Open Wide

«clustering» et «load balancing» avec Zope et ZEO

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

Tests de montée en charge & Haute disponibilité

Jean-Philippe Paquette

Premier hébergeur Magento en France

Cloud Computing Maîtrisez la plate-forme AWS - Amazon Web Services

Hébergement PHP. Comprendre pour bien choisir son hébergement

Les bonnes pratiques. de l hébergement d un CMS

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

Zabbix. Solution de supervision libre. par ALIXEN

1 LE L S S ERV R EURS Si 5

Maxpho Web Services. Maxpho Cloud Services. Date: 20 Septembre 2013 Version: 1.2 Auteur: Maxpho Ltd

Hébergement MMI SEMESTRE 4

Rapport de projet. Répartition des charges sur serveurs web virtualisés. 1. Introduction

Extrait de Plan de Continuation d'activité Octopuce

La surveillance réseau des Clouds privés

Un Web rapide à l'heure des smartphones

Informatique en nuage Cloud Computing. G. Urvoy-Keller

LIVRE BLANC PRODUIT. Evidian SafeKit. Logiciel de haute disponibilité pour le clustering d application

Choisir la solution d hébergement et de support faite pour vous

[WEB4ALL PRESENTATION ET TARIFS VPS INFOGERES]

PHP. Performances. Audit et optimisation LAMP. Julien Pauli. Cyril Pierre de Geyer. Guillaume Plessis. Préface d Armel Fauveau

La tête dans les nuages

Fiche Technique Windows Azure

Faulconnier Bastien SIO2. Cahier des charges. Choix et mise en œuvre d'un datacenter pour Infrastructure Cloud. Pour la société :

Gérer une forte charge avec ez Publish Obtenir la meilleure réactivité de publication. Solutions natives ez. Solution spécifique.

Le socle de sécurité nouvelle génération Consolider, virtualiser et simplifier les architectures sécurisées

Hébergement WeboCube. Un système performant et sécurisé. Hébergement géré par une équipe de techniciens

Unitt Zero Data Loss Service (ZDLS) La meilleure arme contre la perte de données

Bases de données documentaires et distribuées Cours NFE04

Projet d'infrastructure Cloud

PROFIL EXPERIENCE ARCHITECTE LINUX, OPEN SOURCE, COORDINATEUR SÉCURITÉ EMEA

AVRIL Au delà de Hadoop. Panorama des solutions NoSQL

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Vous êtes bien à la bonne présentation, c est juste que je trouvais que le titre de cette présentation étais un peu long,

Le cloud computing au service des applications cartographiques à haute disponibilité

La replication dans PostgreSQL

IaaS à la sauce Portails Focus sur. Pierre Aubert Orange Portails OF/DMGP/Portails/DOP 1 er Juillet 2013

Antoine Morel Ingénieur Commercial DVI

NBS System et Zend Technologies Découvrez la scalabilité sans limite pour vos applications PHP grâce au Zend Cloud

Construire un réseau social avec Symfony Xavier Lacot Clever Age. Symfony Live 11 et 12 juin 2009 Clever Age Xavier Lacot

Cloud Computing : forces et faiblesses

SECURIDAY 2012 Pro Edition

EXCELIANCE ZAC des Metz 3 Rue du petit robinson Jouy en Josas Tél: Fax: sales@exceliance.

Un concept multi-centre de données traditionnel basé sur le DNS

Cluster High Availability. Holger Hennig, HA-Cluster Specialist

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement

Processus Internes équipe technique Octopuce

Nouvelles stratégies et technologies de sauvegarde

Adresse directe fichier : Adresse url spécifique sur laquelle le lien hypertext du Client doit être

PHP et LeMonde.fr : passé, présent et avenir Olivier Grange-Labat <grange@lemonde.fr>

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

Linux sécurité des réseaux

Serveurs mutualisés modulaires

Configuration matériel. Tâche 2 : Installation proprement dite de l application sur un serveur de test virtualisé sous VmWare Workstation.

SQL Server 2008 et YourSqlDba

Hébergement d'application Web sur le Nuage AWS Les Meilleures Solutions

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Technique et architecture de l offre Suite infrastructure cloud. SFR Business Team - Présentation

PostgreSQL. Formations. Catalogue Calendrier... 8

Architecture de serveurs virtualisés pour la communauté mathématique

Veille Technologique. Cloud Computing

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

DOSSIER SOLUTION : CA ARCserve r16. Recours au Cloud pour la continuité d'activité et la reprise après sinistre

Architectures informatiques dans les nuages

Architecture pour le Cloud : bonnes pratiques avec les Amazon Web Services (AWS)

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Mise en œuvre de la virtualisation à l IGBMC. Guillaume Seith Remy Fritz

VIRTUALISATION : MYTHES & RÉALITÉS

Proxy et reverse proxy. Serveurs mandataires et relais inverses

Routeurs de Services Unifiés DSR-1000N DSR-500N DSR-250N

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Optimisation WAN de classe Centre de Données

COTISATIONS VSNET 2015

mai-2008 Infogérance des serveurs conçus par SIS alp 1

HÉBERGEMENT CLOUD & SERVICES MANAGÉS

LINUX REDHAT, SERVICES RÉSEAUX/INTERNET

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Veeam Backup & Replication v6

Disponibilité 24-7/365

arcserve r16.5 Protection des données hybride

La Continuité d Activité

Migration d un Cluster Fiber Channel+SAN+Lames sous Xen vers Ethernet +iscsi+serveurs sous KVM

Sébastien Geiger IPHC Strasbourg

Serveur virtuel infogéré

DREAL proposition DNS et hébergement. magazine le 14 septembre 2011 DREAL comparatif hébergement

PERFORMANCE ET DISPONIBILITÉ DES SI

SOLUTION DE BACKUP NETISSIME DATACENTER CLOUD CONSULTING TELECOM - FORMATION

Transformation vers le Cloud. Premier partenaire Cloud Builder certifié IBM, HP et VMware

GLOSSAIRE. On premise (sur site)

Dynamic Computing Services solution de backup. White Paper Stefan Ruckstuhl

Transcription:

Sébastien DUBOIS Co fondateur Evolix Responsable commercial @sebfox Grégory COLPART Co fondateur Evolix Gérant / Responsable technique @gcolpart Jean Pierre FANNI Fondateur Cybercartes Gérant @Cybercartes

Monter une infrastructure pour 1M VU pour qui?

Créé en 1997, cybercartes.com propose environ 10.000 cartes virtuelles et une technologie propriétaire unique permettant l animation de photos et l enregistrement de voix pour créer de toutes pièces des cartes originales et personnalisées (LOLcartes). La société CyberCartes (créée en 2000) édite le site du même nom Visites : 1,2 millions le 1er janvier 6,7 millions (janvier) Visiteurs Uniques : 945 274 le 1er janvier 4 millions (janvier) Pages vues : 40 millions (janvier) Newsletter hebdo : 3,5 millions d abonnés Base Emailing : 2,7 millions d abonnés optin

Avatar parlant LOLCartes Cartes vidéos personnalisées

Monter une infrastructure pour 1M VU pour quand? Fête des Mères Noël Halloween Fête des Pères Saint Valent in Muguet 1er Mai Pâques Pâques Les Voeux Fête Journée des de la Femme Grands Mères 1er Avril

1 Million de VU tous les jours = SIMPLE 1 Million de VU une seule fois par an = COMPLEXE Le 1er janvier le pic horaire est à 11h00 et comptabilise 105 335 visites.

Monter une infrastructure pour 1M VU les soucis majeurs... avant @Evolix : o Problèmes NFS / Accès disque o Montée en charge violente des frontaux web o Problèmes firewall (trop de connexions simultanées) o Saturation des bases de données o etc.

Monter une infrastructure pour 1M VU les changements apportés : Interactions SysAdmin / Dev Réflexions menées SysAdmin / Dev ensemble Formations techniques (cache applicatifs / HTTP, performance) Refonte de l'environnement de dév (déploiements, tests) Communication accentuée / réunions régulières Publication de best pratices

Définir les principes de base Parce qu'il faut toujours avoir des principes... N'importe quel équipement peut tomber (...ou presque), cela n'impacte pas la production. Une panne sur un seul équipement n'est jamais urgente. Utiliser le maximum des ressources existantes en évitant le matériel inactif, c'est à dire essayer d'être en actif/actif partout. Un équipement inactif, c'est cher. Très cher. Avoir une indépendance vis à vis des hébergeurs/opérateurs : même en cas d'attaque nucléaire sur un datacenter, la page d'accueil, le catalogue et les nouvelles commandes restent en ligne. On a déjà eu une attaque nucléaire...

1ère étape : séparation du full-static Le full-static coûte 100x cher en ressources Contenu concerné : JPG, JS, CSS, TXT, SWF, MP3, etc. (95%!) Sur un nom de domaine dédié : static.cybercartes.com Mise en cache générale (ajout?20140621133742 aux URLs) Reste «juste» la problématique bande passante / temps de réponse Solution low cost : déploiement multi serveurs Nginx sur OVH/Online (testé && approuvé avec plusieurs Gb/s de trafic) + répartition via Round Robin DNS (avec faible TTL) Solution CDN : Cloudfront, Cloudfare, Akamei, etc.

2ème étape : séparation en nœuds quasi-indépendants Pour une scalabilité infinie... Partitionnement de l'application en nœuds distincts (sharding) comportant cache + www + sql + filer Pas toujours possible : ( Souvent un nœud principal/critique avec des applis non partitionnables Nœuds répartis chez différents hébergeurs, notamment Amazon EC2 / Gandi pour gérer les fortes montées en charge (principe du «Cloud Hybride») Répartition via Round Robin DNS (avec faible TTL) Process asynchrones de consolidation/centralisation des datas

3ème étape : séparation du «cachable» / «non-cachable» Le contenu cachable est 10x cher en ressources Séparation en modules : homepage + catalogue (cachable) : www.cybercartes.com envoi (non cachable) : envoi.cybercartes.com retrait (cachable) : retrait.cybercartes.com Politique différente pour chaque module (VirtualHost, droits SQL) Minimiser les sessions (car non cachable) ou alors utilisation d'un cache partiel des page (cache ESI)

4ème étape : séparation du «synchrone» / «asynchrone» Pour un maximum de performance! Un maximum d'actions à passer en «asynchrone» (non bloquante) Exemples : envoi d'email, requêtes complexes en bases, etc. Utilisation de cron ou système dédié : Gearman, RabbitMQ Serveurs dédiés au travail de process : workers En cas de montée en charge, utilisation de serveurs temporaires sur Amazon EC2 (principe du «Cloud Hybride»)

L'infrastructure globale

Détails d'un nœud

Focus sur le cache/load-balancing HAProxy en frontal + après le cache Migration de Squid à Varnish en 2013 Tout ce qui est caché n'atteint pas les frontaux. C'est une grosse économie. Le cache c'est bon, mangez-en! Pour aplatir un peu les pics de charge, on précache les pages les plus visitées via un script quotidien. (merci Awstats) Passage en 2013 sur plateforme Evolix de cache (BOOST)

HAProxy

Focus sur le filer Difficile d'être en actif/actif... HTTP (via Nginx) pour les accès en lecture NFS pour les accès en écriture (à minimiser) Migration d'un SAN SCSI+serveurs vers ZFS (FreeBSD) Serveurs optimisés en RAM et disques SSD/SAS/SATA On s'appuie sur des snapshots ZFS très réguliers pour minimiser l'impact d'une éventuelle panne

Focus sur les bases de données Choix historique de MySQL (à l'origine un seul serveur) Réplication master/master avec load balancing Contraintes de dév (gestion du «lag», autoincrement, ALTER TABLE) Réplication master/slave pour serveur en read only (tâches annexes : calcul de stats, requêtes complexes, sauvegardes)

Focus sur les tests de montée en charge Avec Tsung Indispensable pour anticiper les surprises (même si on n'émule jamais parfaitement la prod) Conséquence : certaines pages redeveloppées en dehors du framework (Zend) pour des raisons de performance!!

Mais aussi... Memcached (cache applicatif) (Must-have) Sharedance (partage sessions PHP) (deprecated) Optimisation HA des systèmes (sysctl, etc.) Firewalls redondants OpenBSD/PF/CARP Pour les mails : serveurs Postfix virtualisés Utilisation de matériel de marques différentes (DELL/IBM/HP) et système différents (Debian/FreeBSD/OpenBSD) : «ne pas mettre tous ses œufs dans le même panier... et utiliser le meilleur à chaque poste!»

Monter une infrastructure pour 1M VU que retenir?

Défi CyberCartes relevé par Evolix avec succès! - Interactions SysAdmin / Dev Séparer full-static, cachable, non bloquant Architecture répartie sur plusieurs hébergeurs Faire des tests de montées en charge Optimisations HA (SQL, filer, LB) Utiliser la virtualisation à bon escient (Cloud Hybride) - Trouver le juste milieu entre adaptation du développement et achat de ressources

Warning : ne pas appliquer tous ces principes à la lettre : il faut voir au cas par cas (chaque dév a des contraintes différentes)!

@Evolix + Question? Evolix est un MSP (Managed Services Provider), avec une forte expertise en réseau et infogérance d'infrastructures critiques sous environnement Linux ou BSD. Evolix est composée en 2014 de 8 personnes (dont 6 administrateurs systèmes) avec un responsable technique qui est développeur officiel de la distribution Debian. Nos clients : Pure player / Agence Web / Entreprises Chiffres clés : Créée en 2004 8 personnes + de 400 serveurs infogérés RCP couvrant son métier d'infogérance