aws paris summit 2014 - t3 - architecturer avec aws pour des millions d'utilisateurs

50
© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. Architecturer avec AWS pour des millions d’utilisateurs Michaël Garcia, Solutions Architect AWS @aws_actus #AWSSummit 13 Mai 2014

Upload: amazon-web-services

Post on 05-Dec-2014

1.070 views

Category:

Technology


0 download

DESCRIPTION

Track 3 - Session 1 - Architecturer avec AWS pour des millions d'utilisateurs

TRANSCRIPT

Page 1: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

Architecturer avec AWS

pour des millions d’utilisateurs Michaël Garcia, Solutions Architect AWS

@aws_actus #AWSSummit 13 Mai 2014

Page 2: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Agenda

• Notions de base

• D’un utilisateur à des millions

• Témoignage: “A Little Market” – Loic Duvernay

Page 3: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

#1 Notions de base

Page 4: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Regions US-WEST (Oregon)

EU-WEST (Ireland)

ASIA PAC (Tokyo)

US-WEST (N. California)

SOUTH AMERICA (Sao Paulo)

US-EAST (Virginia)

AWS GovCloud (US)

ASIA PAC

(Sydney)

ASIA PAC

(Singapore)

CHINA (Beijing)

Page 5: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Zones de disponibilités US-WEST (Oregon)

EU-WEST (Ireland)

ASIA PAC (Tokyo)

US-WEST (N. California)

SOUTH AMERICA (Sao Paulo)

US-EAST (Virginia)

AWS GovCloud (US)

ASIA PAC

(Sydney)

ASIA PAC

(Singapore)

CHINA (Beijing)

Page 6: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Amazon CloudFront – 51 Point de présence

Page 7: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Compute Storage

AWS Global Infrastructure

Database

App Services

Deployment & Administration

Networking

Page 8: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Compute Storage

AWS Global Infrastructure

Database

App Services

Deployment & Administration

Networking

Amazon

CloudWatch AWS IAM AWS

CloudFormation

Amazon Elastic

Beanstalk AWS

Data

Pipeline

AWS

OpsWorks AWS

CloudTrail

Amazon

EC2

Amazon

EMR Amazon

VPC

Amazon

Route 53 AWS

Direct

Connect

Amazon

Kinesis

AWS Storage

Gateway

Amazon S3

Amazon

Glacier

Amazon

CloudFront

Amazon

DynamoDB

Amazon

RDS

Amazon

ElastiCache

Amazon

RedShift

Amazon

CloudSearch Amazon

SQS

Amazon

SNS

Amazon

Elastic

Transcoder

Amazon SWF Amazon

SES

Page 9: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

#2 D’un utilisateur à des millions

Page 10: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Jour 1, 1 utilisateur:

• Une seule instance EC2 – Contient toute la stack

• Appli web

• Base de données

• Administration

• etc.

• Une Elastic IP

• Amazon Route 53 pour le DNS

Instance

EC2

Adresse

Elastic IP

Amazon

Route 53 Utilisateur

Page 11: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

“On a besoin d’une plus grosse instance”

• Approche la plus simple

• PIOPs

• Instances High I/O

• Instances High memory

• Instances High CPU

• Instances High storage

• Changement de taille d’instance

facile

Page 12: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

“On a besoin d’une plus grosse instance”

• Approche la plus simple

• PIOPs

• Instances High I/O

• Instances High memory

• Instances High CPU

• Instances High storage

• Changement de taille d’instance

facile

• Possède une limite définie

Page 13: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Jour 1, 1 utilisateur:

• Pas de redondance

• Pas de fail-over

• Pas d’élasticité

• Trop ‘d’oeufs dans le même

panier’

EC2

instance

Elastic IP

address

Amazon

Route 53 User

Page 14: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Jour 2, >1 utilisateur:

Séparation selon les fonctions:

• Webservers

• Base de données – Existe-t-il un service managé ?

Instance

Web

Instance

DB

Adresse

Elastic IP

Amazon

Route 53 Utilisateur

Page 15: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Amazon RDS

Amazon

Relational

Database

Service

Rentable et évolutif en terme de

capacité

Supporte plusieurs base de données SQL

connues.

Oracle / SQL Server / PostgreSQL / MySQL

Gère les tâches

d’administration de la base de

données

Page 16: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

>100 utilisateurs:

Séparation selon les fonctions:

• Webservers

• Base de données – Utilisation de RDS pour gagner du

temps

Instance

Web

Adresse

Elastic IP

Amazon

Route 53 Utilisateur

Instance

RDS Master

Page 17: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Pourquoi SQL au démarrage ?

• Technologies établies et matures

• Beaucoup de codes, documents, communautés, livres, outils existants

• Vous n’allez pas atteindre les limites des bases SQL pour le million

d’utilisateur. Vraiment, c’est sûr*.

• Pattern de scalabilité établis

* Sauf si vous manipulez des données à une échelle massive (To); même à ce

moment là votre application aura toujours besoin d’une base SQL

Page 18: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

>1000 utilisateurs:

Adressons le fail-over et la

redondance:

• Passage en mode RDS multi-

AZ

• Une autre instance Web

– Dans une autre zone de

disponibilité

• Elastic Load Balancing

Instance

Web

Amazon RDS DB instance

Active (Multi-AZ)

Availability Zone Availability Zone

Instance

Web

Amazon RDS DB instance

Standby (Multi-AZ)

Elastic Load

Balancing

Amazon

Route 53 Utilisateur

Page 19: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Elastic Load Balancing

Elastic Load

Balancer Met automatiquement à l’échelle sa capacité

afin de répondre au pics de trafic

Supporte des “Health Check” applicatif pour

router le trafic vers les instances en bonne

santé

Route le trafic vers des instances EC2 au niveau

HTTP/HTTPS ou TCP

Page 20: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Le scaling horizontal

permettra d’atteindre

10k/100k utilisateurs

Page 21: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

>10ks/100ks

RDS DB Instance

Active (Multi-AZ)

Availability Zone Availability Zone

RDS DB Instance

Standby (Multi-AZ)

Elastic Load

Balancing

RDS DB Instance

Read Replica

RDS DB Instance

Read Replica

RDS DB Instance

Read Replica

RDS DB Instance

Read Replica

Web

instance

Web

instance

Web

instance

Web

instance

Web

instance

Web

instance

Web

instance

Web

instance

Amazon

Route 53 User

Page 22: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Trafic du mois de Novembre Amazon.com

capacité provisionnée

novembre

Page 23: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Trafic du mois de Novembre Amazon.com 76%

24%

capacité provisionnée

novembre

Page 24: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Trafic du mois de Novembre Amazon.com

novembre

Page 25: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Auto Scaling

Auto Scaling

Dimensionnement automatique de vos

instances Amazon EC2

Pas de coût supplémentaire

Remplacement des instances défaillantes afin

d'assurer la disponibilité continue de vos applications

Page 26: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

>10ks/100ks

RDS DB Instance

Active (Multi-AZ)

Availability Zone Availability Zone

RDS DB Instance

Standby (Multi-AZ)

Elastic Load

Balancing

RDS DB Instance

Read Replica

RDS DB Instance

Read Replica

RDS DB Instance

Read Replica

RDS DB Instance

Read Replica

Web

instance

Web

instance

Web

instance

Web

instance

Web

instance

Web

instance

Web

instance

Web

instance

Amazon

Route 53 User

Auto Scaling

Page 27: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Comment optimiser cette

infrastructure ?

Page 28: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Optimisation:

• Utiliser du CDN pour cacher

• Mettre le contenu statique sur

Amazon S3

• Cacher des informations avec

Amazon ElastiCache

• Déplacer des tables sur

Amazon DynamoDB

Web

instance

RDS DB Instance

Active (Multi-AZ)

Availability Zone

Elastic Load

Balancing

Amazon S3

Amazon

CloudFront

Amazon

Route 53 User

ElastiCache

Amazon

DynamoDB

Page 29: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Amazon S3

Amazon

Simple

Storage

Service

Stockage pour Internet. En ligne nativement, accès HTTPS

Stocker et récupérer n’importe quel volume de

données, n’importe quand, depuis n’importe où

Hautement scalable, rapide, fiable et durable

Page 30: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Amazon CloudFront

Amazon

CloudFront

Cacher du contenu depuis Amazon S3

Ou depuis n’importe quel serveur web

Accélérer le contenu statique et dynamique

51 Edge locations

US / Europe /South America / Asia

Page 31: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Amazon DynamoDB

Pas de limitation sur la quantité de données

Facile à provisionner, changement de la

capacité d’une table avec une simple requête

Rapide,

Performances élevées et prévisibles

Amazon

DynamoDB

Page 32: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Pourquoi NoSQL?

• Besoin de latence très faible

• Données fortement non relationnelles

• Pas de schéma

• Volume de données important (Echelle du To)

• Nombre d’écritures massifs ( k requêtes/sec )

Page 33: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Amazon ElastiCache

Amazon

ElastiCache

Elastique, découverte

automatique de nœuds

Manage les corrections, détecte et

remplace automatiquement les

nœuds défaillants

Supporte les solutions

Memcached et Redis

Page 34: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

>500k+

Availability Zone

Amazon

Route 53 Utilisateur

Amazon S3

Amazon

CloudFront

Availability Zone

Elastic Load

Balancing

Amazon

DynamoDB RDS DB Instance

Read Replica

Web

instance

Web

instance

Web

instance

ElastiCache RDS DB Instance

Read Replica

Web

instance Web

instance

Web

instance

ElastiCache RDS DB Instance

Standby (Multi-AZ) RDS DB Instance

Active (Multi-AZ)

Auto Scaling

Page 35: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

>500k+ Vous allez rencontrer certaines limites de performances sur

vos composants logiciels:

• Monitoring/Métriques/Logging

– Solutions tierces (3rd party solutions)

• Ecoutez les retours d’expérience

• Maximiser la performance de chaque service/composant

logiciel

Page 36: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Métriques instances Agrégation de métriques

Analyse de logs Performances externes

Page 37: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

1million+ • ”Loose coupling” & “SOA”

– Architecturer sous forme de service

• Utiliser des services AWS – Accélérer le développement, peu d’administration, redondance et scalabilité

– Email, recherche, file de message, etc…

Amazon

CloudSearch Amazon

SQS

Amazon

SNS

Amazon

Elastic

Transcoder

Amazon SWF Amazon

SES

Page 38: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

1million+

RDS DB Instance

Active (Multi-AZ)

Availability Zone

Elastic Load

Balancing

RDS DB Instance

Read Replica

RDS DB Instance

Read Replica

Web

instance

Web

instance

Web

instance

Web

instance

Amazon

Route 53 User

Amazon S3

Amazon

CloudFront

Amazon

DynamoDB

Amazon SQS

ElastiCache

Worker

instance

Worker

instance

Amazon

CloudWatch

Internal app

instance

Internal app

instance Amazon SES

Auto Scaling

Page 39: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

+10 Millions ???

Page 40: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Ce qu’il faut retenir

• Multi-AZ

• Aidez-vous des différents services

– Elastic Load Balancing, Amazon S3, Amazon SNS, Amazon SQS, Amazon

SWF, Amazon SES, etc.

• Redondance à chaque niveau, SOA

• Mettre en cache les données à l’intérieur et à l’extérieur

• Automatiser la gestion et le monitoring

Page 41: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

#3 Témoignage: Loic Duvernay

Page 42: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Qui est A little Market ?

• Première place de marché française sur le fait-main

– 2 Millions de produits, 80 000 créateurs

– Equipe de 40 personnes

– 4 Millions de visiteurs par mois

– 5000 transactions par jour

• 3 verticaux, 2 zones (France, Italie) – AlittleMarket.com: première place de marché française dédiée à l'artisanat et au fait main.

– AlittleMercerie.com: première place de marché française dédiée aux loisirs créatifs.

– AlittleEpicerie.com: place de marché dédiée aux produits du terroir.

Page 43: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Gestion du cache des images

• Image sur NetApp

– 6 To d’images

– 65 millions d’éléments

– 700 Go / jour (20 To / mois)

– Cache Varnish de 30 Go * 4 (assets) + Cache Nginx persistant /

SlowFS (2 frontaux dédiés)

Page 44: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Ce que vous ne voulez pas voir

• Sur une période de 6

mois

– 2 ralentissements (NetApp)

– Varnish vidé de multiples

fois, à chaque problème

sur le front-end

• Solution : CDN !

Page 45: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Avantages d’Amazon Cloudfront

• Mise en place rapide – Création d’un alias au ndd:

galerie-cloudfront.alittlemarket.com => galerie.alittlemarket.com

• Configuration simple – Création d’une règle simple

Page 46: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Avantages d’Amazon Cloudfront

Satisfaction utilisateur

Gain de temps de chargement

Moins de charge sur le Back-End

Gain sur le coût de la bande passante et des

ressources serveurs

Page 47: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

• Plusieurs astuces à partager

– Versioning de noms (invalidation)

– Centralisation des fichiers (Amazon S3)

– Utiliser un partenaire pour les

statistiques avancées (CloudFront)

– Toujours un ndd à part pour les assets

Tips !

Page 48: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

Et plus si affinité

Page 49: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

Questions ?

Page 50: AWS Paris Summit 2014 - T3 -  Architecturer avec AWS pour des millions d'utilisateurs

© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.

Architecturer avec AWS

pour des millions d’utilisateurs Michaël Garcia, Solutions Architect AWS

@aws_actus #AWSSummit 13 Mai 2014

Merci !