Stephan Hadinger, Sr. Manager, Solution Architecture
Déployer des applications
hautement scalables sur AWS
Qu’est-ce qu’une application hautement scalable?
3 principes d’architecture
Les différentes couches d’une architecture sca...
Qu’est-ce qu’une application
hautement scalable?
Besoins réels
Besoins prévus
Insatisfaction
clients
Gaspillage
Besoins
Temps
Elastic capacity No need to guess capacity re...
Capacité élastique
Besoins
Temps
Elastic capacity No need to guess capacity requirements and over-provisionCapacité élasti...
Built on a global footprint
9 Régions
25 Zones de disponibilité
Expansion continue
Des zones de disponibilités régionales
3 principes…
Echelle
1
Elasticité
1
Echelle
Etats Données
1
Elasticité
Echelle
Sécurité
Echelle
Elasticité
Etats Données
2
Inhérent
2
Sécurité
Echelle
Elasticité
Etats Données
VPC
Groupes
2Inhérent Sécurité
Echelle
Elasticité
Etats Données
PannesSécuritéInhérent
VPC
Groupes
3
Echelle
Elasticité
Etats Données
Prévues
3 PannesSécuritéInhérent
VPC
Groupes
Echelle
Elasticité
Etats Données
Automatisation
Tests
3 PrévuesPannesSécuritéInhérent
VPC
Groupes
Echelle
Elasticité
Etats Données
Automatisation
Tests
PrévuesPannesSécuritéInhérent
VPC
Groupes
Echelle
Elasticité
Etats Données
Les différentes couches
d’une architecture
scalable
Données
Données scalables
Stockage d’objets
Données
Objets dans S3
Amazon S3 conçu pour une durabilité de
99.999999999%
Accès web aux objets
hautement scalable
Hautem...
Qu’est-ce que S3?
Stockage de données hautement scalable
Utilisable avec des API
Un stockage web plutôt
qu’un file system
...
Données
Données
Données scalables
Stockage d’objets
Données relationnelles
Données
Scalabilité horizontale Master/Slave
Relativement simple à configurer
PIOPS pour des hautes performances
Taille d’...
Données
hash
ring
Scalabilité par sharding horizontal
Plus complexe pour la couche applicative
Pas de limite à la scalabil...
Données
Données scalables
Stockage d’objets
Données relationnelles
NoSQL
Données
Scalabilité horizontale –
service opéré
DynamoDB
Base de données NoSQL a débit réglable
Rapide, prédictible, perfo...
Données
DynamoDB
Hautes performance lecture/écriture
prédictible et réglable par table
Scalabilité via la console ou par A...
Données
Débit réglé à un niveau bas
Table
Partition
SSD
Région
Diagramme purement illustratif
Données
Région
Table
Partition
SS
D
Table
Partition
SS
D
Table
Partition
SS
D
Table
Partition
SS
D
Table
Partition
SS
D
Ta...
Données
Région
Table
Partition
Table
Partition
Table
Partition
Table
Partition
Table
Partition
Table
Partition
Table
Parti...
Données
Application
Couplage faible des composants
Plus le couplage est faible,
plus l’application est scalable
Composants...
Données
Application
Amazon SQS
Processing
task/processing trigger
Processing results
Amazon SQS
File d’attente fiable, hau...
Données
Application
Controller A Controller B Controller C
Couplage fort
Données
Application
Controller A Controller B Controller C
Controller A Controller B Controller C
Couplage fort
Couplage f...
Données
Application
Auto Scaling
Ajustement automatique d’un cluster de serveurs basé sur la
demande
Trigger auto-
scaling...
Données
Application
Où les états
sont-ils
stockés?
Données
Application
Cookies des
navigateurs
Framework
de gestion
de sessions
Sessions en
bases de
données
Sessions en
mémo...
Données
Application
Le stockage d’état doit être
Performant
Scalable
Fiable
Données
Application
Trigger auto-
scaling
policy
Où stocker les états ?
Données
Application
Trigger auto-
scaling
policy
Pas ici
Où stocker les états ?
Données
Application
Trigger auto-
scaling
policy
Pas ici
Service d’états
de sessions
Les états doivent rester EXTERIEURS
a...
Données
Application
Performant
Scalable
Fiable
Où stocker les états ?
Données
Application
Répartition de
charge
Feature Details
Available Load balance across instances in multiple Availability...
Données
Application
Répartition de
charge
Distribution
Région A
Route53
Région B
Requête
Route53
Service DNS global
Route5...
Données
Application
Répartition de
charge
Distribution
Région A
Route53
Région B
Route53
Service DNS global
Route53
16ms 9...
London
Paris
NY
Servi depuis S3
/images/*
3
Servi depuis EC2
*.php
2
CNAME unique
www.mysite.com
1
CloudFront
Réseau mondi...
Tempsderéponse
Chargeserveur
Tempsderéponse
Charge
serveur
Tempsderéponse
Charge
serveu
r
Sans CDN CDN pour
contenus
stati...
Données
Application
Répartition de
charge
Distribution
Gestion
10 instances ?
Données
Application
Répartition de
charge
Distribution
Gestion
100 instances ?
Données
Application
Répartition de
charge
Distribution
Gestion
1.000 instances ?
Données
Application
Répartition de
charge
Distribution
Gestion
Automatisation et
management
Données
Application
Répartition de
charge
Distribution
Gestion
OpsWorks Elastic Beanstalk
CloudFormation EC2
Données
Application
Répartition de
charge
Distribution
Gestion
Summary
Utilisez ces techniques quand c’est nécessaire
Connaître les options est le premier pas
Scalabilité est la possibi...
De la théorie à la pratique
une histoire vraie…
Puissance
Flexibilité
Scalabilité
Couverture mondiale
Pas d’engagement
Pay-per-use
Infogérance
24/7
GTI/GTR
Monitoring
Bac...
Hébergement et infogérance de l’application
Disponibilité: 24/7
Elasticité: à la demande car taille d’audience/Pics d’audi...
Design d’une infrastructure d’hébergement AWS: ELB, EC2, S3
Mise en place d’outils d’automatisation customisés pour le cli...
Availability
Zone A
Availability
Zone B
Availability
Zone C
Unicorn
Ruby
MongoDB
Primary
S3
Bucket
Puppet
Capistrano
Logst...
Merci
Track 1 - Atelier 4 - Déployer des applications hautement scalables sur AWS
Track 1 - Atelier 4 - Déployer des applications hautement scalables sur AWS
Track 1 - Atelier 4 - Déployer des applications hautement scalables sur AWS
Track 1 - Atelier 4 - Déployer des applications hautement scalables sur AWS
Track 1 - Atelier 4 - Déployer des applications hautement scalables sur AWS
Track 1 - Atelier 4 - Déployer des applications hautement scalables sur AWS
Track 1 - Atelier 4 - Déployer des applications hautement scalables sur AWS
Prochain SlideShare
Chargement dans…5
×

Track 1 - Atelier 4 - Déployer des applications hautement scalables sur AWS

1 280 vues

Publié le

AWS fournit une plateforme idéale pour déployer des systèmes hautement disponibles, fiables et scalables avec le minimum d’intervention humaine. Lors de cette session vous découvrirez des modèles d’architectures hautement disponibles et capables de supporter à moindre coût de très hauts niveaux de charge avec une faible latence. Vous serez guidés au travers des choix possibles d’architecture pour chaque tiers de l’application afin d’assurer sécurité, scalabilité, disponibilité et performance.

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 280
Sur SlideShare
0
Issues des intégrations
0
Intégrations
2
Actions
Partages
0
Téléchargements
28
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Track 1 - Atelier 4 - Déployer des applications hautement scalables sur AWS

  1. 1. Stephan Hadinger, Sr. Manager, Solution Architecture Déployer des applications hautement scalables sur AWS
  2. 2. Qu’est-ce qu’une application hautement scalable? 3 principes d’architecture Les différentes couches d’une architecture scalable CANAL+ / eNovance : leur histoire Pendant cette session :
  3. 3. Qu’est-ce qu’une application hautement scalable?
  4. 4. Besoins réels Besoins prévus Insatisfaction clients Gaspillage Besoins Temps Elastic capacity No need to guess capacity requirements and over-provisionCapacité élastique
  5. 5. Capacité élastique Besoins Temps Elastic capacity No need to guess capacity requirements and over-provisionCapacité élastique
  6. 6. Built on a global footprint 9 Régions 25 Zones de disponibilité Expansion continue Des zones de disponibilités régionales
  7. 7. 3 principes…
  8. 8. Echelle 1
  9. 9. Elasticité 1 Echelle
  10. 10. Etats Données 1 Elasticité Echelle
  11. 11. Sécurité Echelle Elasticité Etats Données 2
  12. 12. Inhérent 2 Sécurité Echelle Elasticité Etats Données
  13. 13. VPC Groupes 2Inhérent Sécurité Echelle Elasticité Etats Données
  14. 14. PannesSécuritéInhérent VPC Groupes 3 Echelle Elasticité Etats Données
  15. 15. Prévues 3 PannesSécuritéInhérent VPC Groupes Echelle Elasticité Etats Données
  16. 16. Automatisation Tests 3 PrévuesPannesSécuritéInhérent VPC Groupes Echelle Elasticité Etats Données
  17. 17. Automatisation Tests PrévuesPannesSécuritéInhérent VPC Groupes Echelle Elasticité Etats Données
  18. 18. Les différentes couches d’une architecture scalable
  19. 19. Données Données scalables Stockage d’objets
  20. 20. Données Objets dans S3 Amazon S3 conçu pour une durabilité de 99.999999999% Accès web aux objets hautement scalable Hautement redondé au sein d’une région
  21. 21. Qu’est-ce que S3? Stockage de données hautement scalable Utilisable avec des API Un stockage web plutôt qu’un file system Rapide Hautement disponible et durable Economique Données
  22. 22. Données
  23. 23. Données Données scalables Stockage d’objets Données relationnelles
  24. 24. Données Scalabilité horizontale Master/Slave Relativement simple à configurer PIOPS pour des hautes performances Taille d’instance facile à changer Il y a une limite haute
  25. 25. Données hash ring Scalabilité par sharding horizontal Plus complexe pour la couche applicative Pas de limite à la scalabilité Sharding par fonction or par espace de clefs Bases de données relationnelles ou NoSQL A B C D
  26. 26. Données Données scalables Stockage d’objets Données relationnelles NoSQL
  27. 27. Données Scalabilité horizontale – service opéré DynamoDB Base de données NoSQL a débit réglable Rapide, prédictible, performant Totalement distribué, architecture tolérante aux pannes
  28. 28. Données DynamoDB Hautes performance lecture/écriture prédictible et réglable par table Scalabilité via la console ou par API Tournez le bouton
  29. 29. Données Débit réglé à un niveau bas Table Partition SSD Région Diagramme purement illustratif
  30. 30. Données Région Table Partition SS D Table Partition SS D Table Partition SS D Table Partition SS D Table Partition SS D Table Partition SS D Table Partition SS D Table Partition SS D Table Partition SS D Table Partition SS D Accroissement du débit Diagramme purement illustratif
  31. 31. Données Région Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Table Partition Débit réglé à un niveau très élevé Diagramme purement illustratif
  32. 32. Données Application Couplage faible des composants Plus le couplage est faible, plus l’application est scalable Composants indépendants Conçus comme des boîtes noires Interactions découplées Clusters avec répartition de charge
  33. 33. Données Application Amazon SQS Processing task/processing trigger Processing results Amazon SQS File d’attente fiable, hautement extensible, pour stocker des messages échangés entre instances
  34. 34. Données Application Controller A Controller B Controller C Couplage fort
  35. 35. Données Application Controller A Controller B Controller C Controller A Controller B Controller C Couplage fort Couplage faible Q Q Q
  36. 36. Données Application Auto Scaling Ajustement automatique d’un cluster de serveurs basé sur la demande Trigger auto- scaling policy Feature Details Control Define minimum and maximum instance pool sizes and when scaling and cool down occurs. Integrated to Amazon CloudWatch Use metrics gathered by CloudWatch to drive scaling. Instance types Run Auto Scaling for On-Demand and Spot Instances. Compatible with VPC.
  37. 37. Données Application Où les états sont-ils stockés?
  38. 38. Données Application Cookies des navigateurs Framework de gestion de sessions Sessions en bases de données Sessions en mémoire Où les états sont-ils stockés?
  39. 39. Données Application Le stockage d’état doit être Performant Scalable Fiable
  40. 40. Données Application Trigger auto- scaling policy Où stocker les états ?
  41. 41. Données Application Trigger auto- scaling policy Pas ici Où stocker les états ?
  42. 42. Données Application Trigger auto- scaling policy Pas ici Service d’états de sessions Les états doivent rester EXTERIEURS au périmètre des serveurs sujets à scalabilité Où stocker les états ?
  43. 43. Données Application Performant Scalable Fiable Où stocker les états ?
  44. 44. Données Application Répartition de charge Feature Details Available Load balance across instances in multiple Availability Zones Health checks Automatically checks health of instances and takes them in or out of service Session stickiness Route requests to the same instance Secure sockets layer Supports SSL offload from web and application servers with flexible cipher support Monitoring Publishes metrics to CloudWatch Elastic Load Balancing Permet de créer de applications hautement scalables Distribue la charge entre des instances EC2 dans plusieurs zones de disponibilité
  45. 45. Données Application Répartition de charge Distribution Région A Route53 Région B Requête Route53 Service DNS global Route53 16ms 92ms
  46. 46. Données Application Répartition de charge Distribution Région A Route53 Région B Route53 Service DNS global Route53 16ms 92ms Requête Entrée DNS Région A
  47. 47. London Paris NY Servi depuis S3 /images/* 3 Servi depuis EC2 *.php 2 CNAME unique www.mysite.com 1 CloudFront Réseau mondial de distribution de contenu Données Application Répartition de charge Distribution
  48. 48. Tempsderéponse Chargeserveur Tempsderéponse Charge serveur Tempsderéponse Charge serveu r Sans CDN CDN pour contenus statiques CDN pour contenus dynamiques et statiques CloudFront Réseau mondial de distribution de contenu Données Application Répartition de charge Distribution
  49. 49. Données Application Répartition de charge Distribution Gestion
  50. 50. 10 instances ? Données Application Répartition de charge Distribution Gestion
  51. 51. 100 instances ? Données Application Répartition de charge Distribution Gestion
  52. 52. 1.000 instances ? Données Application Répartition de charge Distribution Gestion
  53. 53. Automatisation et management Données Application Répartition de charge Distribution Gestion
  54. 54. OpsWorks Elastic Beanstalk CloudFormation EC2 Données Application Répartition de charge Distribution Gestion
  55. 55. Summary Utilisez ces techniques quand c’est nécessaire Connaître les options est le premier pas Scalabilité est la possibilité de bouger les points de contention vers la partie le composant le moins coûteux AWS vous simplifie la tâche – vous que votre application ne soit pas victime de son succès Résumé
  56. 56. De la théorie à la pratique une histoire vraie…
  57. 57. Puissance Flexibilité Scalabilité Couverture mondiale Pas d’engagement Pay-per-use Infogérance 24/7 GTI/GTR Monitoring Backups Expertise Open Source
  58. 58. Hébergement et infogérance de l’application Disponibilité: 24/7 Elasticité: à la demande car taille d’audience/Pics d’audience non connus Faciliter les déploiements/ Pouvoir lancer de nouveaux projets rapidement Réactivité, Engagement fort sur les SLA Expertise: Infrastructure AWS et technologies émergentes: MongoDB, Ruby
  59. 59. Design d’une infrastructure d’hébergement AWS: ELB, EC2, S3 Mise en place d’outils d’automatisation customisés pour le client Infogérance 24/7 par équipe Devops bilingue Support MongoDB géré par eNovance SLA: engagement sur un SLA unique pour l’ensemble de l’infrastructure
  60. 60. Availability Zone A Availability Zone B Availability Zone C Unicorn Ruby MongoDB Primary S3 Bucket Puppet Capistrano Logstach MongoDB Secondary MongoDB Secondary Elastic Load Balancing Unicorn Ruby EBS SnapShot EBS Storage EBS Storage EBS Storage
  61. 61. Merci

×