Maxpho Web Services Maxpho Cloud Services Date: 20 Septembre 2013 Version: 1.2 Auteur: Maxpho Ltd
Sommaire général 1 - Introduction... 3 2 - Service Cloud Base... 4 2.1 - Comment ça marche... 4 2.2 - Sécurité... 5 2.3 À qui cela peut-il servir... 5 3 - Service Availability Zone... 6 3.1 - Comment ça marche... 6 3.2 - À qui cela peut-il servir... 6 4 - Service CloudFront... 7 4.1 - Comment ça marche... 7 4.2 - À qui cela peut-il servir... 7 5 - Service Route53... 8 5.1 - Comment ça marche... 8 5.2 - À qui cela peut-il servir... 8 Pag. 2 sur 8
1 Introduction Maxpho se vante de la possibilité d'utiliser les Cloud Services d'amazon (AWS) présents en Irlande pour bénéficier d'énormes avantages en terme d'évolutivité, de performance et d'efficacité. La motivation principale qui nous a amené à développer et à intégrer la plateforme Maxpho Commerce afin de pouvoir utiliser les Cloud Services est la possibilité de fournir un instrument optimisant l'expérience du visiteur en assurant un niveau de performance avancé avec des prestations garanties en terme de fiabilité et de rapidité. L'interaction avec différents network et le flux élevé de visiteurs provenant de diverses plateformes d'un système de ce type exige une architecture stable et distribuée. Pag. 3 sur 8
2 Service Cloud Base 2.1 Comment ça marche L'architecture offerte pour la gestion de nos clients est structurée de cette manière: Espace: un disque S3 (Simple Storage Service) dédié au client pour les données statiques. Le disque S3 offert a pour objectif d'être utilisé comme un instrument d'accés pour toutes les données multimédia de l'application. Utiliser une structure dédiée avec des performances étudiées pour optimiser la transmission des données du server au client final assure un rendement élevé en terme d'amorçage et de bande passante vers le client. Il n'y a pas un server web à interpréter et à qui restituer l'information, au contraire, il existe un applicatif optimisé dans l'indexation et dans la restitution de la demande. Développement: nombreux servers EC2 (Elastic Compute Cloud) dans la Zone B s'occupent uniquement d'effectuer des scripts PHP à travers Apache. L'utilisation de divers servers donne avant tout la possibilité de soustraire toutes les demandes HTTP sur un ensemble de server, sur la base du nombre de demandes satisfaites par chaque machine (par conséquence, il est possible de profiter de tous les avantages dérivants de l'utilisation d'un équilibreur sur le nombre de demandes HTTP) et en second lieu, à travers un système de monitorage sophistiqué et des politiques de charge spécialement conçues en cas de situation de stress du sytème -, d'autres machines peuvent être activées (atteignant une puissance de calcul égale à 100 machines physiques) afin de satisfaire la surcharge à l'entrée du système. Equilibreur: un Load Balancer (équilibreur) qui distribue la charge sur les servers EC2 moins chargés, en utilisant une politique de comptage équilibré sur le nombre de demandes HTTP satisfaites par chacune des machines. Évolutivité: un CloudWatch (contrôleur) avec AutoScaling (augmentation automatique des machines) qui permettent de réveiller les servers désactivés en proportion de la charge de travail général. Pag. 4 sur 8
Database: Différents servers RDS (Relational Database Service) single-az, placés dans la Zone B, s'occupent uniquement du database MySQL. L'utilisation d'une machine distincte pour gérer les demandes DB permet d'alléger la charge de la machine Apache en allant optimiser, et par conséquence réduire, les latences sur les réponses HTTP. 2.2 Sécurité Dans ce paragraphe, nous mettons en évidence certains aspects opératifs du service Cloud Base: L'accès au Disque S3 (où sont insérées les données statiques comme les images, videos, flash etc..) se fera par le protocole S3/HTTP (il suffit d'utiliser un simple programme FTP client). Le protocole FTP est donc totalement évité, augmentant considérablement le niveau de sécurité du server. S'agissant d'un système Cloud, pour une question de sécurité, il n'est pas possible d'accéder aux codes exécutables PHP et ceci pour tous les servers. Tous les autes fichiers au contraire, indiqués ci-dessus, seront positionnés dans le Disque S3 et seront donc modifiables (Javascript, images, flash, css, etc...). 2.3 À qui cela peut-il servir À toutes les entreprises qui: 1. ont besoin d'un système évolutif qui permet d'augmenter la puissance de calcul dans des intervalles de temps variant de quelques minutes à plusieurs mois (exemple: à un moment de la journée je reçois un nombre important de visites, peut être à la suite d'une campagne d'emails envoyés au client, et je ne veux pas perdre les performances, ou bien lors des fêtes de fin d'année, les visites augmentent considérablement et je ne veux pas perdre les prestations du système); 2. ont besoin d'un système rapide; 3. ont besoin d'un système plus sûr et avec moins de points de défaillance. Pag. 5 sur 8
3 Service Availability Zone 3.1 Comment ça marche Cette fonction permet de rendre joignable tout le système même en cas de disfonctionnements temporaires de la zone B, atteignant un uptime majeur de 99.999% (une moyenne de 25 secondes mesuelles de down). Une structuration de ce type permet de rendre disponible, en quelques minutes, le système complétement fonctionnant dans une autre localisation géographique, sans la nécessité de reconfigurer le DNS géré par un équilibreur de charge qui, une fois l'absence de disponibilité des services reconnue dans une zone déterminée, se déplace dans celle secondaire. 3.2 À qui cela peut-il servir À qui a le besoin d'avoir toujours disponible l'applicatif, les images et les informations sur le database même dans le cas d'événements dûs à la force majeure (incendis, down des machines, disfonctionnements du réseau etc...). 4 Service CloudFront 4.1 Comment ça marche Dans l'analyse des performances d'un domaine, un des facteurs discriminants pour évaluer la rapidité d'accès aux données statiques du domaine est la présence d'un CDN (Content Delivery Network). Cet instrument, sur la base de la localisation géographique du visiteur, s'occupe de fournir le contenu statique en mettant à disposition la ressource géographiquement la plus proche du visiteur final. Ceci permet d'annuler les possibles latences de réseau dûes à l'utilisation d'un server géographiquement lointain. CloudFront est notre proposition de CDN, donnant la possibilité d'accélérer le téléchargement n'importe où dans le monde, car il est fourni de 5 entry point placés stratégiquement dans le monde entier (Etats Unis, Europe, Asie et Amérique du sud). Pag. 6 sur 8
4.2 À qui cela peut-il servir Le service que nous avons expliqué ci-dessus peut être indiqué pour toutes les entreprises qui ont besoin de visibilité dans le monde entier. Pag. 7 sur 8
5 Service Route 53 5.1 Comment ça marche L'utilisation de ce service via notre système permet une gestion correcte des record DNS, en assurant de basses latences de réponses grâce à l'évolutivité du système, optimisant l'expérience de navigation de l'utilisateur. À ce jour, l'un des goulets d'étranglement dans l'expérience de la navigation d'une page web avec un contenu hébergé sur des domaines différents est représenté par la latence dans la réponse du server DNS, et par conséquent, le choix du DNS correct est également un facteur discriminant pour la performance du domaine. 5.2 À qui cela peut-il servir Ce service peut être utile pour qui voudrait augmenter la rapidité de navigation du domaine grâce aux temps de réponses plus rapides des services de recherche DNS (les améliorations proposées arrivent en quelques centièmes de seconde). Pag. 8 sur 8