AWS fournit une plateforme idéale pour déployer des systèmes hautement disponibles, fiables et scalables avec le minimum d’intervention humaine. Lors de cette session vous découvrirez des modèles d’architectures hautement disponibles et capables de supporter à moindre coût de très hauts niveaux de charge avec une faible latence. Vous serez guidés au travers des choix possibles d’architecture pour chaque tiers de l’application afin d’assurer sécurité, scalabilité, disponibilité et performance.
Track 1 - Atelier 4 - Déployer des applications hautement scalables sur AWS
1. Stephan Hadinger, Sr. Manager, Solution Architecture
Déployer des applications
hautement scalables sur AWS
2. Qu’est-ce qu’une application hautement scalable?
3 principes d’architecture
Les différentes couches d’une architecture scalable
CANAL+ / eNovance : leur histoire
Pendant cette session :
20. Données
Objets dans S3
Amazon S3 conçu pour une durabilité de
99.999999999%
Accès web aux objets
hautement scalable
Hautement redondé au sein
d’une région
21. Qu’est-ce que S3?
Stockage de données hautement scalable
Utilisable avec des API
Un stockage web plutôt
qu’un file system
Rapide
Hautement disponible et durable
Economique
Données
25. Données
hash
ring
Scalabilité par sharding horizontal
Plus complexe pour la couche applicative
Pas de limite à la scalabilité
Sharding par fonction or par espace de clefs
Bases de données relationnelles ou NoSQL
A
B
C
D
27. Données
Scalabilité horizontale –
service opéré
DynamoDB
Base de données NoSQL a débit réglable
Rapide, prédictible, performant
Totalement distribué, architecture tolérante aux pannes
32. Données
Application
Couplage faible des composants
Plus le couplage est faible,
plus l’application est scalable
Composants indépendants
Conçus comme des boîtes noires
Interactions découplées
Clusters avec répartition de charge
36. Données
Application
Auto Scaling
Ajustement automatique d’un cluster de serveurs basé sur la
demande
Trigger auto-
scaling
policy
Feature Details
Control Define minimum and maximum instance pool
sizes and when scaling and cool down occurs.
Integrated to
Amazon
CloudWatch
Use metrics gathered by CloudWatch to drive
scaling.
Instance types Run Auto Scaling for On-Demand and Spot
Instances. Compatible with VPC.
44. Données
Application
Répartition de
charge
Feature Details
Available Load balance across instances in multiple Availability
Zones
Health checks Automatically checks health of instances and takes
them in or out of service
Session stickiness Route requests to the same instance
Secure sockets layer Supports SSL offload from web and application
servers with flexible cipher support
Monitoring Publishes metrics to CloudWatch
Elastic Load Balancing
Permet de créer de applications
hautement scalables
Distribue la charge entre des instances
EC2 dans plusieurs zones de
disponibilité
47. London
Paris
NY
Servi depuis S3
/images/*
3
Servi depuis EC2
*.php
2
CNAME unique
www.mysite.com
1
CloudFront
Réseau mondial de distribution de
contenu
Données
Application
Répartition de
charge
Distribution
55. Summary
Utilisez ces techniques quand c’est nécessaire
Connaître les options est le premier pas
Scalabilité est la possibilité de bouger les points de
contention vers la partie le composant le moins coûteux
AWS vous simplifie la tâche – vous que votre
application ne soit pas victime de son succès
Résumé
63. Hébergement et infogérance de l’application
Disponibilité: 24/7
Elasticité: à la demande car taille d’audience/Pics d’audience non connus
Faciliter les déploiements/ Pouvoir lancer de nouveaux projets rapidement
Réactivité, Engagement fort sur les SLA
Expertise: Infrastructure AWS et technologies émergentes: MongoDB, Ruby
64. Design d’une infrastructure d’hébergement AWS: ELB, EC2, S3
Mise en place d’outils d’automatisation customisés pour le client
Infogérance 24/7 par équipe Devops bilingue
Support MongoDB géré par eNovance
SLA: engagement sur un SLA unique pour l’ensemble de l’infrastructure
65. Availability
Zone A
Availability
Zone B
Availability
Zone C
Unicorn
Ruby
MongoDB
Primary
S3
Bucket
Puppet
Capistrano
Logstach
MongoDB
Secondary
MongoDB
Secondary
Elastic Load
Balancing
Unicorn
Ruby
EBS
SnapShot
EBS
Storage
EBS
Storage
EBS
Storage