2. Ordre du jour de la session
• Pourquoi utiliser un service de BD managé?
• BD relationnelle: RDS
• DB non-relationnelle: DynamoDB
• vidCoin – Aymeric Roffé
• Data Warehouse: Redshift
• Pour aller plus loin
3. Si vous hébergez votre DB sur site
Alim. Clim. Etc…
Installation serveurs
Maintenance serveurs
Patches OS
Patches SW DB
Sauvegardes DB
Elasticité
Haute Disponibilité
Installation SW DB
Installation OS
vous
Optimisation App
4. vous
Si vous hébergez votre DB sur site
Alim. Clim. Etc…
Installation serveurs
Maintenance serveurs
Patches OS
Patches SW DB
Sauvegardes DB
Elasticité
Haute Disponibilité
Installation SW DB
Installation OS
Optimisation App
5. Si vous hébergez votre DB sur
Amazon EC2
vous
Patches OS
Patches SW DB
Sauvegardes DB
Elasticité
Haute Disponibilité
Installation SW DB
Optimisation App
Alim. Clim. Etc…
Installation serveurs
Maintenance serveurs
Installation OS
6. Si vous hébergez votre DB sur
Amazon EC2
vous
Patches OS
Patches SW DB
Sauvegardes DB
Elasticité
Haute Disponibilité
Installation SW DB
Optimisation App
Alim. Clim. Etc…
Installation serveurs
Maintenance serveurs
Installation OS
7. Si vous choisissez un service de DB
opéré
Optimisation App
vous
Alim. Clim. Etc…
Installation serveurs
Maintenance serveurs
Installation OS
Patches OS
Patches SW DB
Sauvegardes DB
Elasticité
Haute Disponibilité
Installation SW DB
8. Opérer par vous-même? Opérer par AWS?
DB opérée par vous-même DB opérée par AWS
Vous avez l’entière responsabilité des
mises à jour et des sauvegardes
Mises à jour, sauvegardes et bascules
sont faites automatiquement
Vous avez l’entière responsabilité de
la sécurité
AWS propose une infrastructure
hautement sécurisée et certifiée; et
vous propose les outils pour assurer la
sécurité de vos DB
Gestion des paramètres des serveurs,
OS et base de données
DB est un service opéré facile à
automatiser
Les réplications sont coûteuses,
complexes et nécessitent beaucoup
d’ingénierie
Le mode haute-disponibilité avec
bascule automatique est fourni
comme un service
9. Un service opéré pour chaque type de DB
Amazon
DynamoDB
NoSQL
Clef-Valeur
Amazon
RDS
SQL
Amazon
ElastiCache
Cache en
mémoire
Amazon
Redshift
Data
warehouse
11. Amazon RDS: service de DB SQL opérée
• Simple et rapide à déployer
• Simple et rapide à redimensionner
• AWS gère : patches, sauvegardes et réplication
• Compatible avec vos applications
– Choisissez entre MySQL, PostgreSQL, Oracle,
Microsoft SQL Server
• Performance haute, prédictible et réglable
• Pas de coût de démarrage, payez seulement ce que
vous consommez
Amazon RDS
12. Flipboard s’appuie sur Amazon RDS
• Flipboard est un magazine en ligne
avec des millions d’utilisateurs et des
milliards de « flips » par mois
• Flipboard utilise Amazon RDS et sa
fonction multi-AZ pour stocker les
données utilisateurs critiques pour son
business
"We were able to go from
concept to delivered product
in about six months with just
a handful of engineers."
-Greg Scallan, Chief Architect
13. Flipboard s’appuie sur Amazon RDS
• Utilise RDS pour requêtes complexes et real time data
• Utilise Read Réplicas pour off loader grosses bases de
données
• Familiarité avec SQL un PLUS
• Utilisation de backup pour tester nouveau code
• Horizontal Scaling grâce au sharding.
14. Comment Amazon RDS délivre des hautes
performances
• Choisissez un type d’instance DB avec le bon
niveau de CPU et de mémoire
• Choisissez du stockage « Provisioned IOPS »
pour des performances réglables et prédictibles
– Montez jusqu’à 3 To de stockage et 30.000 IOPS par base de
données
– Augmentez ou diminuer les IOPS en ligne
15. Comment fonctionnent les sauvegardes Amazon RDS
• Sauvegardes automatiques
– Activées par défaut
– Choisissez votre période de rétention, jusqu’à 35 jours
– Restaurez votre DB à un point dans le temps
• Snapshots manuels
– Vous les déclenchez quand vous le souhaitez
– Ils persistent jusqu’à ce que vous les supprimiez
– Ils sont stockés dans Amazon S3
– Recréez une nouvelle instance DB à partir d’un snapshot quand
vous en avez besoin
16. Choisissez l’option « Multi-AZ » pour une
meilleure disponibilité et durabilité
• Chaque AZ (Zone de Disponibilité) est une infrastructure
physique distincte et indépendante
• Avec l’option Multi-AZ votre DB est répliquée de manière
synchrone dans une autre AZ de la même région AWS
• Les bascules ont lieu automatiquement en réponse aux
pannes, y compris les plus importantes
• Les maintenances planifiées sont d’abord appliquées sur le
secours
17. Choisissez les Read Replicas pour plus d’élasticité
• Augmentez les capacités de votre application en
délestant du trafic en lecture vers des Read Replicas
automatiquement opérés
• Créez plusieurs Read Replicas pour partager le trafic
• Facile à mettre en œuvre
Native
MySQL
RDS
18. Choisissez la copie de snapshot inter-région pour
plus de durabilité ou pour faciliter des migrations
• Copiez un snapshot
DB vers une autre
région AWS
• Warm standby pour
du PRA
• Ou comme une
base de migration
vers une région
différente
19. Choisissez les Read Replicas inter-régions pour
améliorer la répartition géographique des données
• Redémarrage encore
plus rapide en cas de
PRA
• Rapprochez les
données de vos clients
• Transformez un Read
Replica en Master
pour faciliter les
migrations
20. Comment gérer sa croissance DB avec
Amazon RDS
• Redimensionnez à la hausse comme à la baisse le
type d’instance
• Augmentez le volume de la DB en quelques clics, en
ligne
• Délestez le trafic en lecture vers les Read Replicas
• Utilisez un cache devant Amazon RDS
– Amazon ElastiCache pour Memcached ou Redis
– Ou votre cache favori, opéré par vous sur Amazon EC2
• Amazon RDS facilite le sharding
21. Comment fonctionne la facturation Amazon RDS
Facture
mensuelle = GB+ +
Suppose que les DB ne sont accédées que depuis Amazon EC2
Plus de détails ici http://aws.amazon.com/rds/pricing/
= 720 h * $0.60 + 100 GB * $0.125 + 1,000 IOPS * $0.10
= $544.50
MySQL; Oregon;
Single-AZ;
On-Demand
100 Go
Provisioned IOPS
Provisioned 1,000
IOPS
db.m3.xlarge
4 vCPU, 15 Go RAM
23. DynamoDB : un stockage clef/valeur opéré
• Simple et rapide à déployer
• Simple et rapide à redimensionner
• Jusqu’à des millions d’IOPS
• Les données sont automatiquement répliquées
• Performance réglable, haute et prédictible
– Repose sur du stockage SSD
• Index secondaire pour des recherches rapides
• Pas de coût de démarrage, payez seulement ce que
vous consommez
DynamoDB
24. Smugmug s’appuie sur DynamoDB
• Des millions de clients utilisent le
service de partage de photos et
vidéos de SmugMug pour stocker des
milliards de photos/vidéos
• SmugMug peut redimensionner
rapidement DynamoDB à ses besoins
en libérant ses ingénieurs de la
gestion de la DB
“"DynamoDB is a truly
revolutionary product …
I love how DynamoDB
enables us to provision our
desired throughput, and
achieve low latency and
seamless scale, even with
our constantly growing
workloads.”
-Don MacAskill, CEO
25. DynamoDB : DB sans schéma
Table Eléments
Attributs
(paires nom/valeur)
26. DynamoDB: Index Secondaires (LSI - GSI)
pour recherches avancees -pivoter vos
vues
Choose which
attributes
to project (if any)
Hash key
Range key
LSI key
GSI key
27. DynamoDB : capacité réglable
Lecture
unités de capacité
Ecriture
unités de capacité
28. DynamoDB : que sont les unités de
capacité?
1 1
1 1
Payez au porteur à
la demande
1 écriture par
seconde jusqu’à 1Ko
1 1
1 1Lectures cohérentes à terme à -50%
Ecriture : 1 unité de capacité
Lecture : 1 unité de capacité
Payez au porteur à
la demande
1 lecture par seconde
jusqu’à 4Ko
31. Architecture d’application sans serveur
Clients
AWS
Client JS
AWS
Client JS
AWS
Client JS
Login avec
Amazon,
Facebook, ou
Google
Auth via
Web Identity
Federation
Logique métier
Contrôle
d’accès
fin
32. = GB +
Suppose que les DB ne sont accédées que depuis la même région AWS
Plus de détails ici http://aws.amazon.com/dynamodb/pricing/
≈ 5 GB * $0.25 +
21 * 720 h * $0.0065/10 +
35 * 720 h * $0.0065/50
≈ $14.36
Stockage consommé
(+100 octets par
élément)
Coût pour la capacité
en écriture par heure
+
Coût pour la capacité
en lecture par heure
Comment fonctionne la facturation DynamoDB
Facture
mensuelle
39. Démarrage - Avantages
• Mise en place rapide
• Pas de maintenance
• Snapshots / Duplication de DB simple
• Pas de nouvelles compétences à maîtriser
40. Montée en charge - Challenges
• 0 à 10M d'utilisateurs par jour
• Trafic mondial
• Variations du trafic non maîtrisées
• Obligation de servir les vidéos
41. Montée en charge - Gestion
• Augmentation du type d'instance
• Provisioned iOPS
• Utilisation du Multi-AZ
• Création de replicas
42. Montée en charge - Cas d'usage
• Bootstrap temporaire d'erreurs applicatif
• Opération complexes à chaud sur les machines
47. Import Export
Glacier
S3 EC2
RedshiftDynamoDB
EMR
Data Pipeline
S3Direct Connect
COLLECT STORE ANALYZE SHARE
AWSBIGDATA
PORTFOLIO
Amazon Kinesis - Fully-managed service for real time
processing of streaming data, at any scale
Next steps...
49. NoSQL vs. SQL pour une nouvelle application :
comment choisir ?
• Besoin d’une DB avec la
gestion la plus simple possible ?
• Les données croissent sans
limite ?
• Besoin de jointures, de
transactions, de scan fréquents de
tables ?
• Votre équipe a des compétences
SQL?
• La croissance de données reste
gérable ?
Amazon DynamoDB
Amazon RDS
51. Amazon Redshift : un data warehouse opéré
• DB en mode colonne à
l’échelle du Po (1Po = 1024 To)
• Temps de réponse rapides
– ~10x plus rapide que les DB
traditionnelles
• Prix bas jusqu’à $1,000 par To
par an
Amazon Redshift
52. Foursquare s’appuie sur Amazon
Redshift
• Plus de 40 millions de personnes dans le
monde utilisent Foursquare pour rencontrer
des amis, partager des astuces de voyage ou
trouver des bonnes affaires
• Foursquare utilise AWS pour analyser
quotidiennement les données de millions de
connexions, en économisant sur les licences,
et en redéployant ses équipes dev/ops vers
des missions plus stratégiques
“Amazon Redshift offers the
performance we needed
while freeing us from the
licensing costs of our
previous solution.”
--Jon Hoffman
Software Engineer
53. Cas d’usage pour Amazon Redshift
• Réduisez vos coûts faisant
une extension de DW plutôt
qu’un ajout de HW
• Migrez complètement les
DW existants
• Répondez plus vite au
business; délivrez un DW en
minutes
• Améliorez vos performances
d’analyse à grande échelle
• Augmentez les données
disponibles pour les
analyses
• Les métiers accèdent aux
données via des outils de
reporting classiques
• Ajoutez une fonction
analytique à votre application
• Adaptez les capacités DW en
fonction de la demande
• Réduisez vos coûts HW & SW
à grande échelle
DW traditionnel d’entreprise Sociétés faisant du Big Data Sociétés SaaS
54. Architecture Amazon Redshift
Leader node
Compute nodes
Outils existants
de BI
PostgreSQL
JDBC/ODBC
Amazon S3
Amazon DynamoDB
AWS Data
Pipeline
55. Amazon Redshift réduit considérablement les I/O
• Stockage en colonne
• Compression de données
• Zonage des données
• Stockage à attachement direct
Compute
Node
Compute
Node
Compute
Node
Leader
Node
Common BI Tools
JDBC/ ODBC
10GigE Mesh
59. Un service opéré pour chaque type de DB
Amazon
DynamoDB
NoSQL
Clef-Valeur
Amazon
RDS
SQL
Amazon
ElastiCache
Cache en
mémoire
Amazon
Redshift
Data
warehouse
60. Les bénéfices des DB opérées par AWS
Payez uniquement ce que
vous consommez
Pas de coût initial
Service complètement opéré
AWS gère l’installation, les
patches, les redémarrages
Facile à
redimensionner
S’adapte à vos besoins
Conçu pour être utilisé
avec d’autres services
AWS
Amazon
EC2
Amazon
S3
Amazon
CloudWatch
Amazon
SNS
Amazon
VPC
AWS
Data Pipeline
61. Vitesse d’innovation – un Bonus
• Amazon RDS/PostgreSQL, instances M3
• Amazon RDS/SQL Server TDE, màj version
• Amazon RDS/Oracle TDE, 3To/30K IOPS, màj version
• Copie de snapshot inter-région, parallel replica, chained replica
• Multi-AZ SLA, log access, VPC groups, …
Equipe Amazon
RDS :
25+ nouvelles
fonctionnalités
• ElastiCache: moteur Redis 2.8.6
• Import/export inter-région DynamoDB
• Contrôle d’accès fin, global secondary indexes
• DynamoDB local, librairie d’index geospatial
Équipe NoSQL :
12+ nouvelles
fonctionnalités
• Amazon Redshift dense compute nodes
• Support du chiffrement avec CloudHSM
• Audit logging, Amazon SNS notification, partage de snapshot
• Backup automatique inter-région
• Resize plus rapide, improved concurrency, tables ditribuées…
Equipe Amazon
Redshift :
21+ nouvelles
fonctionnalités
62. AWS Marketplace
• Trouvez des logiciels à utiliser
avec Amazon RDS, Amazon
Redshift, DynamoDB, and
ElastiCache
• Déploiement en 1-click
• Options de facturation flexibles
http://aws.amazon.com/marketplace
63. Essayez gratuitement les DB AWS
Service Gratuit pour les nouveaux clients
chaque mois pendant 1 an
DynamoDB 100 Mo de stockage of storage
5 unité de capacité en écriture
10 unités de capacité en lecture
Amazon RDS 750 heures d’instance DB micro
20 Go de stockage DB
20 Go de sauvegarde
10 millions d’opérations I/O
ElastiCache 750 heures d’instance Micro Cache
Node