SlideShare una empresa de Scribd logo
1 de 58
Descargar para leer sin conexión
PARIS
Préparez-vous à l’imprévu !
(ou comment passer de 1 à 10M d’utilisateurs ?)
Cédric DUPUI, AWS - Solutions Architect
23rd June 2015, AWS Paris Summit
@aws_actus
Pourquoi participer à cette session ?
• Construire une plate-forme technologique
• Anticiper votre succès
• Comprendre les Design Patterns liés à la scalabilité
• Adopter une démarche pragmatique et itérative
Qu’est-ce qu’une architecture scalable ?
• Elle peut supporter une augmentation du nombre
d’utilisateurs, du traffic et des données
• Elle n’a pas de limites
• Elle ne subit pas de dégradation de performances
• Elle est prédictible – en ajoutant des ressources
• Elle est efficace – en terme de coût par utilisateur
Etape 1 – Développement
Une instance
LE serveur
(e.g. Apache,
MySQL)
Elastic IP
www.example.com
Amazon Route 53
DNS service
Server Image
(AMI)
Etape 2 – beta
Il nous faut un plus gros serveur !
• Plus de stockage, plus rapide (EBS)
• Utiliser le bon type d’instance
• Il est facile de changer d’instance…
• … Mais cette stratégie est temporaire !
• Pas de tolérance à la panne
Séparer le web et la BD
• Plus de capacité
• Rendre chaque tiers scalable individuellement
• Optimiser les instances pour chaque tiers
– Type d’instance
– Stockage
• Securité
– Security groups
– BD dans un subnet privé du VPC
Comment choisir ma BDD en
fonction de mes besoins?
SQL? NoSQL?
Pourquoi commencer avec une BDD Relationelle?
• L’approche SQL est polyvalente
• Un éco-système riche : code, outils, connaissances
• Patterns bien identifiés pour gérer la scalabilité*
• Dans la réalité : Besoin d’une couche de données
“polyglotte”
– Parfois, NoSQL plus adapté
 Utiliser le meilleur outil pour chaque cas d’usage
* Pour des applications avec un fort taux de lecture
Les Bases de Données relationnelles sont complexes !
• Expérience Amazon.com  Les BDD relationnelles sont
extrèmement délicates à gérer et à opérer en HA
• BDD non / mal opérées = Cause principale de nuits
blanches et de coupures de services
• Est-ce que vous disposez d’équipes dédiées ?
Bases de données relationnelles
MySQL, Aurora, PostgreSQL, Oracle, SQL Server
Totalement managées; pas d’administration
Amazon
RDS
Aurora
Améliorer l’éfficacité
Déporter les contenus statiques
• Amazon S3: Hautement disponible et scalable
– Fichiers statiques (JavaScript, CSS, images, …)
– Upload
• URLs S3 – contenu servi directement depuis S3
• Le serveur Web se focalise sur le contenu
dynamique
Amazon CloudFront
• Réseau mondial de points de cache (Edge Locations)
• Cache au plus proche de l’utilisateur
– Réduire la latence
– Réduire la charge sur les serveurs d’origine
– Contenus statique ET dynamique
– Impact énorme sur l’XP utilisateur
• Optimisation des connections
– Optimiser les routes de transfert
– Connections persistantes
– Avantages valables même sur le contenu non cachable
CloudFront pour du contenu statique ET dynamique
Amazon
Route 53
EC2 instance(s)
S3 bucket
Static content
Dynamic content
css/*
js/*
Images/*
Default(*)
CloudFront
distribution
Cache de base de données
• Meilleur temps de réponse (RAM)
• Réduit le traffic sur la base de données
Serveur
d’application
1. Si le résultat est en
cache, retourner ce
résultat
2. S’il n’est pas
dans le cache,
interroger la base
RDS database
Amazon ElastiCache
3. L’enregistrer
dans le cache
Amazon ElastiCache: cache en mémoire
• Simple à déployer
• Managé
– Remplacement automatique des noeuds en
erreur
– Management des patches
• Elastique
• Compatible MemCached et Redis
ElastiCache
Etape 3 – Production
Haute Disponibilité
Availability Zone a
RDS DB
instance
Web
server
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Amazon CloudFront
ElastiCache
node 1
Haute Disponibilité
Availability Zone a
RDS DB
instance
Availability Zone b
Web
server
Web
server
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Amazon CloudFront
ElastiCache
node 1
Haute Disponibilité
Availability Zone a
RDS DB
instance
Availability Zone b
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
S3 bucket for
static assets
Amazon CloudFront
ElastiCache
node 1
Elastic Load Balancing (ELB)
• Service de répartition de charge managé
• Tolérant à la panne
• Vérification de l’état (Health Check)
• Distribue le traffic entre les Azs d’une région
• Elastique – s’adapte automatiquement au traffic
Haute Disponibilité
Availability Zone a
RDS DB
instance
Availability Zone b
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
S3 bucket for
static assets
ElastiCache
node 1
Amazon CloudFront
Haute Disponibilité
Availability Zone a
RDS DB
instance
Availability Zone b
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
RDS DB
standby
S3 bucket for
static assets
ElastiCache
node 1
Amazon CloudFront
Haute Disponibilité de la
couche de données
Availability Zone a
RDS DB
instance
ElastiCache
node 1
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
RDS DB
standby
Haute Disponibilité de la
couche de données
Availability Zone a
RDS DB
instance
ElastiCache
node 1
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
RDS DB
standby
ElastiCache
node 2
Sessions utilisateur
• Problème: Souvent stockées sur un
disque local (non partagé)
• Contournement : ELB + Affinité de
sessions
 Solution: Stockage dans DynamoDB !
Elastic Load
Balancing
Web
server
Web
server
Logged in Logged out
Amazon DynamoDB
• Base Document et Clé-valeur managée
• Facile à prendre en main et à faire évoluer
• Jusqu’à des millions d’IOPS
• Capacité en lecture ET en écriture
• Consistente et rapide
• Durable: parfait pour le stockage des données de
session
https://github.com/aws/aws-dynamodb-session-tomcat
http://docs.aws.amazon.com/aws-sdk-php/guide/latest/feature-dynamodb-session-handler.html
Etape 4 – Anticiper le succès
Remplacer les prévisions par une IT élastique
Avant AWS
Demand
Unhappy
Customers
Waste $$$
Traditional
Capacity
Capacity
Demand
AWS Cloud
Une couche Web scalable
Availability Zone a
RDS DB
instance
ElastiCache
node 1
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
RDS DB
standby
ElastiCache
node 2
Une couche Web scalable
Availability Zone a
RDS DB
instance
ElastiCache
node 1
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
RDS DB
standby
ElastiCache
node 2
Web
server
Web
server
Une couche Web scalable
Availability Zone a
RDS DB
instance
ElastiCache
node 1
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
Web
server
Web
server
RDS DB
standby
ElastiCache
node 2
Web
server
Web
server
Redimensionnement
automatique des flottes de
serveurs
Fonctionnalités Détails
Contrôle Définir une taille minimum et un maximum pour
les flottes de serveurs.
Intégré à Amazon
CloudWatch
Utiliser les métriques CloudWatch pour contrôler
la scalabilité.
Types d’instances Lancer l’Auto-Scaling pour vos instances Spot ou
à la demande, compatible avec VPC.
aws autoscaling create-auto-scaling-group
--auto-scaling-group-name MyGroup
--launch-configuration-name MyConfig
--min-size 4
--max-size 200
--availability-zones us-west-2c, us-west-2b
Auto Scaling Trigger auto-scaling policy
Amazon
CloudWatch
Décomposer les couches applicatives en
blocs de taille réduite , faiblement couplé,
et surtout sans état
Pré-requis
Qu’est ce cela signifie en pratique ?
• Seules les données “transientes“ sont stockées sur le
disque local
• Besoin de persister une données au dela de la requête
HTTP ?
– Enregistez-la ailleurs !
Fichiers Utilisateur
Sessions Utilisateur
Amazon S3
AWS DynamoDB
Données Applicatives
Amazon RDS
Après voir tout décomposé en blocs de taille
réduite, faiblement couplés et sans état
Vous pouvez maintenant augmenter l’échelle facilement
Et ensuite…
Et ensuite…
Vous pouvez maintenant diminuer l’échelle facilement
Après voir tout décomposé en blocs de taille
réduite, faiblement couplés et sans état
Etape 5 – Ajouter des fonctionnalités
Mobile
Push
Notifications
Mobile
Analytics
Cognito
Cognito
Sync
Analytics
Kinesis
Data
Pipeline
RedShift EMR
Vos Applications
AWS Global Infrastructure
Network
VPC
Direct
Connect
Route 53
Storage
EBS S3 Glacier CloudFront
Database
DynamoDBRDS ElastiCache
Deployment & Management
Elastic
Beanstalk
OpsWorks
Cloud
Formation
Code
Deploy
Code
Pipeline
Code
Commit
Security & Administration
CloudWatch Config
Cloud
Trail
IAM Directory KMS
Application
SQS SWF
App
Stream
Elastic
Transcoder
SES
Cloud
Search
SNS
Enterprise Applications
WorkSpaces WorkMail WorkDocs
Compute
EC2 ELB
Auto
Scaling
LambdaECS
AWS building blocks
Nativement Scalable & Hautement disponible Scalable & Hautement disponible
 Elastic Load Balancing
 Amazon CloudFront
 Amazon Route53
 Amazon S3
 Amazon SQS
 Amazon SES
 Amazon CloudSearch
 AWS Lambda
 …
 Amazon DynamoDB
 Amazon Redshift
 Amazon RDS
 Amazon Elasticache
 …
 Amazon EC2
 Amazon VPC
Automatisés Configurables Avec la bonne architecture
Restez focalisés sur votre Business
Infrastructure
Cloud AWS
Votre
Business
Plus de temps pour vous focaliser
sur votre Business
Configurer vos
ressources Cloud
70%
30%70%
Infrastructure
On-Premise
30%
Gérer des tâches
sans valeur ajoutée
Etape 6 – Une expansion rapide
Passer les BDs relationnelles à l’échelle
• Améliorer les spécifications des instances RDS
– Type d’instance plus performant
– Plus de stockage / Plus de performance (PIOPS)
• Read Replicas (Master – Slave)
– Passer à l’échelle au delà des capacité d’une instance de BD
– Disponible sur Amazon RDS pour MySQL, PostgreSQL et Aurora
– Ecriture => master
– Latence en réplication
– Lectures tolérantes avec la consistence des données => read replica
(slave)
– Lectures avec de forts besoins de consistence => master
Passer la BD à l’échelle
Web
server
Web
server
Web
server
Web
server
Availability Zone a
RDS DB
instance
ElastiCache
node 1
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
RDS DB
standby
ElastiCache
node 2
Web
server
Web
server
Web
server
Web
server
Availability Zone a
RDS DB
instance
ElastiCache
node 1
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
RDS DB
standby
ElastiCache
node 2
RDS read
replica
Passer la BD à l’échelle
Web
server
Web
server
Web
server
Web
server
Availability Zone a
RDS DB
instance
ElastiCache
node 1
Availability Zone b
S3 bucket for
static assets
www.example.com
Amazon Route 53
DNS service
Elastic Load
Balancing
RDS DB
standby
ElastiCache
node 2
RDS read
replica
RDS read
replica
Passer la BD à l’échelle
Et si votre application est orientée écriture ?
Challenge: Vous allez finalement rencontrer les limites de
la BD en terme de bande passante et d’IOPS
Solutions:
• Federation (diviser en plusieurs BDs selon leur fonction)
• Sharding (répartir les données d’une BD sur plusieurs
instances)
Fédération
• Diviser les tables / fonctions en BD
plus petites et autonomes
(--) Requêtes multi-fonctions
(forum+user+products)
(--) Fonctions / tables très
volumineuses
Forums DB
Users DB
Products
DB
Sharding horizontal
• Enregister une portion de
chaque table sur un shard
(--) Plus complexe au niveau
applicatif
(--) Plus complexe à opérer
User ShardID
002345 A
002346 B
002347 C
002348 B
002349 A
Shard C
Shard B
Shard A
NoSQL
• Principales différences par rapport aux BDs relationnelles :
– Modèle de données plus flexible
– Scalabilité horizontale & performances prédictibles
DynamoDB
Performances en Lecture / Ecriture
configurables pour chaque table
Résumé
Amazon Route 53
DNS servicePas de limites
Availability Zone a
RDS DB
instance
ElastiCache
node 2
Availability Zone b
S3 bucket for
static assets
www.example.com
Elastic Load
Balancing
RDS DB
standby
ElastiCache
node 3
RDS read
replica
RDS read
replica
DynamoDB
RDS read
replica
ElastiCache
node 4
RDS read
replica
ElastiCache
node 1
CloudSearchLambdaSES SQS
Quelques rappels
• KISS (Keep it simple and … stateless)
• Utilisez des services managés et nativement scalables
• Utilisez des ressources Multi AZ et Auto Scalables
• Utilisez la bonne BD pour chaque cas d’usage
• Utilisez un système de cache à plusieurs niveaux
• Simplifiez les opérations avec des outils de
déploiement
Prochaines étapes ?
Documentez-vous !
• https://aws.amazon.com/documentation
• https://aws.amazon.com/architecture
• https://aws.amazon.com/blogs/aws/
Faites-vous aider !
• Forum : http://forums.aws.amazon.com
• Support : http://aws.amazon.com/support
• Equipes locales AWS en France
AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu

Más contenido relacionado

La actualidad más candente

AWS Paris Summit 2014 - T4 - Etre partenaire AWS : Construisez votre business...
AWS Paris Summit 2014 - T4 - Etre partenaire AWS : Construisez votre business...AWS Paris Summit 2014 - T4 - Etre partenaire AWS : Construisez votre business...
AWS Paris Summit 2014 - T4 - Etre partenaire AWS : Construisez votre business...Amazon Web Services
 
Présentation d'Amazon Web Services - Human Talks Grenoble
Présentation d'Amazon Web Services - Human Talks GrenoblePrésentation d'Amazon Web Services - Human Talks Grenoble
Présentation d'Amazon Web Services - Human Talks GrenobleBastien Libersa
 
Track 3 - Atelier 4 - Tout savoir sur le support AWS
Track 3 - Atelier 4 - Tout savoir sur le support AWSTrack 3 - Atelier 4 - Tout savoir sur le support AWS
Track 3 - Atelier 4 - Tout savoir sur le support AWSAmazon Web Services
 
AWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybrides
AWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybridesAWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybrides
AWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybridesAmazon Web Services
 
AWS Summit Paris - Track 1 - Session 1 - Boostez votre activité l'impact de ...
AWS Summit Paris - Track 1 - Session 1 - Boostez votre activité  l'impact de ...AWS Summit Paris - Track 1 - Session 1 - Boostez votre activité  l'impact de ...
AWS Summit Paris - Track 1 - Session 1 - Boostez votre activité l'impact de ...Amazon Web Services
 
Présentation des services AWS
Présentation des services AWSPrésentation des services AWS
Présentation des services AWSJulien SIMON
 
Un Voyage dans le Cloud: Les Meilleures Pratiques Pour Démarrer Dans Le Cloud...
Un Voyage dans le Cloud: Les Meilleures Pratiques Pour Démarrer Dans Le Cloud...Un Voyage dans le Cloud: Les Meilleures Pratiques Pour Démarrer Dans Le Cloud...
Un Voyage dans le Cloud: Les Meilleures Pratiques Pour Démarrer Dans Le Cloud...Amazon Web Services
 
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par EdifixioTrack 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par EdifixioAmazon Web Services
 
Un Voyage dans le Cloud: Qu'est-ce que AWS?
Un Voyage dans le Cloud: Qu'est-ce que AWS?Un Voyage dans le Cloud: Qu'est-ce que AWS?
Un Voyage dans le Cloud: Qu'est-ce que AWS?Amazon Web Services
 
Un Voyage dans le Cloud - Dev & Test
Un Voyage dans le Cloud - Dev & Test Un Voyage dans le Cloud - Dev & Test
Un Voyage dans le Cloud - Dev & Test Amazon Web Services
 
Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014SOAT
 
AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...
AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...
AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...Amazon Web Services
 
AWS Summit Paris - Track 3 - Session 3 - Découvrez Amazon WorkSpaces et WorkS...
AWS Summit Paris - Track 3 - Session 3 - Découvrez Amazon WorkSpaces et WorkS...AWS Summit Paris - Track 3 - Session 3 - Découvrez Amazon WorkSpaces et WorkS...
AWS Summit Paris - Track 3 - Session 3 - Découvrez Amazon WorkSpaces et WorkS...Amazon Web Services
 
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
 
Track 2- Atelier 4 - Architecturez pour de la haute disponibilité
Track 2- Atelier 4 - Architecturez pour de la haute disponibilitéTrack 2- Atelier 4 - Architecturez pour de la haute disponibilité
Track 2- Atelier 4 - Architecturez pour de la haute disponibilitéAmazon Web Services
 
AWS Paris Summit 2014 - T3 - Evolution des architectures VPC
AWS Paris Summit 2014 - T3 - Evolution des architectures VPCAWS Paris Summit 2014 - T3 - Evolution des architectures VPC
AWS Paris Summit 2014 - T3 - Evolution des architectures VPCAmazon Web Services
 
AWS Summit Paris - Track 1 - Session 2 - Designez vos architectures pour plus...
AWS Summit Paris - Track 1 - Session 2 - Designez vos architectures pour plus...AWS Summit Paris - Track 1 - Session 2 - Designez vos architectures pour plus...
AWS Summit Paris - Track 1 - Session 2 - Designez vos architectures pour plus...Amazon Web Services
 
AWS Paris Summit 2014 - T1 - Introduction à Amazon EC2
AWS Paris Summit 2014 - T1 - Introduction à Amazon EC2AWS Paris Summit 2014 - T1 - Introduction à Amazon EC2
AWS Paris Summit 2014 - T1 - Introduction à Amazon EC2Amazon Web Services
 
Gibtalk aws
Gibtalk awsGibtalk aws
Gibtalk awsmeliphen
 
AWS Enterprise Day | Paris - Morning Session
AWS Enterprise Day | Paris - Morning SessionAWS Enterprise Day | Paris - Morning Session
AWS Enterprise Day | Paris - Morning SessionAmazon Web Services
 

La actualidad más candente (20)

AWS Paris Summit 2014 - T4 - Etre partenaire AWS : Construisez votre business...
AWS Paris Summit 2014 - T4 - Etre partenaire AWS : Construisez votre business...AWS Paris Summit 2014 - T4 - Etre partenaire AWS : Construisez votre business...
AWS Paris Summit 2014 - T4 - Etre partenaire AWS : Construisez votre business...
 
Présentation d'Amazon Web Services - Human Talks Grenoble
Présentation d'Amazon Web Services - Human Talks GrenoblePrésentation d'Amazon Web Services - Human Talks Grenoble
Présentation d'Amazon Web Services - Human Talks Grenoble
 
Track 3 - Atelier 4 - Tout savoir sur le support AWS
Track 3 - Atelier 4 - Tout savoir sur le support AWSTrack 3 - Atelier 4 - Tout savoir sur le support AWS
Track 3 - Atelier 4 - Tout savoir sur le support AWS
 
AWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybrides
AWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybridesAWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybrides
AWS Paris Summit 2014 - T2 - Déployer des environnements entreprises hybrides
 
AWS Summit Paris - Track 1 - Session 1 - Boostez votre activité l'impact de ...
AWS Summit Paris - Track 1 - Session 1 - Boostez votre activité  l'impact de ...AWS Summit Paris - Track 1 - Session 1 - Boostez votre activité  l'impact de ...
AWS Summit Paris - Track 1 - Session 1 - Boostez votre activité l'impact de ...
 
Présentation des services AWS
Présentation des services AWSPrésentation des services AWS
Présentation des services AWS
 
Un Voyage dans le Cloud: Les Meilleures Pratiques Pour Démarrer Dans Le Cloud...
Un Voyage dans le Cloud: Les Meilleures Pratiques Pour Démarrer Dans Le Cloud...Un Voyage dans le Cloud: Les Meilleures Pratiques Pour Démarrer Dans Le Cloud...
Un Voyage dans le Cloud: Les Meilleures Pratiques Pour Démarrer Dans Le Cloud...
 
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par EdifixioTrack 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
 
Un Voyage dans le Cloud: Qu'est-ce que AWS?
Un Voyage dans le Cloud: Qu'est-ce que AWS?Un Voyage dans le Cloud: Qu'est-ce que AWS?
Un Voyage dans le Cloud: Qu'est-ce que AWS?
 
Un Voyage dans le Cloud - Dev & Test
Un Voyage dans le Cloud - Dev & Test Un Voyage dans le Cloud - Dev & Test
Un Voyage dans le Cloud - Dev & Test
 
Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014
 
AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...
AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...
AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...
 
AWS Summit Paris - Track 3 - Session 3 - Découvrez Amazon WorkSpaces et WorkS...
AWS Summit Paris - Track 3 - Session 3 - Découvrez Amazon WorkSpaces et WorkS...AWS Summit Paris - Track 3 - Session 3 - Découvrez Amazon WorkSpaces et WorkS...
AWS Summit Paris - Track 3 - Session 3 - Découvrez Amazon WorkSpaces et WorkS...
 
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
 
Track 2- Atelier 4 - Architecturez pour de la haute disponibilité
Track 2- Atelier 4 - Architecturez pour de la haute disponibilitéTrack 2- Atelier 4 - Architecturez pour de la haute disponibilité
Track 2- Atelier 4 - Architecturez pour de la haute disponibilité
 
AWS Paris Summit 2014 - T3 - Evolution des architectures VPC
AWS Paris Summit 2014 - T3 - Evolution des architectures VPCAWS Paris Summit 2014 - T3 - Evolution des architectures VPC
AWS Paris Summit 2014 - T3 - Evolution des architectures VPC
 
AWS Summit Paris - Track 1 - Session 2 - Designez vos architectures pour plus...
AWS Summit Paris - Track 1 - Session 2 - Designez vos architectures pour plus...AWS Summit Paris - Track 1 - Session 2 - Designez vos architectures pour plus...
AWS Summit Paris - Track 1 - Session 2 - Designez vos architectures pour plus...
 
AWS Paris Summit 2014 - T1 - Introduction à Amazon EC2
AWS Paris Summit 2014 - T1 - Introduction à Amazon EC2AWS Paris Summit 2014 - T1 - Introduction à Amazon EC2
AWS Paris Summit 2014 - T1 - Introduction à Amazon EC2
 
Gibtalk aws
Gibtalk awsGibtalk aws
Gibtalk aws
 
AWS Enterprise Day | Paris - Morning Session
AWS Enterprise Day | Paris - Morning SessionAWS Enterprise Day | Paris - Morning Session
AWS Enterprise Day | Paris - Morning Session
 

Similar a AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu

Stockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le mondeStockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le mondeMicrosoft Technet France
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Microsoft Technet France
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaMicrosoft
 
6 stratégies pour migrer vos données dans AWS
6 stratégies pour migrer vos données dans AWS6 stratégies pour migrer vos données dans AWS
6 stratégies pour migrer vos données dans AWSJulien SIMON
 
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]IBM France PME-ETI
 
Monter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows AzureMonter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows AzureMicrosoft Technet France
 
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...Amazon Web Services
 
Track 1 - Atelier 1 - Votre première semaine avec Amazon EC2
Track 1 - Atelier 1 - Votre première semaine avec Amazon EC2Track 1 - Atelier 1 - Votre première semaine avec Amazon EC2
Track 1 - Atelier 1 - Votre première semaine avec Amazon EC2Amazon Web Services
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteMicrosoft
 
"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
 
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03Nicolas Fonrose
 
Conférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrConférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrOxalide
 
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é
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservicesRiadh MNASRI
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Christophe Laporte
 
Migration des réseaux d agence : les apports de Windows Server 2012 R2
Migration des réseaux d agence : les apports de Windows Server 2012 R2Migration des réseaux d agence : les apports de Windows Server 2012 R2
Migration des réseaux d agence : les apports de Windows Server 2012 R2Microsoft
 
AWS Paris Summit 2014 - T4 - Créez votre PaaS avec AWS
AWS Paris Summit 2014 - T4 - Créez votre PaaS avec AWSAWS Paris Summit 2014 - T4 - Créez votre PaaS avec AWS
AWS Paris Summit 2014 - T4 - Créez votre PaaS avec AWSAmazon Web Services
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraVictor Coustenoble
 
Integration Drupal systemes d'informations
Integration Drupal systemes d'informationsIntegration Drupal systemes d'informations
Integration Drupal systemes d'informationsneuros
 

Similar a AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu (20)

Stockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le mondeStockage Cloud : il y en aura pour tout le monde
Stockage Cloud : il y en aura pour tout le monde
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
 
6 stratégies pour migrer vos données dans AWS
6 stratégies pour migrer vos données dans AWS6 stratégies pour migrer vos données dans AWS
6 stratégies pour migrer vos données dans AWS
 
Tech Round Table
Tech Round TableTech Round Table
Tech Round Table
 
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
Stockage et Cloud [#CloudAccelerate 13/06/2014 @ IBM CC Paris]
 
Monter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows AzureMonter des environnements dev test efficaces avec Windows Azure
Monter des environnements dev test efficaces avec Windows Azure
 
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...
Track 1 - Atelier 2 - Distribution complète d’un site avec le cdn Amazon Clo...
 
Track 1 - Atelier 1 - Votre première semaine avec Amazon EC2
Track 1 - Atelier 1 - Votre première semaine avec Amazon EC2Track 1 - Atelier 1 - Votre première semaine avec Amazon EC2
Track 1 - Atelier 1 - Votre première semaine avec Amazon EC2
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
 
"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...
 
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
Continuous cloud costs testing [Fr] - DevoxxFR - 2013-03
 
Conférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrConférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.Fr
 
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
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservices
 
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
Tout sur les solutions de haute disponibilité et disaster recovery de sql ser...
 
Migration des réseaux d agence : les apports de Windows Server 2012 R2
Migration des réseaux d agence : les apports de Windows Server 2012 R2Migration des réseaux d agence : les apports de Windows Server 2012 R2
Migration des réseaux d agence : les apports de Windows Server 2012 R2
 
AWS Paris Summit 2014 - T4 - Créez votre PaaS avec AWS
AWS Paris Summit 2014 - T4 - Créez votre PaaS avec AWSAWS Paris Summit 2014 - T4 - Créez votre PaaS avec AWS
AWS Paris Summit 2014 - T4 - Créez votre PaaS avec AWS
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
 
Integration Drupal systemes d'informations
Integration Drupal systemes d'informationsIntegration Drupal systemes d'informations
Integration Drupal systemes d'informations
 

Más de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Más de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

AWS Summit Paris - Track 2 - Session 2 - Préparez-vous à l'imprévu

  • 2. Préparez-vous à l’imprévu ! (ou comment passer de 1 à 10M d’utilisateurs ?) Cédric DUPUI, AWS - Solutions Architect 23rd June 2015, AWS Paris Summit @aws_actus
  • 3. Pourquoi participer à cette session ? • Construire une plate-forme technologique • Anticiper votre succès • Comprendre les Design Patterns liés à la scalabilité • Adopter une démarche pragmatique et itérative
  • 4. Qu’est-ce qu’une architecture scalable ? • Elle peut supporter une augmentation du nombre d’utilisateurs, du traffic et des données • Elle n’a pas de limites • Elle ne subit pas de dégradation de performances • Elle est prédictible – en ajoutant des ressources • Elle est efficace – en terme de coût par utilisateur
  • 5. Etape 1 – Développement
  • 6. Une instance LE serveur (e.g. Apache, MySQL) Elastic IP www.example.com Amazon Route 53 DNS service Server Image (AMI)
  • 7. Etape 2 – beta
  • 8. Il nous faut un plus gros serveur ! • Plus de stockage, plus rapide (EBS) • Utiliser le bon type d’instance • Il est facile de changer d’instance… • … Mais cette stratégie est temporaire ! • Pas de tolérance à la panne
  • 9. Séparer le web et la BD • Plus de capacité • Rendre chaque tiers scalable individuellement • Optimiser les instances pour chaque tiers – Type d’instance – Stockage • Securité – Security groups – BD dans un subnet privé du VPC
  • 10. Comment choisir ma BDD en fonction de mes besoins? SQL? NoSQL?
  • 11. Pourquoi commencer avec une BDD Relationelle? • L’approche SQL est polyvalente • Un éco-système riche : code, outils, connaissances • Patterns bien identifiés pour gérer la scalabilité* • Dans la réalité : Besoin d’une couche de données “polyglotte” – Parfois, NoSQL plus adapté  Utiliser le meilleur outil pour chaque cas d’usage * Pour des applications avec un fort taux de lecture
  • 12. Les Bases de Données relationnelles sont complexes ! • Expérience Amazon.com  Les BDD relationnelles sont extrèmement délicates à gérer et à opérer en HA • BDD non / mal opérées = Cause principale de nuits blanches et de coupures de services • Est-ce que vous disposez d’équipes dédiées ?
  • 13. Bases de données relationnelles MySQL, Aurora, PostgreSQL, Oracle, SQL Server Totalement managées; pas d’administration Amazon RDS Aurora
  • 15. Déporter les contenus statiques • Amazon S3: Hautement disponible et scalable – Fichiers statiques (JavaScript, CSS, images, …) – Upload • URLs S3 – contenu servi directement depuis S3 • Le serveur Web se focalise sur le contenu dynamique
  • 16. Amazon CloudFront • Réseau mondial de points de cache (Edge Locations) • Cache au plus proche de l’utilisateur – Réduire la latence – Réduire la charge sur les serveurs d’origine – Contenus statique ET dynamique – Impact énorme sur l’XP utilisateur • Optimisation des connections – Optimiser les routes de transfert – Connections persistantes – Avantages valables même sur le contenu non cachable
  • 17. CloudFront pour du contenu statique ET dynamique Amazon Route 53 EC2 instance(s) S3 bucket Static content Dynamic content css/* js/* Images/* Default(*) CloudFront distribution
  • 18. Cache de base de données • Meilleur temps de réponse (RAM) • Réduit le traffic sur la base de données Serveur d’application 1. Si le résultat est en cache, retourner ce résultat 2. S’il n’est pas dans le cache, interroger la base RDS database Amazon ElastiCache 3. L’enregistrer dans le cache
  • 19. Amazon ElastiCache: cache en mémoire • Simple à déployer • Managé – Remplacement automatique des noeuds en erreur – Management des patches • Elastique • Compatible MemCached et Redis ElastiCache
  • 20. Etape 3 – Production
  • 21. Haute Disponibilité Availability Zone a RDS DB instance Web server S3 bucket for static assets www.example.com Amazon Route 53 DNS service Amazon CloudFront ElastiCache node 1
  • 22. Haute Disponibilité Availability Zone a RDS DB instance Availability Zone b Web server Web server S3 bucket for static assets www.example.com Amazon Route 53 DNS service Amazon CloudFront ElastiCache node 1
  • 23. Haute Disponibilité Availability Zone a RDS DB instance Availability Zone b www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server S3 bucket for static assets Amazon CloudFront ElastiCache node 1
  • 24. Elastic Load Balancing (ELB) • Service de répartition de charge managé • Tolérant à la panne • Vérification de l’état (Health Check) • Distribue le traffic entre les Azs d’une région • Elastique – s’adapte automatiquement au traffic
  • 25. Haute Disponibilité Availability Zone a RDS DB instance Availability Zone b www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server S3 bucket for static assets ElastiCache node 1 Amazon CloudFront
  • 26. Haute Disponibilité Availability Zone a RDS DB instance Availability Zone b www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server RDS DB standby S3 bucket for static assets ElastiCache node 1 Amazon CloudFront
  • 27. Haute Disponibilité de la couche de données Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server RDS DB standby
  • 28. Haute Disponibilité de la couche de données Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server RDS DB standby ElastiCache node 2
  • 29. Sessions utilisateur • Problème: Souvent stockées sur un disque local (non partagé) • Contournement : ELB + Affinité de sessions  Solution: Stockage dans DynamoDB ! Elastic Load Balancing Web server Web server Logged in Logged out
  • 30. Amazon DynamoDB • Base Document et Clé-valeur managée • Facile à prendre en main et à faire évoluer • Jusqu’à des millions d’IOPS • Capacité en lecture ET en écriture • Consistente et rapide • Durable: parfait pour le stockage des données de session https://github.com/aws/aws-dynamodb-session-tomcat http://docs.aws.amazon.com/aws-sdk-php/guide/latest/feature-dynamodb-session-handler.html
  • 31. Etape 4 – Anticiper le succès
  • 32. Remplacer les prévisions par une IT élastique Avant AWS Demand Unhappy Customers Waste $$$ Traditional Capacity Capacity Demand AWS Cloud
  • 33. Une couche Web scalable Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server RDS DB standby ElastiCache node 2
  • 34. Une couche Web scalable Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server RDS DB standby ElastiCache node 2 Web server Web server
  • 35. Une couche Web scalable Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing Web server Web server RDS DB standby ElastiCache node 2 Web server Web server
  • 36. Redimensionnement automatique des flottes de serveurs Fonctionnalités Détails Contrôle Définir une taille minimum et un maximum pour les flottes de serveurs. Intégré à Amazon CloudWatch Utiliser les métriques CloudWatch pour contrôler la scalabilité. Types d’instances Lancer l’Auto-Scaling pour vos instances Spot ou à la demande, compatible avec VPC. aws autoscaling create-auto-scaling-group --auto-scaling-group-name MyGroup --launch-configuration-name MyConfig --min-size 4 --max-size 200 --availability-zones us-west-2c, us-west-2b Auto Scaling Trigger auto-scaling policy Amazon CloudWatch
  • 37. Décomposer les couches applicatives en blocs de taille réduite , faiblement couplé, et surtout sans état Pré-requis
  • 38. Qu’est ce cela signifie en pratique ? • Seules les données “transientes“ sont stockées sur le disque local • Besoin de persister une données au dela de la requête HTTP ? – Enregistez-la ailleurs ! Fichiers Utilisateur Sessions Utilisateur Amazon S3 AWS DynamoDB Données Applicatives Amazon RDS
  • 39. Après voir tout décomposé en blocs de taille réduite, faiblement couplés et sans état Vous pouvez maintenant augmenter l’échelle facilement Et ensuite…
  • 40. Et ensuite… Vous pouvez maintenant diminuer l’échelle facilement Après voir tout décomposé en blocs de taille réduite, faiblement couplés et sans état
  • 41. Etape 5 – Ajouter des fonctionnalités
  • 42. Mobile Push Notifications Mobile Analytics Cognito Cognito Sync Analytics Kinesis Data Pipeline RedShift EMR Vos Applications AWS Global Infrastructure Network VPC Direct Connect Route 53 Storage EBS S3 Glacier CloudFront Database DynamoDBRDS ElastiCache Deployment & Management Elastic Beanstalk OpsWorks Cloud Formation Code Deploy Code Pipeline Code Commit Security & Administration CloudWatch Config Cloud Trail IAM Directory KMS Application SQS SWF App Stream Elastic Transcoder SES Cloud Search SNS Enterprise Applications WorkSpaces WorkMail WorkDocs Compute EC2 ELB Auto Scaling LambdaECS
  • 43. AWS building blocks Nativement Scalable & Hautement disponible Scalable & Hautement disponible  Elastic Load Balancing  Amazon CloudFront  Amazon Route53  Amazon S3  Amazon SQS  Amazon SES  Amazon CloudSearch  AWS Lambda  …  Amazon DynamoDB  Amazon Redshift  Amazon RDS  Amazon Elasticache  …  Amazon EC2  Amazon VPC Automatisés Configurables Avec la bonne architecture
  • 44. Restez focalisés sur votre Business Infrastructure Cloud AWS Votre Business Plus de temps pour vous focaliser sur votre Business Configurer vos ressources Cloud 70% 30%70% Infrastructure On-Premise 30% Gérer des tâches sans valeur ajoutée
  • 45. Etape 6 – Une expansion rapide
  • 46. Passer les BDs relationnelles à l’échelle • Améliorer les spécifications des instances RDS – Type d’instance plus performant – Plus de stockage / Plus de performance (PIOPS) • Read Replicas (Master – Slave) – Passer à l’échelle au delà des capacité d’une instance de BD – Disponible sur Amazon RDS pour MySQL, PostgreSQL et Aurora – Ecriture => master – Latence en réplication – Lectures tolérantes avec la consistence des données => read replica (slave) – Lectures avec de forts besoins de consistence => master
  • 47. Passer la BD à l’échelle Web server Web server Web server Web server Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing RDS DB standby ElastiCache node 2
  • 48. Web server Web server Web server Web server Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing RDS DB standby ElastiCache node 2 RDS read replica Passer la BD à l’échelle
  • 49. Web server Web server Web server Web server Availability Zone a RDS DB instance ElastiCache node 1 Availability Zone b S3 bucket for static assets www.example.com Amazon Route 53 DNS service Elastic Load Balancing RDS DB standby ElastiCache node 2 RDS read replica RDS read replica Passer la BD à l’échelle
  • 50. Et si votre application est orientée écriture ? Challenge: Vous allez finalement rencontrer les limites de la BD en terme de bande passante et d’IOPS Solutions: • Federation (diviser en plusieurs BDs selon leur fonction) • Sharding (répartir les données d’une BD sur plusieurs instances)
  • 51. Fédération • Diviser les tables / fonctions en BD plus petites et autonomes (--) Requêtes multi-fonctions (forum+user+products) (--) Fonctions / tables très volumineuses Forums DB Users DB Products DB
  • 52. Sharding horizontal • Enregister une portion de chaque table sur un shard (--) Plus complexe au niveau applicatif (--) Plus complexe à opérer User ShardID 002345 A 002346 B 002347 C 002348 B 002349 A Shard C Shard B Shard A
  • 53. NoSQL • Principales différences par rapport aux BDs relationnelles : – Modèle de données plus flexible – Scalabilité horizontale & performances prédictibles DynamoDB Performances en Lecture / Ecriture configurables pour chaque table
  • 55. Amazon Route 53 DNS servicePas de limites Availability Zone a RDS DB instance ElastiCache node 2 Availability Zone b S3 bucket for static assets www.example.com Elastic Load Balancing RDS DB standby ElastiCache node 3 RDS read replica RDS read replica DynamoDB RDS read replica ElastiCache node 4 RDS read replica ElastiCache node 1 CloudSearchLambdaSES SQS
  • 56. Quelques rappels • KISS (Keep it simple and … stateless) • Utilisez des services managés et nativement scalables • Utilisez des ressources Multi AZ et Auto Scalables • Utilisez la bonne BD pour chaque cas d’usage • Utilisez un système de cache à plusieurs niveaux • Simplifiez les opérations avec des outils de déploiement
  • 57. Prochaines étapes ? Documentez-vous ! • https://aws.amazon.com/documentation • https://aws.amazon.com/architecture • https://aws.amazon.com/blogs/aws/ Faites-vous aider ! • Forum : http://forums.aws.amazon.com • Support : http://aws.amazon.com/support • Equipes locales AWS en France