Construire des Applications Web Performantes - Rule Book Webinar

115
Construire des Applications Web Performantes dans le Cloud AWS Stephan Hadinger – Sr Mgr, Solutions Architecture suivez nous en français @aws_actus Content: Ryan Shuttleworth – Technical Evangelist

description

Premier d'une série de Webinaire "Voyage dans le Cloud AWS", nous allons voir comment construire des applications Web performantes en utilisant le Cloud AWS.

Transcript of Construire des Applications Web Performantes - Rule Book Webinar

Page 1: Construire des Applications Web Performantes - Rule Book Webinar

Construire des Applications Web Performantes dans le Cloud AWS

Stephan Hadinger – Sr Mgr, Solutions Architecture suivez nous en français @aws_actus

Content: Ryan Shuttleworth – Technical Evangelist

Page 2: Construire des Applications Web Performantes - Rule Book Webinar

Vos retours sont importants

Dites-nous:

Ce qui est bien, ce qui l’est moins ?

Ce que vous souhaitez voir lors de ces événements?

Ce que vous attendez d’AWS

Page 3: Construire des Applications Web Performantes - Rule Book Webinar

Contexte global

Page 4: Construire des Applications Web Performantes - Rule Book Webinar

Business grand-public

Des dizaines de millions de comptes

clients actifs

Huit pays: US, UK, Allemagne,

Japon, France, Canada, Chine, Italie

Business vendeurs

Vendez sur les sites Amazon

Utilisez la technologie Amazon pour vos propres

site de vente en ligne

Bénéficiez d’un des réseaux de distribution

les plus perfectionnés au monde

Business Infrastructure informatique

Infrastructure informatique en nuage permettant d’héberger des solutions à l’échelle

du Web

Des centaines de millers de clients enregistrés dans plus de 190 pays

Page 5: Construire des Applications Web Performantes - Rule Book Webinar

Deep experience in building

and operating global web

scale systems

About Amazon Web Services

?

…est passé au Cloud?

Comment Amazon…

Page 6: Construire des Applications Web Performantes - Rule Book Webinar

Plus de 10 ans d’expérience informatique

Ouverture à des vendeurs tiers

Besoins internes pour un environnement extensible

Les développeurs étaient demandeurs de nouveaux services

Page 7: Construire des Applications Web Performantes - Rule Book Webinar

Mission AWS

Enable businesses and developers to use web services* to build scalable,

sophisticated applications.

*What people now call “the cloud”

Page 8: Construire des Applications Web Performantes - Rule Book Webinar
Page 9: Construire des Applications Web Performantes - Rule Book Webinar

Ce n’est pas de la capacité en excès d’Amazon

Page 11: Construire des Applications Web Performantes - Rule Book Webinar

Chaque jour AWS ajoute la capacité informatique équivalente à la capacité nécessaire à Amazon

quand l’entreprise faisait $5 Md de CA

(aux alentours de 2003)

Page 12: Construire des Applications Web Performantes - Rule Book Webinar

H1 2012

63 2011

82

2010

61

2009

48

2008

24

2007

9 Amazon FPS Red Hat EC2

SimpleDB CloudFront EBS Availability Zones Elastic IPs

Relational Database Service Virtual Private Cloud

Elastic Map Reduce Auto Scaling

Reserved Instances Elastic Load Balancer

Simple Notification Service Route 53 RDS Multi-AZ Singapore Region Identity Access Management Cluster Instances

Elastic Beanstalk Simple Email Service CloudFormation RDS for Oracle ElastiCache

DynamoDB Simple Workflow

CloudSearch Storage Gateway

Route 53 Latency Based Routing

number of released features, sample services described

Page 13: Construire des Applications Web Performantes - Rule Book Webinar

0.000

250.000

500.000

750.000

1000.000

1.3 Trillion

835k+ transactions par seconde en pic

Objets dans S3

Page 14: Construire des Applications Web Performantes - Rule Book Webinar

Utility computing

Page 15: Construire des Applications Web Performantes - Rule Book Webinar

Utility computing

A la demande Paiement à l’usage

Uniforme Disponible

Page 16: Construire des Applications Web Performantes - Rule Book Webinar

Utility computing

A la demande Paiement à l’usage

Uniforme Disponible

Page 17: Construire des Applications Web Performantes - Rule Book Webinar

Utility computing

Page 18: Construire des Applications Web Performantes - Rule Book Webinar

Compute

Storage

Security Scaling

Database

Networking Monitoring

Messaging

Workflow

DNS

Load Balancing

Backup CDN

Utility computing

A la demande Paiement à l’usage

Uniforme Disponible

Page 19: Construire des Applications Web Performantes - Rule Book Webinar

Une Empreinte globale

Région

US-WEST (N. California) EU-WEST (Ireland)

ASIA PAC (Tokyo)

ASIA PAC (Singapore)

US-WEST (Oregon)

SOUTH AMERICA (Sao Paulo)

US-EAST (Virginia)

GOV CLOUD

ASIA PAC (Sydney)

Page 20: Construire des Applications Web Performantes - Rule Book Webinar

Zones de disponibilité

Une Empreinte globale

Page 21: Construire des Applications Web Performantes - Rule Book Webinar

Emplacements périphériques

Dallas(2)

St.Louis

Miami

Jacksonville Los Angeles (2)

Palo Alto

Seattle

Ashburn(2)

Newark

New York (2)

Dublin

London(2)

Amsterdam

Stockholm

Frankfurt(2) Paris(2)

Singapore(2)

Hong Kong

Tokyo

Sao Paulo

South Bend

San Jose

Osaka Milan

Sydney

Une Empreinte globale

Madrid

Page 22: Construire des Applications Web Performantes - Rule Book Webinar

A la pointe d’un web-service

ec2-run-instances ami-b232d0db

--instance-count 3

--availability-zone eu-west-1a

--instance-type m1.small

ec2-run-instances ami-b232d0db

--instance-count 5

--availability-zone eu-west-1c

--instance-type m1.medium

Page 23: Construire des Applications Web Performantes - Rule Book Webinar

ec2-run-instances ami-b232d0db

--instance-count 2

--availability-zone us-east-1b

--instance-type m1.xlarge

ec2-run-instances ami-b232d0db

--instance-count 2

--availability-zone eu-east-1d

--instance-type m1.xlarge

A la pointe d’un web-service

Page 24: Construire des Applications Web Performantes - Rule Book Webinar

elb-create-lb myLoadBalancer

as-create-auto-scaling-group MyGroup

--launch-configuration MyConfig

--availability-zones eu-west-1c

--min-size 2

--max-size 200

ec2-authorize default -p 80

A la pointe d’un web-service

Page 25: Construire des Applications Web Performantes - Rule Book Webinar

Accessible depuis une console riche

Page 26: Construire des Applications Web Performantes - Rule Book Webinar

Elasticité

Page 27: Construire des Applications Web Performantes - Rule Book Webinar

Capacité informatique

traditionnelle

Une capacité élastique

Capacité

Temps Vos besoins informatiques

Page 28: Construire des Applications Web Performantes - Rule Book Webinar

Besoins ponctuels Croissance rapide

Pics variables Pics prédictibles

Une capacité élastique

Page 29: Construire des Applications Web Performantes - Rule Book Webinar

Besoins ponctuels Croissance rapide

Pics prédictibles Pics variables

GASPILLAGE

INSATISFACTION DES UTILISATEURS

Une capacité élastique

Page 30: Construire des Applications Web Performantes - Rule Book Webinar

Capacité élastique du Cloud

Capacité informatique

traditionnelle

Vos besoins informatiques

Temps

Capacité

Une capacité élastique

Page 31: Construire des Applications Web Performantes - Rule Book Webinar

Croissance rapide Besoins ponctuels

Pics prédictibles Pics variables

Une capacité élastique

Page 32: Construire des Applications Web Performantes - Rule Book Webinar

503 Service Temporarily Unavailable

The server is temporarily unable to service

your request due to maintenance downtime or

capacity problems. Please try again later.

Page 33: Construire des Applications Web Performantes - Rule Book Webinar

503 Service Temporarily Unavailable

The server is temporarily unable to service

your request due to maintenance downtime or

capacity problems. Please try again later.

Page 34: Construire des Applications Web Performantes - Rule Book Webinar

D’une seule instance…

Page 35: Construire des Applications Web Performantes - Rule Book Webinar

…à des milliers

Page 36: Construire des Applications Web Performantes - Rule Book Webinar

Temps: +00h

<10 cœurs

Capacité élastique

Page 37: Construire des Applications Web Performantes - Rule Book Webinar

Temps: +24h

>1500 cœurs

Capacité élastique

Page 38: Construire des Applications Web Performantes - Rule Book Webinar

Temps: +72h

<10 cœurs

Capacité élastique

Page 39: Construire des Applications Web Performantes - Rule Book Webinar

Temps: +120h

>600 cœurs

Capacité élastique

Page 40: Construire des Applications Web Performantes - Rule Book Webinar

Nom

bre

d’in

sta

nces E

C2

4/12/2008 4/14/2008 4/15/2008 4/16/2008 4/18/2008 4/19/2008 4/20/2008 4/17/2008 4/13/2008

De 40 serveurs à 5000 en 3 jours

EC2 scaled to peak of 5000 instances

“Techcrunched”

Launch of Facebook modification

Steady state of ~40 instances

Page 41: Construire des Applications Web Performantes - Rule Book Webinar

Ce que veulent les utilisateurs…

Page 42: Construire des Applications Web Performantes - Rule Book Webinar

Rapide, Performant

Ce que veulent les utilisateurs…

Page 43: Construire des Applications Web Performantes - Rule Book Webinar

Toujours disponible, accessible de

partout

Rapide, Performant

Ce que veulent les utilisateurs…

Page 44: Construire des Applications Web Performantes - Rule Book Webinar

Riche et personnalisé

Toujours disponible, accessible de

partout

Rapide, Performant

Ce que veulent les utilisateurs…

Page 45: Construire des Applications Web Performantes - Rule Book Webinar

Des nouveautés en permanence

Riche et personnalisé

Toujours disponible, accessible de

partout

Rapide, Performant

Ce que veulent les utilisateurs…

Page 46: Construire des Applications Web Performantes - Rule Book Webinar

Applications Web performantes

Des nouveautés en permanence

Riche et personnalisé

Toujours disponible, accessible de

partout

Rapide, Performant

Page 47: Construire des Applications Web Performantes - Rule Book Webinar

Comment?

Page 48: Construire des Applications Web Performantes - Rule Book Webinar

Construire des applications Web performantes

Page 49: Construire des Applications Web Performantes - Rule Book Webinar

Règle 2: Répondre le plus vite possible

Règle 1: Répondre à toutes les requêtes Web

Règle 3: Répondre à n’importe quelle échelle

Règle 4: Simplifier l’architecture avec des services

Règle 5: Automatiser l’exploitation

Règle 6: Utiliser les propriétés uniques du Cloud

Page 50: Construire des Applications Web Performantes - Rule Book Webinar

DNS Application Data

Règle 1: Répondre à toutes les requêtes Web

a) Vérifier que toutes les requêtes atteignent la “porte d’entrée”

Page 51: Construire des Applications Web Performantes - Rule Book Webinar

DNS Application Data Requête

Règle 1: Répondre à toutes les requêtes Web

a) Vérifier que toutes les requêtes atteignent la “porte d’entrée”

Page 52: Construire des Applications Web Performantes - Rule Book Webinar

DNS Application Data

…alors ceci est inutile

Si les utilisteurs ne peuvent pas résoudre les domaine ?

Requête

Règle 1: Répondre à toutes les requêtes Web

a) Vérifier que toutes les requêtes atteignent la “porte d’entrée”

Page 53: Construire des Applications Web Performantes - Rule Book Webinar

DNS Application Data

SLA “100% disponible” Route53

Feature Details

Global Supported from AWS global edge locations for fast and reliable domain name resolution

Scalable Automatically scales based upon query volumes

Latency based routing Supports resolution of endpoints based upon latency, enabling multi-region application delivery

Integrated Integrates with other AWS services allowing Route 53 to front load balancers, S3 and EC2

Secure Integrates with IAM giving fine grained control over DNS record access

http://aws.amazon.com/route53/sla

Requête

Règle 1: Répondre à toutes les requêtes Web

a) Vérifier que toutes les requêtes atteignent la “porte d’entrée”

Page 54: Construire des Applications Web Performantes - Rule Book Webinar

DNS Application Data

a) Vérifier que toutes les requêtes atteignent la “porte d’entrée” b) Vérifier que la porte d’entrée est ouverte

Route53

Requête

Règle 1: Répondre à toutes les requêtes Web

Page 55: Construire des Applications Web Performantes - Rule Book Webinar

Region

DNS Application Data

Elastic Load

Balancer Region

Availability Zone

Availability Zone

Availability Zone

Availability Zone

Route53

Elastic Load Balancer Zones mutiples Régions multiples

a) Vérifier que toutes les requêtes atteignent la “porte d’entrée” b) Vérifier que la porte d’entrée est ouverte

Requête

Règle 1: Répondre à toutes les requêtes Web

Page 56: Construire des Applications Web Performantes - Rule Book Webinar

Region

DNS Application Data

Region

a) Vérifier que toutes les requêtes atteignent la “porte d’entrée” b) Vérifier que la porte d’entrée est ouverte c) Construire la réponse avec les Données

Elastic Load

Balancer Region

Availability Zone

Availability Zone

Availability Zone

Availability Zone

Route53

Requête

Règle 1: Répondre à toutes les requêtes Web

Page 57: Construire des Applications Web Performantes - Rule Book Webinar

Region

DNS Application Data

Region

Elastic Load

Balancer

Route53

Region

Availability Zone

Availability Zone

Availability Zone

Availability Zone

RDS multi-zones

(Master-slave)

Réplication inter-régions

Read-replicas

a) Vérifier que toutes les requêtes atteignent la “porte d’entrée” b) Vérifier que la porte d’entrée est ouverte c) Construire la réponse avec les Données

Requête

Règle 1: Répondre à toutes les requêtes Web

Page 58: Construire des Applications Web Performantes - Rule Book Webinar

Règle 2: Répondre le plus vite possible

Règle 1: Répondre à toutes les requêtes Web

Règle 3: Répondre à n’importe quelle échelle

Règle 4: Simplifier l’architecture avec des services

Règle 5: Automatiser l’exploitation

Règle 6: Utiliser les propriétés uniques du Cloud

Page 59: Construire des Applications Web Performantes - Rule Book Webinar

Règle 2: Répondre le plus vite possible

Page 60: Construire des Applications Web Performantes - Rule Book Webinar

a) Choisir la route la plus rapide

Region A

Route53

Region B

Requête

Règle 2: Répondre le plus vite possible

Page 61: Construire des Applications Web Performantes - Rule Book Webinar

Region A

Route53

Region B

16ms 92ms

Requête

a) Choisir la route la plus rapide

Règle 2: Répondre le plus vite possible

Page 62: Construire des Applications Web Performantes - Rule Book Webinar

Region A

Route53

Region B

16ms

Requête

a) Choisir la route la plus rapide

Règle 2: Répondre le plus vite possible

Entrée DNS Region A

Page 63: Construire des Applications Web Performantes - Rule Book Webinar

a) Choisir la route la plus rapide b) Délester les serveurs d’application

Londres

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

Distribution simple des contenus aux

utilisateurs avec une faible latence, un haut

débit, et aucun engagement

Règle 2: Répondre le plus vite possible

Page 64: Construire des Applications Web Performantes - Rule Book Webinar

Sans CloudFront

Les serveurs web/applicatifs servent toutes les

requêtes

a) Choisir la route la plus rapide b) Délester les serveurs d’application

Règle 2: Répondre le plus vite possible

Page 65: Construire des Applications Web Performantes - Rule Book Webinar

Avec CloudFront

Un grand nombre de requêtes

utilisateurs sont servies par

CloudFront, le nombre de serveurs

EC2 peut décroître Délestage

Réduction

a) Choisir la route la plus rapide b) Délester les serveurs d’application

Règle 2: Répondre le plus vite possible

Page 66: Construire des Applications Web Performantes - Rule Book Webinar

Tem

ps

de

rép

on

se

Ch

arge

ser

veu

r

Tem

ps

de

rép

on

se

Ch

arge

se

rveu

r

Tem

ps

de

rép

on

se

Ch

arge

se

rveu

r

Sans CDN CDN pour

contenu

statique

CDN pour

contenu

statique et

dynamique

Délestage Réduction

a) Choisir la route la plus rapide b) Délester les serveurs d’application

Règle 2: Répondre le plus vite possible

Page 67: Construire des Applications Web Performantes - Rule Book Webinar

a) Choisir la route la plus rapide b) Délester les serveurs d’application c) Utiliser des caches si possible

ElastiCache

Couche de cache compatible

Memcached

Utilisation du cache pour les

contenus fréquemment accédés ou

peu changeants dans un cluster

extensible

Réduction de la charge serveur et

base de données

Règle 2: Répondre le plus vite possible

Page 68: Construire des Applications Web Performantes - Rule Book Webinar

“Amazon EC2 had the scalability and low-costs we were looking for and when we looked at the free data transfers between Amazon EC2 and Amazon S3, it made Amazon EC2 the obvious choice for the site.” Yannig Hervé, CTO

Hi-Media, Fotolog photo bloging

Page 69: Construire des Applications Web Performantes - Rule Book Webinar

a) Choisir la route la plus rapide b) Délester les serveurs d’application c) Utiliser des caches si possible d) Latence de l’ordre de quelques ms quand nécessaire

Charge Perf

orm

ance

de

s re

qu

êtes

DB

Cohérence et prédictibilité souhaitée

Règle 2: Répondre le plus vite possible

Page 70: Construire des Applications Web Performantes - Rule Book Webinar

a) Choisir la route la plus rapide b) Délester les serveurs d’application c) Utiliser des caches si possible d) Latence de l’ordre de quelques ms quand nécessaire

Charge Perf

orm

ance

de

s re

qu

êtes

DB

Cohérence et prédictibilité souhaitée

Règle 2: Répondre le plus vite possible

Performance réelle dégradée

en fonction de la charge

Page 71: Construire des Applications Web Performantes - Rule Book Webinar

a) Choisir la route la plus rapide b) Délester les serveurs d’application c) Utiliser des caches si possible d) Latence de l’ordre de quelques ms quand nécessaire

Charge Perf

orm

ance

de

s re

qu

êtes

DB

Cohérence et prédictibilité souhaitée

Règle 2: Répondre le plus vite possible

Performance réelle dégradée

en fonction de la charge

Problème d’exploitation

Sharding des données Caching des données

Provisioning Gestion du cluster Fault management

Page 72: Construire des Applications Web Performantes - Rule Book Webinar

Performances des requêtes Dynamo DB

Performance des requêtes DB SQL

relationnelles

DynamoDB

Faible latence Extensible

Zéro administration Performance prédictibles

a) Choisir la route la plus rapide b) Délester les serveurs d’application c) Utiliser des caches si possible d) Latence de l’ordre de quelques ms quand nécessaire

Charge Perf

orm

ance

de

s re

qu

êtes

DB

Règle 2: Répondre le plus vite possible

Page 73: Construire des Applications Web Performantes - Rule Book Webinar

Latence serveurs de l’ordre de quelques millisecondes en moyenne

Utilise des disques SSD, construit pour garantir

une cohérence des données et des faibles latences à n’importe quelle échelle

a) Choisir la route la plus rapide b) Délester les serveurs d’application c) Utiliser des caches si possible d) Latence de l’ordre de quelques ms quand nécessaire

Charge Perf

orm

ance

de

s re

qu

êtes

DB

Règle 2: Répondre le plus vite possible

Performances des requêtes Dynamo DB DynamoDB

Faible latence Extensible

Zéro administration Performance prédictibles

Page 74: Construire des Applications Web Performantes - Rule Book Webinar

Règle 2: Répondre le plus vite possible

Règle 1: Répondre à toutes les requêtes Web

Règle 3: Répondre à n’importe quelle échelle

Règle 4: Simplifier l’architecture avec des services

Règle 5: Automatiser l’exploitation

Règle 6: Utiliser les propriétés uniques du Cloud

Page 75: Construire des Applications Web Performantes - Rule Book Webinar

Règle 3: Répondre à n’importe quelle échelle

a) Monter en charge verticalement

Montée en charge verticale

A partir de $0.02/h

Unité de base de capacité serveur

Sélection d’options CPU, mémoire et disque local

14 types d’instances disponibles, depuis micro à ‘cluster compute’

ainsi que disques SSD

Montée en charge verticale avec

Elastic Compute Cloud (EC2)

Page 76: Construire des Applications Web Performantes - Rule Book Webinar

a) Monter en charge verticalement b) Monter en charge par ajout de serveurs

Trigger

auto-scaling

policy

as-create-auto-scaling-group MyGroup

--launch-configuration MyConfig

--availability-zones eu-west-1a

--min-size 4

--max-size 200

Auto-scaling Ajustement automatique d’un cluster de serveurs basé sur la demande

Règle 3: Répondre à n’importe quelle échelle

Page 77: Construire des Applications Web Performantes - Rule Book Webinar

Manuellement

Par appel d’API ou de ligne de commande pour lancer ou terminer des instances –

uniquement par spécification du delta de capacité (+/-)

Programmé dans le temps

Evolution à la hausse ou à la baisse programmée dans le temps

Basé sur une règle dynamique

Ajout ou retrait de serveurs en réponse à des changement de conditions, basés sur des règles personnalisées en temps-réel

sur la base du monitoring et d’alertes

Avec rééquilibrage automatique

Les instances sont automatiquement lancées ou terminées afin d’assurer un équilibre de leur

nombre par zone (AZ)

a) Monter en charge verticalement b) Monter en charge par ajout de serveurs

Règle 3: Répondre à n’importe quelle échelle

Page 78: Construire des Applications Web Performantes - Rule Book Webinar

Manuellement

Send an API call or use CLI to launch/terminate instances – Only need

to specify capacity change (+/-)

Programmé dans le temps

Ex : ajout de 10 instances avant un événement marketing

Ex : passage de 0 à 2 instances chaque nuit pour traiter les messages SQS, avec

doublement de la capacité chaque vendredi soir

Basé sur une règle dynamique Avec rééquilibrage automatique

Ex : règle basée sur la profondeur d’une queue SQS, la charge CPU moyenne ou la

latence ELB

Ex : maintenir la disponibilité d’instances même en cas d’indisponibilité d’une zone

(AZ)

a) Monter en charge verticalement b) Monter en charge par ajout de serveurs

Règle 3: Répondre à n’importe quelle échelle

Page 79: Construire des Applications Web Performantes - Rule Book Webinar

Lafarge Corporate web sites

“Achieving good performance was very important for managing our websites. Lafarge has presence in more than 70 countries. Across all those countries, public websites are managed with AWS. We are also using AWS for development, testing, pre-production, and production environments of those websites”

François Dufraisse New Technologies Manager

Page 80: Construire des Applications Web Performantes - Rule Book Webinar

a) Monter en charge verticalement b) Monter en charge par ajout de serveurs c) Ou tourner un bouton

Elastic Block Store IOPS provisionnées jusqu’à 2000 par

volume EBS

Performance prédictible pour des

applications telles que des bases de

données

DynamoDB Performances en lecture/écriture

provisionnées par table

Haute performance prédictible réglable

par la console ou par API

Règle 3: Répondre à n’importe quelle échelle

Page 81: Construire des Applications Web Performantes - Rule Book Webinar
Page 82: Construire des Applications Web Performantes - Rule Book Webinar

“AWS gave us the flexibility to bring a massive amount of capacity online in a short period of

time and allowed us to do so in an operationally straightforward way.

AWS is now Shazam’s cloud provider of choice,”

Jason Titus,

CTO

DynamoDB: plus de 500.000 écritures par

seconde

Amazon EMR: plus de 1 million d’écritures

par seconde

Page 83: Construire des Applications Web Performantes - Rule Book Webinar

Règle 2: Répondre le plus vite possible

Règle 1: Répondre à toutes les requêtes Web

Règle 3: Répondre à n’importe quelle échelle

Règle 4: Simplifier l’architecture avec des services

Règle 5: Automatiser l’exploitation

Règle 6: Utiliser les propriétés uniques du Cloud

Page 84: Construire des Applications Web Performantes - Rule Book Webinar

Coeur de métier

70%

Infrastructure sur site

30%

Gérer toute l’infrastructure lourde et indifférenciée

Règle 4: Simplifier l’architecture avec des services

Page 85: Construire des Applications Web Performantes - Rule Book Webinar

Infrastructure basée sur le Coud AWS

Cœur de métier

Plus de temps et de ressources financières pour se concentrer sur le cœur de métier

Configurer les ressources Cloud

70%

30% 70%

Infrastructure sur site

30%

Gestion de toute l’infrastructure lourde et indifférenciée

Règle 4: Simplifier l’architecture avec des services

Page 86: Construire des Applications Web Performantes - Rule Book Webinar

Relational Database Service Bases de données –as-a-Service

Zéro installation et zéro administration

Configurations extensibles et tolérantes aux pannes

DynamoDB Base de données NoSQL a débit réglable

Rapide, prédictible, performant

Totalement distribué, architecture tolérante aux pannes

RDS pour les bases de données

DynamoDB pour des bases de données

clefs/valeurs hautes performances

Règle 4: Simplifier l’architecture avec des services

Page 87: Construire des Applications Web Performantes - Rule Book Webinar

Amazon SQS

Processing

task/processing

trigger

Processing results

Amazon SQS File d’attente fiable, hautement

extensible, pour stocker des messages

échangés entre instances

Task A

Task B

(Auto-scaling)

Task C

2

3

1

Simple Workflow Coordination fiable des étapes d’un

processus au sein d’une application

Permet d’intégrer des ressources AWS

ou externes à AWS

Gestion distribuée des états dans des

systèmes complexes

Service de worflow dans le Cloud

File d’attente fiable sans logiciel additionnel

Règle 4: Simplifier l’architecture avec des services

Page 88: Construire des Applications Web Performantes - Rule Book Webinar

Cloud Search Moteur de recherche élastique basé

sur le moteur Amazon A9

Service managé offrant des

fonctionnalités sophistiquées

Extensible automatiquement

Document Server

Results

Search Server

Moteur de recherche sans installation de logiciel

Traitement de grands volumes de données à

bas coût

Elastic MapReduce Clouster Hadoop élastique

S’intègre avec S3 et DynamoDB

Support de scripts analytics Hive et Pig

Supporte des instances de type Spot

Règle 4: Simplifier l’architecture avec des services

Page 89: Construire des Applications Web Performantes - Rule Book Webinar
Page 90: Construire des Applications Web Performantes - Rule Book Webinar

“Amazon CloudSearch is a game-changing product that has allowed us to deliver powerful

new search capabilities. Our customers can now find what they are looking for faster and more

easily than ever before…

….We saved many months of re-architecture and development time by going with Amazon

CloudSearch”

Don MacAskill CEO & Chief Geek

SmugMug

Page 91: Construire des Applications Web Performantes - Rule Book Webinar
Page 92: Construire des Applications Web Performantes - Rule Book Webinar
Page 93: Construire des Applications Web Performantes - Rule Book Webinar

Règle 2: Répondre le plus vite possible

Règle 1: Répondre à toutes les requêtes Web

Règle 3: Répondre à n’importe quelle échelle

Règle 4: Simplifier l’architecture avec des services

Règle 5: Automatiser l’exploitation

Règle 6: Utiliser les propriétés uniques du Cloud

Page 94: Construire des Applications Web Performantes - Rule Book Webinar

Compute

Storage

Security Scaling

Database

Networking Monitoring

Messaging

Workflow

DNS

Load Balancing

Backup CDN

Règle 5: Automatiser l’exploitation

a) Tout est programmable

Tout est disponible via la console, la ligne de

commande ou les API

Facilité d’automatisation de l’exploitation

Page 95: Construire des Applications Web Performantes - Rule Book Webinar

a) Tout est programmable b) Gérer les ressources comme ‘jetables’, déployables en 1 click

Cloud Formation Automatisation du provisioning de piles (stacks) de manière répétable

Trame permettant de scripter la création de ressources AWS

Feature Details

Platform support Support for AWS resources from EC2 to IAM

Resource creation Creates AWS resources behind the scenes and reports on progress

Declarative Specify stacks in JSON format and source control your environments

Customizable Drive stack creation with paramaters

Règle 5: Automatiser l’exploitation

Page 96: Construire des Applications Web Performantes - Rule Book Webinar

a) Tout est programmable b) Gérer les ressources comme ‘jetables’, déployables en 1 click c) Concevoir pour la tolérance aux pannes et la réparation automatique

Personnaliser le démarrage des instances

Faire en sorte que les instances demandes « ce qu’elles ont à faire » au

démarrage pour être configurées automatiquement

Maintenir la capacité des instances

Utiliser un fonds minimum d’instances afin de garantir une

continuité de service en cas de défaillance d’une

instance

Surveiller ce qui se passe, réagir automatiquement

Utiliser les standards et personnalisées de

CloudWatch pour créer des alarmes.

Réagir à l’aide d’actions d’administration automatisées

Bootstrapping Auto-scaling Cloud Watch

Règle 5: Automatiser l’exploitation

Page 97: Construire des Applications Web Performantes - Rule Book Webinar

Internet, intranet web sites and applications

“We believe that IaaS will significantly change the way IT will deliver infrastructure services to the business. As an IT team, we wanted to stay ahead of the business and quickly develop some experience with an IaaS solution” Yves Martelle Director of Infrastructure and Operations for Global Internet Services

Page 98: Construire des Applications Web Performantes - Rule Book Webinar

a) Tout est programmable b) Gérer les ressources comme ‘jetables’, déployables en 1 click c) Concevoir pour la tolérance aux pannes et la réparation automatique

Règle 5: Automatiser l’exploitation

Page 99: Construire des Applications Web Performantes - Rule Book Webinar

Règle 2: Répondre le plus vite possible

Règle 1: Répondre à toutes les requêtes Web

Règle 3: Répondre à n’importe quelle échelle

Règle 4: Simplifier l’architecture avec des services

Règle 5: Automatiser l’exploitation

Règle 6: Utiliser les propriétés uniques du Cloud

Page 100: Construire des Applications Web Performantes - Rule Book Webinar

Règle 6: Utiliser les propriétés uniques du Cloud

a) Optimiser les coûts avec les types d’instances

1

2

4

8

16

32

64

128

1 2 4 8 16 32 64

Me

mo

ry (

GB

)

EC2 Compute Units

Instance Types

Micro 613 MB Up to 2 ECUs (for short bursts)

Cluster GPU 4XL 22 GB 33.5 ECUs 8 Nehalem virtual cores 2 x NVIDIA Tesla “Fermi” M2050 GPUs

Cluster Compute 4XL 23 GB 33.5 ECUs 8 Nehalem virtual cores

Cluster Compute 8XL 60.5 GB 88 ECUs 8 core 2 x Intel Xeon

Extra Large 15 GB 8 ECUs 4 virtual cores

Large 7.5 GB 4 ECUs 2 virtual cores

Medium 3.75 GB 2 ECUs 1 virtual cores

Small 1.7 GB, 1 ECU 1 virtual core

High-CPU XL 7 GB 20 ECUs 8 virtual cores

High-CPU Med 1.7 GB 5 ECUs 2 virtual cores

Hi-Mem 4XL 68.4 GB 26 ECUs 8 virtual cores

Hi-Mem 2XL 34.2 GB 13 ECUs 4 virtual cores

Hi-Mem XL 17.1 GB 6.5 ECUs 2 virtual cores

Hi-IO 4XL 60.5 GB 35 ECUs 8 virtual cores

Page 101: Construire des Applications Web Performantes - Rule Book Webinar

Instances Unix/Linux à partir de $0.02/heure

Paiement à l’usage

Peu coûteux et flexible

Payer uniquement pour l’utilisation sans

engagement initial ou contrat à long terme

Cas d’usage :

Application à court terme, avec des pics d’usage ou non prédictibles

Développement et test d’applications

Instances à la demande

Termes à 1 ou 3 ans

Paiement unique peu élevée permettant de bénéficier d’une réduction importante des prix

horaires

Peu coûteux / Prédictible

Permet d’être certain de pouvoir lancer les instances réservées en cas de besoin

Cas d’usages:

Applications avec une charge stable ou

prédictible

Applications requérant de la capacité réservées incluant les plans de reprise d’activité

Instances réservées

Offre faite sur la capacité EC2 inutilisée

Prix des instances ponctuelles basés sur l’offre et la demande et fixés automatiquement

Gestion par les coûts de capacité à grande

échelle

Cas d’usages:

Applications avec des temps de démarrage et de complétion flexibles

Applications requérant des prix de calculs très

faibles

Instances Ponctuelles (Spot)

Règle 6: Utiliser les propriétés uniques du Cloud

a) Optimiser les coûts avec les types d’instances

Page 102: Construire des Applications Web Performantes - Rule Book Webinar

0

1000

2000

3000

4000

5000

6000

7000

Instances Réservées

A la demande

Ponctuelles (Spot)

Règle 6: Utiliser les propriétés uniques du Cloud

a) Optimiser les coûts avec les types d’instances

Page 103: Construire des Applications Web Performantes - Rule Book Webinar

a) Optimiser les coûts avec les types d’instances b) Avoir rapidement un aperçu avec Elastic MapReduce

Elastic MapReduce Clouster Hadoop élastique

S’intègre avec S3 et DynamoDB

Support de scripts analytics Hive et Pig

Supporte des instances de type Spot

Feature Details

Scalable Use as many or as few compute instances running Hadoop as you want. Modify the number of instances while your job flow is running

Integrated with other services

Works seamlessly with S3 as origin and output. Integrates with DynamoDB

Comprehensive Supports languages such as Hive and Pig for defining analytics, and allows complex definitions in Cascading, Java, Ruby, Perl, Python, PHP, R, or C++

Cost effective Works with Spot instance types

Monitoring Monitor job flows from with the management console

Règle 6: Utiliser les propriétés uniques du Cloud

Page 104: Construire des Applications Web Performantes - Rule Book Webinar

Fonctionnalités motorisées par Amazon Elastic MapReduce :

People Who Viewed this Also Viewed

Review highlights Auto complete as you type on search

Search spelling suggestions Top searches

Ads

200 jobs Elastic MapReduce par jour Traitement de 3To de données

Page 105: Construire des Applications Web Performantes - Rule Book Webinar

“With AWS, our developers can now do things they couldn’t before…

…Our systems team can focus their energies on other

challenges.”

Dave Marin Search and data-mining engineer

Page 106: Construire des Applications Web Performantes - Rule Book Webinar

Instances ‘cluster compute’

Virtualisation HVM

Processeurs Intel® Xeon® E5-2670

Ethernet 10 Gigabit

Cluster

Compute

80 EC2

Compute Units

60GB RAM

3TB Local

Disk

Groupements d’instances

Les instances ‘cluster compute’ déployées dans un

groupement d’instances bénéficient d’une faible latence

réseau avec un débit de 10 Gigabit non bloquant

10Gbps

a) Optimiser les coûts avec les types d’instances b) Avoir rapidement un aperçu avec Elastic MapReduce c) Créer un super-ordinateur chaque fois que nécessaire

Règle 6: Utiliser les propriétés uniques du Cloud

Page 107: Construire des Applications Web Performantes - Rule Book Webinar

Règle 2: Répondre le plus vite possible

Règle 1: Répondre à toutes les requêtes Web

Règle 3: Répondre à n’importe quelle échelle

Règle 4: Simplifier l’architecture avec des services

Règle 5: Automatiser l’exploitation

Règle 6: Utiliser les propriétés uniques du Cloud

Page 108: Construire des Applications Web Performantes - Rule Book Webinar

Des nouveautés en permanence

Riche et personnalisé

Toujours disponible, accessible de

partout

Rapide, Performant

Ce que veulent les utilisateurs…

Page 109: Construire des Applications Web Performantes - Rule Book Webinar

Avec AWS

Capacité élastique ✔

Des nouveautés en permanence

Riche et personnalisé

Toujours disponible, accessible de

partout

Page 110: Construire des Applications Web Performantes - Rule Book Webinar

Avec AWS

Capacité élastique ✔ Hautement disponible et

global

Des nouveautés en permanence

Riche et personnalisé

Page 111: Construire des Applications Web Performantes - Rule Book Webinar

Avec AWS

Capacité élastique ✔ Hautement disponible et

global

Exploitation agile et automatisée ✔ Riche et

personnalisé

Page 112: Construire des Applications Web Performantes - Rule Book Webinar

Avec AWS

Capacité élastique ✔ Hautement disponible et

global

Exploitation agile et automatisée ✔ Stockage, big data

et analytics peu coûteux ✔

Page 113: Construire des Applications Web Performantes - Rule Book Webinar

NASA TV Route 53 DNS Multi-region & AZ

Elastic Loadbalancing Amazon Live Streaming

Cloud Front Cloud Formation

Page 114: Construire des Applications Web Performantes - Rule Book Webinar

aws.amazon.com

démarrez avec notre niveau d’utilisation gratuite

Page 115: Construire des Applications Web Performantes - Rule Book Webinar

Merci

Stephan Hadinger – Sr Mgr, Solutions Architcture @aws_actus