SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
©2015,  Amazon  Web  Services,  Inc.  or  its  affiliates.  All  rights  reserved
Amazon Aurora
Relational databases reimagined.
Ronan Guilfoyle, Solutions Architect, AWS
Brian Scanlan, Engineer, Intercom
Current DB Architectures are Monolithic
Multiple layers of
functionality all on a
single box
SQL
Transactions
Caching
Logging
Current DB Architectures are Monolithic
Even when you scale
it out, you’re still
replicating the same
stack
SQL
Transactions
Caching
Logging
SQL
Transactions
Caching
Logging
Application
Current DB Architectures are Monolithic
SQL
Transactions
Caching
Logging
SQL
Transactions
Caching
Logging
Application Even when you scale
it out, you’re still
replicating the same
stack
Current DB Architectures are Monolithic
SQL
Transactions
Caching
Logging
SQL
Transactions
Caching
Logging
Storage
Application Even when you scale
it out, you’re still
replicating the same
stack
This is a problem.
For cost. For flexibility. And for availability.
Re-imagining the Relational Database
What if we were inventing the database today?
You wouldn’t design it the way we did in 1970. At least not entirely
You’d build something scale-out, self-healing, that leverage existing
AWS services
Relational databases reimagined for the cloud.
speed and availability of high-end commercial databases
simplicity and cost-effectiveness of open source databases
  drop-in compatibility with MySQL
  simple pay as you go pricing
Delivered as a managed service.
Amazon Aurora
applying a Service-oriented architecture
to the database
•  Moved the logging and storage layer
into a multi-tenant, scale-out
database-optimized storage service
•  Integrated with other AWS Services
like EC2, VPC, DynamoDB, SWF,
Route 53 for control plane
operations
•  Integrated with S3 for continuous
backup and 99.999999999%
durability
Logging + Storage
SQL
Transactions
Caching
Control PlaneData Plane
Amazon S3
DynamoDB
Amazon SWF
Amazon Route 53
Aurora Works with Your Existing Apps
An Established Ecosystem
Business Intelligence Data Integration Query & Monitoring SI & Consulting
“It is great to see Amazon Aurora remains MySQL compatible; we have found our
connectors work with Aurora seamlessly. Today, customers can take our drivers
and connect to Aurora, MariaDB or MySQL without worrying about compatibility. We look
forward to working with the Aurora team in the future to further accelerate innovation within the
MySQL ecosystem.” – Rasmus Johansson, VP Engineering
Amazon Aurora is Easy to Use
Aurora Makes it Easy to Run Your Databases
•  Create a database in minutes
•  Automatic patching
•  Push-button scaling
•  Failure detection and failover.
•  Read Replica’s are available as failover targets, with no data loss
Amazon
RDS
Aurora simplifies storage management
•  Instant creation of user-snapshots
•  Continuous backups to S3
•  Automatic storage scaling up to 64 TB -
no performance or availability impact
•  Automatic restriping, mirror repair, hot
spot management, encryption
Amazon
RDS
Aurora simplifies Data Security
•  Encryption to secure data at rest
–  AES-256; hardware accelerated
–  All blocks on disk and in Amazon S3 encrypted
–  Key management via AWS KMS
•  SSL to secure data in transit
•  Network isolation via Amazon VPC
by default
•  No direct access to nodes
•  Supports industry standard security
and data protection certifications
AZ 1 AZ 3
Primary
Instance
Amazon S3
Replica
Instance
Customer
VPC
Internal
VPC
MySQL App
AZ 2
Amazon Aurora is Highly Available
Aurora is Highly Available
•  Highly available by default
–  6-way replication across 3 AZs
–  4 of 6 write quorum
•  Automatic fallback to
3 of 4 if an AZ is unavailable
–  3 of 6 read quorum
•  SSD, scale-out, multi-tenant storage
–  Seamless storage scalability
–  Up to 64TB database size
–  Only pay for what you use
•  Log-structured storage
–  Many small segments, each with
their own redo logs
–  Log pages used to generate data pages
–  Eliminates chatter between database and storage
SQL
Transaction
s
AZ 1 AZ 2 AZ 3
Caching
Amazon S3
Aurora Performs Consistent, Low Latency Writes
Improvements
•  Consistency - tolerance to outliers
•  Latency - 2 phase commit vs. asynchronous replication
•  Significantly more efficient use of network IO
AZ 1 AZ 2
Primary
Instance
Standby
Instance
EBS
Amazon S3
EBS
mirror
EBS
EBS
mirror
AZ 1 AZ 3
Primary
Instance
Amazon S3
AZ 2
Replica
Instance
Log records
Binlog
Data
Doublewrite buffer
FRM files, metadata
Type of writes
MySQL Multi-AZ with Standby Amazon Aurora
async
4/6 quorum
2 phase commit
PiTR
Sequential
write
Sequential
write Distributed
writes
Aurora Performs Consistent, Low Latency Writes
Improvements
•  Consistency - tolerance to outliers
•  Latency - 2 phase commit vs. asynchronous replication
•  Significantly more efficient use of network IO
AZ 1 AZ 2
Primary
Instance
Standby
Instance
EBS
Amazon S3
EBS
mirror
EBS
EBS
mirror
AZ 1 AZ 3
Primary
Instance
Amazon S3
AZ 2
Replica
Instance
Log records
Binlog
Data
Doublewrite buffer
FRM files, metadata
Type of writes
MySQL with Standby Amazon Aurora
async
4/6 quorum
2 phase commit
PiTR
Sequential
write
Sequential
write Distributed
writes
Self-healing and fault-tolerant
•  Lose 2 copies or an AZ failure without read or write availability impact
•  Lose 3 copies without read availability impact
•  Automatic detection, replication and repair
SQL
Transaction
AZ 1 AZ 2 AZ 3
Caching
SQL
Transaction
AZ 1 AZ 2 AZ 3
Caching
Read & Write AvailabilityRead Availability
Traditional Databases
•  Have to replay logs since the
last checkpoint
•  Single threaded in MySQL;
requires a large number of
disk accesses
Amazon Aurora
•  Underlying storage replays
redo records on demand as
part of a disk read
•  Parallel, distributed,
asynchronous
Checkpointed Data Redo Log
Crash at T0 requires
a re-application of the
SQL in the redo log since
last checkpoint
T0 T0
Crash at T0 will result in redo
logs being applied to each segment
on demand, in parallel, asynchronously
Aurora Has Instant Crash Recovery
Aurora’s Cache Survives a DB Restart
•  We moved the cache out of
the database process
•  Cache remains warm in the
event of a database restart
•  Lets you resume fully
loaded operations much
faster
•  Instant crash recovery +
survivable cache = quick
and easy recovery from DB
failures
SQL
Transactions
Caching
SQL
Transactions
Caching
SQL
Transactions
Caching
Caching Process is Outside the DB process
and remains warm across a database restart
Multiple failover targets, without data loss.
MySQL Read Scaling
•  Replicas must replay logs
•  Replicas place additional load on master
•  Replica lag can grow indefinitely
•  Failover results in data loss
Page cache
invalidation
Aurora Master
30% Read
70% Write
Aurora Replica
100% New
Reads
Shared Multi-AZ Storage
MySQL Master
30% Read
70% Write
MySQL Replica
30% New Reads
70% Write
Single
threaded
binlog apply
Data Volume Data Volume
You Can Simulate Failures Using SQL
•  To cause the failure of a component at the database node:
ALTER SYSTEM CRASH [{INSTANCE | DISPATCHER | NODE}]
•  To simulate the failure of disks:
ALTER SYSTEM SIMULATE percent_failure DISK failure_type IN
[DISK index | NODE index] FOR INTERVAL interval
•  To simulate the failure of networking:
ALTER SYSTEM SIMULATE percent_failure NETWORK failure_type
[TO {ALL | read_replica | availability_zone}] FOR INTERVAL interval
Intermission…	
  
Intercom
brian.scanlan@intercom.io
Intercom’s technology
-  Largely monolithic Ruby on Rails application. Strong culture
around Continuous Deployment and general DevOps best
practices. Some adoption of SOA/Microservices.
-  Built using MySQL and Ruby on Rails’ ActiveRecord ORM
for rapid development. Unstructured customer data stored
in MongoDB, however all messages in MySQL.
-  Heavy use of AWS services and other SaaS services (New
Relic, Code Climate, CodeShip, LogEntries).
-  Custom infrastructure/code orchestration & deployment
system.
Recent MySQL woes
-  Highly sensitive to MySQL performance and started experiencing regular inexplicable
performance degradation. Could not vertically scale our way out of the problem. Engaged
RDS Support & MySQL consultants.
-  Adjusted parameters e.g. lock wait timeouts, transaction read isolation levels and
txn_flush_at_commit, etc. Instrumented and reduced number of long-running transactions in
an attempt to reduce lock contention.
-  Greatly increased the number of MySQL metrics being collected, built application level
fingerprinting and automated data collection during outages. Got our hands dirty with
MySQL’s performance schema. Reducing read throughput stabilised.
Why we’re interested in Aurora
-  While we bought ourselves time with improved caching, Aurora
gives us more options and a lot more vertical scaling opportunities.
-  Operational experiences of using read-replicas with RDS/MySQL
means we don’t trust them for customer facing queries. The
eventual consistency guarantees of Aurora look good enough for our
application to use for practically all read queries.
intercom.io
blog.intercom.io
team@intercom.io
brian.scanlan@intercom.io
Enterprise grade features and performance
at open source prices
Aurora Pricing
Simple pricing
•  No licenses
•  No lock-in
•  Pay only for what you use
Discounts
•  44% with a 1 year RI
•  63% with a 3 year RI
vCPU Mem Hourly Price
db.r3.large 2 15.25 $0.29
db.r3.xlarge 4 30.5 $0.58
db.r3.2xlarge 8 61 $1.16
db.r3.4xlarge 16 122 $2.32
db.r3.8xlarge 32 244 $4.64
•  Storage consumed, up to 64TB, is $0.10/GB/month
•  IOs consumed are billed at $0.20 per million IO
•  Prices are for Virginia
Aurora – Enterprise Grade. Open Source Prices
•  Expanding to unlimited preview
•  Adding preview support for US West (Oregon) and EU (Ireland)
•  Signup for preview access at:
https://aws.amazon.com/rds/aurora/preview
•  Full service launch in the coming months
LONDON

Más contenido relacionado

La actualidad más candente

AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
Simplilearn
 

La actualidad más candente (20)

AWS Storage - S3 Fundamentals
AWS Storage - S3 FundamentalsAWS Storage - S3 Fundamentals
AWS Storage - S3 Fundamentals
 
Deep Dive on Amazon Aurora
Deep Dive on Amazon AuroraDeep Dive on Amazon Aurora
Deep Dive on Amazon Aurora
 
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
AWS S3 | Tutorial For Beginners | AWS S3 Bucket Tutorial | AWS Tutorial For B...
 
Amazon Aurora: Deep Dive - SRV308 - Chicago AWS Summit
Amazon Aurora: Deep Dive - SRV308 - Chicago AWS SummitAmazon Aurora: Deep Dive - SRV308 - Chicago AWS Summit
Amazon Aurora: Deep Dive - SRV308 - Chicago AWS Summit
 
ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)ProxySQL High Availability (Clustering)
ProxySQL High Availability (Clustering)
 
SRV308 Deep Dive on Amazon Aurora
SRV308 Deep Dive on Amazon AuroraSRV308 Deep Dive on Amazon Aurora
SRV308 Deep Dive on Amazon Aurora
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 
Amazon DynamoDB Deep Dive Advanced Design Patterns for DynamoDB (DAT401) - AW...
Amazon DynamoDB Deep Dive Advanced Design Patterns for DynamoDB (DAT401) - AW...Amazon DynamoDB Deep Dive Advanced Design Patterns for DynamoDB (DAT401) - AW...
Amazon DynamoDB Deep Dive Advanced Design Patterns for DynamoDB (DAT401) - AW...
 
Amazon S3 and EC2
Amazon S3 and EC2Amazon S3 and EC2
Amazon S3 and EC2
 
Dynamodb ppt
Dynamodb pptDynamodb ppt
Dynamodb ppt
 
Amazon RDS: Deep Dive - SRV310 - Chicago AWS Summit
Amazon RDS: Deep Dive - SRV310 - Chicago AWS SummitAmazon RDS: Deep Dive - SRV310 - Chicago AWS Summit
Amazon RDS: Deep Dive - SRV310 - Chicago AWS Summit
 
Deep Dive on Amazon Aurora
Deep Dive on Amazon AuroraDeep Dive on Amazon Aurora
Deep Dive on Amazon Aurora
 
Deep Dive on Amazon Aurora
Deep Dive on Amazon AuroraDeep Dive on Amazon Aurora
Deep Dive on Amazon Aurora
 
Introduction to Amazon Relational Database Service
Introduction to Amazon Relational Database ServiceIntroduction to Amazon Relational Database Service
Introduction to Amazon Relational Database Service
 
Introduction to Amazon Relational Database Service (Amazon RDS)
Introduction to Amazon Relational Database Service (Amazon RDS)Introduction to Amazon Relational Database Service (Amazon RDS)
Introduction to Amazon Relational Database Service (Amazon RDS)
 
Introduction to Amazon S3
Introduction to Amazon S3Introduction to Amazon S3
Introduction to Amazon S3
 
Amazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB DayAmazon Aurora Deep Dive (김기완) - AWS DB Day
Amazon Aurora Deep Dive (김기완) - AWS DB Day
 
Modern Cloud Data Warehousing ft. Intuit: Optimize Analytics Practices (ANT20...
Modern Cloud Data Warehousing ft. Intuit: Optimize Analytics Practices (ANT20...Modern Cloud Data Warehousing ft. Intuit: Optimize Analytics Practices (ANT20...
Modern Cloud Data Warehousing ft. Intuit: Optimize Analytics Practices (ANT20...
 
Deep Dive on Amazon Aurora with PostgreSQL Compatibility (DAT305-R1) - AWS re...
Deep Dive on Amazon Aurora with PostgreSQL Compatibility (DAT305-R1) - AWS re...Deep Dive on Amazon Aurora with PostgreSQL Compatibility (DAT305-R1) - AWS re...
Deep Dive on Amazon Aurora with PostgreSQL Compatibility (DAT305-R1) - AWS re...
 
Deep Dive on Amazon Aurora - Covering New Feature Announcements
Deep Dive on Amazon Aurora - Covering New Feature AnnouncementsDeep Dive on Amazon Aurora - Covering New Feature Announcements
Deep Dive on Amazon Aurora - Covering New Feature Announcements
 

Similar a Amazon Aurora

Similar a Amazon Aurora (20)

Amazon Aurora Let's Talk About Performance
Amazon Aurora Let's Talk About PerformanceAmazon Aurora Let's Talk About Performance
Amazon Aurora Let's Talk About Performance
 
Amazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database EngineAmazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database Engine
 
Amazon Aurora: The New Relational Database Engine from Amazon
Amazon Aurora: The New Relational Database Engine from AmazonAmazon Aurora: The New Relational Database Engine from Amazon
Amazon Aurora: The New Relational Database Engine from Amazon
 
Amazon Aurora: The New Relational Database Engine from Amazon
Amazon Aurora: The New Relational Database Engine from AmazonAmazon Aurora: The New Relational Database Engine from Amazon
Amazon Aurora: The New Relational Database Engine from Amazon
 
Amazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database EngineAmazon Aurora: Amazon’s New Relational Database Engine
Amazon Aurora: Amazon’s New Relational Database Engine
 
AWS August Webinar Series - Introducing Amazon Aurora
AWS August Webinar Series - Introducing Amazon AuroraAWS August Webinar Series - Introducing Amazon Aurora
AWS August Webinar Series - Introducing Amazon Aurora
 
getting started with amazon aurora
getting started with amazon auroragetting started with amazon aurora
getting started with amazon aurora
 
Getting Started with Amazon Aurora
 Getting Started with Amazon Aurora Getting Started with Amazon Aurora
Getting Started with Amazon Aurora
 
Amazon RDS with Amazon Aurora | AWS Public Sector Summit 2016
Amazon RDS with Amazon Aurora | AWS Public Sector Summit 2016Amazon RDS with Amazon Aurora | AWS Public Sector Summit 2016
Amazon RDS with Amazon Aurora | AWS Public Sector Summit 2016
 
Getting Started with Amazon Aurora
Getting Started with Amazon AuroraGetting Started with Amazon Aurora
Getting Started with Amazon Aurora
 
Getting started with amazon aurora - Toronto
Getting started with amazon aurora - TorontoGetting started with amazon aurora - Toronto
Getting started with amazon aurora - Toronto
 
AWS re:Invent 2016: Workshop: Stretching Scalability: Doing more with Amazon ...
AWS re:Invent 2016: Workshop: Stretching Scalability: Doing more with Amazon ...AWS re:Invent 2016: Workshop: Stretching Scalability: Doing more with Amazon ...
AWS re:Invent 2016: Workshop: Stretching Scalability: Doing more with Amazon ...
 
Getting Started with Amazon Aurora
Getting Started with Amazon AuroraGetting Started with Amazon Aurora
Getting Started with Amazon Aurora
 
Getting Started with Amazon Aurora
Getting Started with Amazon AuroraGetting Started with Amazon Aurora
Getting Started with Amazon Aurora
 
Amazon Aurora Getting started Guide -level 0
Amazon Aurora Getting started Guide -level 0Amazon Aurora Getting started Guide -level 0
Amazon Aurora Getting started Guide -level 0
 
AWS January 2016 Webinar Series - Amazon Aurora for Enterprise Database Appli...
AWS January 2016 Webinar Series - Amazon Aurora for Enterprise Database Appli...AWS January 2016 Webinar Series - Amazon Aurora for Enterprise Database Appli...
AWS January 2016 Webinar Series - Amazon Aurora for Enterprise Database Appli...
 
Getting Started with Amazon Aurora
Getting Started with Amazon AuroraGetting Started with Amazon Aurora
Getting Started with Amazon Aurora
 
Amazon Aurora TechConnect
Amazon Aurora TechConnect Amazon Aurora TechConnect
Amazon Aurora TechConnect
 
What's new in Amazon Aurora - ADB207 - New York AWS Summit
What's new in Amazon Aurora - ADB207 - New York AWS SummitWhat's new in Amazon Aurora - ADB207 - New York AWS Summit
What's new in Amazon Aurora - ADB207 - New York AWS Summit
 
AWS re:Invent 2016: Amazon Aurora Deep Dive (GPST402)
AWS re:Invent 2016: Amazon Aurora Deep Dive (GPST402)AWS re:Invent 2016: Amazon Aurora Deep Dive (GPST402)
AWS re:Invent 2016: Amazon Aurora Deep Dive (GPST402)
 

Más de Amazon 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 AWS
Amazon 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 Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon 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
 

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
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Amazon Aurora

  • 1. ©2015,  Amazon  Web  Services,  Inc.  or  its  affiliates.  All  rights  reserved Amazon Aurora Relational databases reimagined. Ronan Guilfoyle, Solutions Architect, AWS Brian Scanlan, Engineer, Intercom
  • 2. Current DB Architectures are Monolithic Multiple layers of functionality all on a single box SQL Transactions Caching Logging
  • 3. Current DB Architectures are Monolithic Even when you scale it out, you’re still replicating the same stack SQL Transactions Caching Logging SQL Transactions Caching Logging Application
  • 4. Current DB Architectures are Monolithic SQL Transactions Caching Logging SQL Transactions Caching Logging Application Even when you scale it out, you’re still replicating the same stack
  • 5. Current DB Architectures are Monolithic SQL Transactions Caching Logging SQL Transactions Caching Logging Storage Application Even when you scale it out, you’re still replicating the same stack
  • 6. This is a problem. For cost. For flexibility. And for availability.
  • 7. Re-imagining the Relational Database What if we were inventing the database today? You wouldn’t design it the way we did in 1970. At least not entirely You’d build something scale-out, self-healing, that leverage existing AWS services
  • 8. Relational databases reimagined for the cloud. speed and availability of high-end commercial databases simplicity and cost-effectiveness of open source databases   drop-in compatibility with MySQL   simple pay as you go pricing Delivered as a managed service.
  • 9. Amazon Aurora applying a Service-oriented architecture to the database •  Moved the logging and storage layer into a multi-tenant, scale-out database-optimized storage service •  Integrated with other AWS Services like EC2, VPC, DynamoDB, SWF, Route 53 for control plane operations •  Integrated with S3 for continuous backup and 99.999999999% durability Logging + Storage SQL Transactions Caching Control PlaneData Plane Amazon S3 DynamoDB Amazon SWF Amazon Route 53
  • 10. Aurora Works with Your Existing Apps
  • 11. An Established Ecosystem Business Intelligence Data Integration Query & Monitoring SI & Consulting “It is great to see Amazon Aurora remains MySQL compatible; we have found our connectors work with Aurora seamlessly. Today, customers can take our drivers and connect to Aurora, MariaDB or MySQL without worrying about compatibility. We look forward to working with the Aurora team in the future to further accelerate innovation within the MySQL ecosystem.” – Rasmus Johansson, VP Engineering
  • 12. Amazon Aurora is Easy to Use
  • 13. Aurora Makes it Easy to Run Your Databases •  Create a database in minutes •  Automatic patching •  Push-button scaling •  Failure detection and failover. •  Read Replica’s are available as failover targets, with no data loss Amazon RDS
  • 14. Aurora simplifies storage management •  Instant creation of user-snapshots •  Continuous backups to S3 •  Automatic storage scaling up to 64 TB - no performance or availability impact •  Automatic restriping, mirror repair, hot spot management, encryption Amazon RDS
  • 15. Aurora simplifies Data Security •  Encryption to secure data at rest –  AES-256; hardware accelerated –  All blocks on disk and in Amazon S3 encrypted –  Key management via AWS KMS •  SSL to secure data in transit •  Network isolation via Amazon VPC by default •  No direct access to nodes •  Supports industry standard security and data protection certifications AZ 1 AZ 3 Primary Instance Amazon S3 Replica Instance Customer VPC Internal VPC MySQL App AZ 2
  • 16. Amazon Aurora is Highly Available
  • 17. Aurora is Highly Available •  Highly available by default –  6-way replication across 3 AZs –  4 of 6 write quorum •  Automatic fallback to 3 of 4 if an AZ is unavailable –  3 of 6 read quorum •  SSD, scale-out, multi-tenant storage –  Seamless storage scalability –  Up to 64TB database size –  Only pay for what you use •  Log-structured storage –  Many small segments, each with their own redo logs –  Log pages used to generate data pages –  Eliminates chatter between database and storage SQL Transaction s AZ 1 AZ 2 AZ 3 Caching Amazon S3
  • 18. Aurora Performs Consistent, Low Latency Writes Improvements •  Consistency - tolerance to outliers •  Latency - 2 phase commit vs. asynchronous replication •  Significantly more efficient use of network IO AZ 1 AZ 2 Primary Instance Standby Instance EBS Amazon S3 EBS mirror EBS EBS mirror AZ 1 AZ 3 Primary Instance Amazon S3 AZ 2 Replica Instance Log records Binlog Data Doublewrite buffer FRM files, metadata Type of writes MySQL Multi-AZ with Standby Amazon Aurora async 4/6 quorum 2 phase commit PiTR Sequential write Sequential write Distributed writes
  • 19. Aurora Performs Consistent, Low Latency Writes Improvements •  Consistency - tolerance to outliers •  Latency - 2 phase commit vs. asynchronous replication •  Significantly more efficient use of network IO AZ 1 AZ 2 Primary Instance Standby Instance EBS Amazon S3 EBS mirror EBS EBS mirror AZ 1 AZ 3 Primary Instance Amazon S3 AZ 2 Replica Instance Log records Binlog Data Doublewrite buffer FRM files, metadata Type of writes MySQL with Standby Amazon Aurora async 4/6 quorum 2 phase commit PiTR Sequential write Sequential write Distributed writes
  • 20. Self-healing and fault-tolerant •  Lose 2 copies or an AZ failure without read or write availability impact •  Lose 3 copies without read availability impact •  Automatic detection, replication and repair SQL Transaction AZ 1 AZ 2 AZ 3 Caching SQL Transaction AZ 1 AZ 2 AZ 3 Caching Read & Write AvailabilityRead Availability
  • 21. Traditional Databases •  Have to replay logs since the last checkpoint •  Single threaded in MySQL; requires a large number of disk accesses Amazon Aurora •  Underlying storage replays redo records on demand as part of a disk read •  Parallel, distributed, asynchronous Checkpointed Data Redo Log Crash at T0 requires a re-application of the SQL in the redo log since last checkpoint T0 T0 Crash at T0 will result in redo logs being applied to each segment on demand, in parallel, asynchronously Aurora Has Instant Crash Recovery
  • 22. Aurora’s Cache Survives a DB Restart •  We moved the cache out of the database process •  Cache remains warm in the event of a database restart •  Lets you resume fully loaded operations much faster •  Instant crash recovery + survivable cache = quick and easy recovery from DB failures SQL Transactions Caching SQL Transactions Caching SQL Transactions Caching Caching Process is Outside the DB process and remains warm across a database restart
  • 23. Multiple failover targets, without data loss. MySQL Read Scaling •  Replicas must replay logs •  Replicas place additional load on master •  Replica lag can grow indefinitely •  Failover results in data loss Page cache invalidation Aurora Master 30% Read 70% Write Aurora Replica 100% New Reads Shared Multi-AZ Storage MySQL Master 30% Read 70% Write MySQL Replica 30% New Reads 70% Write Single threaded binlog apply Data Volume Data Volume
  • 24. You Can Simulate Failures Using SQL •  To cause the failure of a component at the database node: ALTER SYSTEM CRASH [{INSTANCE | DISPATCHER | NODE}] •  To simulate the failure of disks: ALTER SYSTEM SIMULATE percent_failure DISK failure_type IN [DISK index | NODE index] FOR INTERVAL interval •  To simulate the failure of networking: ALTER SYSTEM SIMULATE percent_failure NETWORK failure_type [TO {ALL | read_replica | availability_zone}] FOR INTERVAL interval
  • 27. Intercom’s technology -  Largely monolithic Ruby on Rails application. Strong culture around Continuous Deployment and general DevOps best practices. Some adoption of SOA/Microservices. -  Built using MySQL and Ruby on Rails’ ActiveRecord ORM for rapid development. Unstructured customer data stored in MongoDB, however all messages in MySQL. -  Heavy use of AWS services and other SaaS services (New Relic, Code Climate, CodeShip, LogEntries). -  Custom infrastructure/code orchestration & deployment system.
  • 28.
  • 29. Recent MySQL woes -  Highly sensitive to MySQL performance and started experiencing regular inexplicable performance degradation. Could not vertically scale our way out of the problem. Engaged RDS Support & MySQL consultants. -  Adjusted parameters e.g. lock wait timeouts, transaction read isolation levels and txn_flush_at_commit, etc. Instrumented and reduced number of long-running transactions in an attempt to reduce lock contention. -  Greatly increased the number of MySQL metrics being collected, built application level fingerprinting and automated data collection during outages. Got our hands dirty with MySQL’s performance schema. Reducing read throughput stabilised.
  • 30. Why we’re interested in Aurora -  While we bought ourselves time with improved caching, Aurora gives us more options and a lot more vertical scaling opportunities. -  Operational experiences of using read-replicas with RDS/MySQL means we don’t trust them for customer facing queries. The eventual consistency guarantees of Aurora look good enough for our application to use for practically all read queries.
  • 32. Enterprise grade features and performance at open source prices
  • 33. Aurora Pricing Simple pricing •  No licenses •  No lock-in •  Pay only for what you use Discounts •  44% with a 1 year RI •  63% with a 3 year RI vCPU Mem Hourly Price db.r3.large 2 15.25 $0.29 db.r3.xlarge 4 30.5 $0.58 db.r3.2xlarge 8 61 $1.16 db.r3.4xlarge 16 122 $2.32 db.r3.8xlarge 32 244 $4.64 •  Storage consumed, up to 64TB, is $0.10/GB/month •  IOs consumed are billed at $0.20 per million IO •  Prices are for Virginia
  • 34. Aurora – Enterprise Grade. Open Source Prices •  Expanding to unlimited preview •  Adding preview support for US West (Oregon) and EU (Ireland) •  Signup for preview access at: https://aws.amazon.com/rds/aurora/preview •  Full service launch in the coming months