45
RDS - Letting AWS run your Low Admin, High Performance Database Vasudeva Venkateshaiah Solutions Architect | Amazon Internet Services Private Ltd. 1

Letting AWS run your Low Admin, High Performance Database

Embed Size (px)

Citation preview

Page 1: Letting AWS run your Low Admin, High Performance Database

RDS - Letting AWS run your Low Admin, High Performance Database Vasudeva Venkateshaiah Solutions Architect | Amazon Internet Services Private Ltd.

1  

Page 2: Letting AWS run your Low Admin, High Performance Database

Amazon  RDS  

Amazon  DynamoDB   Amazon  Redshi3  

Amazon  Elas6Cache  

Compute Storage

AWS Global Infrastructure

Database

Application Services

Deployment & Administration

Networking

AWS Database Services

Scalable High Performance Application Storage in the Cloud

Page 3: Letting AWS run your Low Admin, High Performance Database

3  

Page 4: Letting AWS run your Low Admin, High Performance Database

v  

4  

Page 5: Letting AWS run your Low Admin, High Performance Database

Why Amazon RDS?

Page 6: Letting AWS run your Low Admin, High Performance Database

Amazon RDS

Simple to deploy and scale

Without any operational burden Reliable and cost effective

Choice of Database engines

Page 7: Letting AWS run your Low Admin, High Performance Database

backup & recovery, data load & unload

performance tuning 5%

25%

20%

40%

5% 5%

scripting & coding security planning

install, upgrade, patch and migrate

documentation, licensing & training

Why Managed Databases?

Page 8: Letting AWS run your Low Admin, High Performance Database

v  

If you host your databases on-premises

Power,  HVAC,  net  Rack  &  stack  

Server  maintenance  

OS  patches  

DB  s/w  patches  Database  backups  

Scaling  High  availability  

DB  s/w  installs  

OS  installa6on  

you  

App  op6miza6on  

8  

Page 9: Letting AWS run your Low Admin, High Performance Database

v  

If you host your databases on-premises

Power,  HVAC,  net  Rack  &  stack  

Server  maintenance  

OS  patches  

DB  s/w  patches  Database  backups  

Scaling  High  availability  

DB  s/w  installs  

OS  installa6on  

you  

App  op6miza6on  

9  

Page 10: Letting AWS run your Low Admin, High Performance Database

v  

If you host your databases in EC2

Power,  HVAC,  net  Rack  &  stack  

Server  maintenance  

OS  patches  

DB  s/w  patches  Database  backups  

Scaling  High  availability  

DB  s/w  installs  

OS  installa6on  

you  

App  op6miza6on  

10  

Page 11: Letting AWS run your Low Admin, High Performance Database

v  

If you host your databases in EC2

OS  patches  

DB  s/w  patches  Database  backups  

Scaling  High  availability  

DB  s/w  installs  

you  

App  op6miza6on  

Power,  HVAC,  net  Rack  &  stack  

Server  maintenance  

OS  installa6on  

11  

Page 12: Letting AWS run your Low Admin, High Performance Database

v  

If you choose a managed DB service like RDS

Power,  HVAC,  net  Rack  &  stack  

Server  maintenance  

OS  patches  

DB  s/w  patches  Database  backups  

App  op6miza6on  

High  availability  

DB  s/w  installs  

OS  installa6on  

you  

Scaling  

Schema design Query construction Query optimization

Focus  your  team  here  

Let  AWS  focus  here  

12  

Page 13: Letting AWS run your Low Admin, High Performance Database

v  

A resilient, durable, production application architecture

RDS  database  instances:  Master  and  Mul6-­‐AZ  standby  P-­‐IOPS  

Applica6on,  in  Amazon  EC2  instances  

Elas6c  Load  Balancer  instance  

DB  snapshots  in    Amazon  S3  

13  

Page 14: Letting AWS run your Low Admin, High Performance Database

Rapid deployment via Web Console

14  

Page 15: Letting AWS run your Low Admin, High Performance Database

v  

RDS Database instances: scalable CPU, memory, storage • Database  instance  types  offer  a  range  of  CPU  and  memory  selec6ons  

•  Op6ons  from  Micro  (3  no.),  Memory  Op6mized  (5  no.)  and  Standard  Instance  types  (4  no.)  

•  Max  Spec  –  32  vCPU  and  244  GiB  (db.r3.8xlarge)  with  10  Gigabit  network  •  Scale  up  or  down  among  instance  types  on  demand  

• Database  storage  is  scalable  on  demand  •  Choose  standard  storage  for  lower  cost  at  low  IOPS  •  Choose  Provisioned  IOPS  for  high,  predictable  performance  and  online  scaling  

15  

Page 16: Letting AWS run your Low Admin, High Performance Database

v  

How RDS backups work

• Automated  backups  •  Restore  your  database  to  a  point  in  6me  •  Enabled  by  default  •  Choose  a  reten6on  period,  up  to  35  days  

• Manual  snapshots  •  Ini6ated  by  you  •  Persist  un6l  you  delete  them  •  Stored  in  Amazon  Simple  Storage  Service  (Amazon  S3)  •  Build  a  new  database  instance  from  a  snapshot  when  needed  

16  

Page 17: Letting AWS run your Low Admin, High Performance Database

Amazon RDS Multi-AZ  

Few clicks or One API call  

High Availability Database Deployment

Do It Yourself MySQL on AWS  

Potentially ~100+ Manual steps  

Set up primary and standby instances Set up identical volumes Create synchronous replication Create and manage DNS entries Detect instance failure conditions Detect network failure conditions Detect storage failure conditions Decide when to fail-over…. Re-establish primary secondary connections

Page 18: Letting AWS run your Low Admin, High Performance Database

v  

High Availability Multi-AZ Deployments Enterprise-­‐grade  fault  tolerance  solu6on  for  produc6on  databases  

18  

Page 19: Letting AWS run your Low Admin, High Performance Database

v  

Choose Multi-AZ for greater availability, durability

• An  availability  zone  is  a  physically  dis6nct,  independent  infrastructure  • With  Mul6-­‐AZ  opera6on,  your  database  is  synchronously  replicated  to  another  AZ  in  the  same  AWS  Region  

•  Failover  occurs  automa6cally  in  response  to  the  most  important  failure  scenarios  

• Planned  maintenance  is  applied  first  to  backup  

19  

Page 20: Letting AWS run your Low Admin, High Performance Database

v  

Customers Love Multi-AZ

26%  

40%  

25%  

30%  

35%  

40%  

45%  

Oct-­‐12   Jan-­‐13   Apr-­‐13   Jul-­‐13   Oct-­‐13   Jan-­‐14   Apr-­‐14   Jul-­‐14   Oct-­‐14  

Mul6-­‐AZ  Instances  as  a  share  of  all  RDS  Instances  

20  

Page 21: Letting AWS run your Low Admin, High Performance Database

v  

Choose Read Replicas for greater scalability ² Read  Replicas  available  for  MySQL  and  PostgreSQL  (V  9.3.5  and  newer)    ² Help  your  app  scale  by  offloading  read  traffic  to  an  automa6cally  maintained  read  replica  

² Create  mul6ple  read  replicas,  load-­‐share  traffic  ² Easy  to  set  up  ² Automa6c  backups  must  be  enabled  for  Read  Replica  to  work  ² Allows  to  create  upto  5  read  replicas.  ² Uses  the  DB  engine’s  na6ve  asynchronous  replica6on    

21  

Page 22: Letting AWS run your Low Admin, High Performance Database

v  

Choose cross-region snapshot copy for even greater durability, ease of migration

• Copy  a  database  snapshot  to  a  different  AWS  Region  • Warm  standby  for  disaster  recovery  • Or  use  it  as  a  base  for  migra6on  to  a  different  region  

22  

Page 23: Letting AWS run your Low Admin, High Performance Database

v  

•  Even  faster  recovery  in  the  event  of  disaster  

• Bring  data  close  to  your  customers  

• Promote  to  a  master  for  easy  migra6on  

Choose cross-region read replicas for enhanced data locality, even more ease of migration

23  

Page 24: Letting AWS run your Low Admin, High Performance Database

How  secure  is  this?  ü  RDS  is  compliant  with  PCI,  SOC1/SOC2/SOC3,  ITAR,  ISO27001  ü  Amazon  RDS  encryp6on  uses  AWS  Key  Management  Service  (KMS)  to  let  you  

create  and  manage  the  keys  used  to  encrypt  your  data  ü  Every  database  has  an  associated  firewall  that  blocks  all  traffic  by  default.  You  open  

up  specific  IP  addresses  ü  Deploy  to  a  “Virtual  Private  Cloud”  to  completely  isolate  the  database  and  use  VPN  

to  connect  to  your  corporate  network      Our  databases  are  very  large,  need  very  high  performance  

ü  Allocate  up  to  3  TB  with  MySQL,  Postgres,  Oracle  [1  TB  for  MS  SQL]  ü  Up  to  30,000  IOPS  for  MySQL,  Postgres,  Oracle  [10,000  for  MS  SQL]  

Other Important Parameters

24  

Page 25: Letting AWS run your Low Admin, High Performance Database

How RDS billing works

Monthly  bill   = GB  +   +  

Assumes  DB  instance  accessed  only  from  EC2  Further  details  at  hup://aws.amazon.com/rds/pricing/  

=      720  hrs  *  $0.370  +  100  GB  *  $0.125    +  1,000  IOPS  *  $0.10    

=      $383.34  

db.m3.xlarge;  MySQL;  Oregon;  Single-­‐AZ;    

On-­‐Demand  

100  GB    Provisioned  IOPS  

Provisioned  1,000  IOPS  

25  

Page 26: Letting AWS run your Low Admin, High Performance Database

v  

Save money with RDS Reserved Instances

• Pay  a  low  up-­‐front  fee  to  get  a  lower  hourly  price  on  database  instances  for  a  1-­‐  or  3-­‐year  term  

•  The  lower-­‐price  en6tlement  applies  to  any  running  instance  matching  its  descrip6on  

• Choose  among  Heavy,  Medium,  Light  RIs  

Month  1   Month  2   Month  3   Month  4   Month  5   Month  6   Month  7   Month  8   Month  9   Month  10   Month  11   Month  12  On-­‐demand   544.50   1,089.00   1,633.50   2,178.00   2,722.50   3,267.00   3,811.50   4,356.00   4,900.50   5,445.00   5,989.50   6,534.00  Heavy  RI  1-­‐yr   1,508.10   1,750.20   1,992.30   2,234.40   2,476.50   2,718.60   2,960.70   3,202.80   3,444.90   3,687.00   3,929.10   4,171.20  

Start  saving  here  

26  

Page 27: Letting AWS run your Low Admin, High Performance Database

v  

How to scale with Amazon RDS

² Scale  up  or  down  with  resizable  instance  types  •  CPU  to  32  vCPUs,  RAM  to  244  GiB  

² Scale  your  storage  up  with  a  few  clicks  •  Scale  while  online    •  Easy  conversion  from  standard  to  Provisioned  IOPS  storage  

² Offload  read  traffic  to  Read  Replicas  ² Put  a  cache  in  front  of  Amazon  RDS  

•  Amazon  Elas6Cache  for  Memcached  or  Redis  •  Or  your  favorite  cache,  self-­‐managed  in  Amazon  EC2  

² Amazon  RDS  takes  some  of  the  pain  out  of  sharding  

27  

Page 28: Letting AWS run your Low Admin, High Performance Database

v  

Best practices for Amazon RDS

•  Strongly  consider  Provisioned  IOPS  storage  •  Strongly  consider  Mul6-­‐AZ  deployments  • Make  maximum  use  of  ability  to  rapidly  provision  test  environments  • Create  regular  DB  Snapshots    •  Test  recovery  from  them  • Configure  CloudWatch  alerts  and  DB  Event  no6fica6ons  

28  

Page 29: Letting AWS run your Low Admin, High Performance Database

v  

How to migrate data into RDS • Basic  technique:  dump  and  restore  

•  Simple,  but  requires  down6me  

RDS  for  MySQL   RDS  for  Oracle   RDS  for  SQL  Server  

RDS  for  PostgreSQL  

mysqldump   Data  Pump   Generate/  Publish  scripts  

pgdump  

mysqlimport   SQL  Loader   Bulk  Copy  (bcp)   \copy  

29  

Page 30: Letting AWS run your Low Admin, High Performance Database

v  

How to migrate data into RDS, continued • Advanced  technique:  apply  the  deltas  

•  Replay  transac6ons  against  the  migra6on  target  

RDS  for  MySQL   RDS  for  Oracle   RDS  for  SQL  Server  

RDS  for  PostgreSQL  

mysqlbinlog   Mview  replica6on  

Linked  servers   Use  row  metadata  to  capture  modified  rows  

Tungsten  Replicator  

Golden  Gate,  Dbvisit,  Auunity,  Dell  SharePlex  

SSIS  

30  

Page 31: Letting AWS run your Low Admin, High Performance Database

v  

Selected Amazon RDS Customers

31  

Page 32: Letting AWS run your Low Admin, High Performance Database

Changing the Game in Databases

32  

Page 33: Letting AWS run your Low Admin, High Performance Database

v  

Our Pace of Innovation is Increasing

Amazon RDS MySQL launched

RDS MySQL Multi-AZ, Reserved Instances, DUB, SFO Expansion

Amazon RDS for Oracle Amazon ElastiCache for Memcached ElastiCache global expansion

Amazon DynamoDB RDS VPC Support DynamoDB in Japan and EU ElastiCache global expansion continues RDS for Oracle Multi-AZ Amazon RDS for SQL Server RDS Provisioned IOPS Amazon Redshift limited Preview

Amazon ElastiCache auto-discovery Amazon Redshift RDS support for 3TB & 30,000 IOPS RDS Oracle TDE DynamoDB Local Secondary Indexes Redshift global expansion RDS SLA (99.95% for Multi-AZ) Amazon ElastiCache for Redis DynamoDB GSI 42 new Redshift features DynamoDB Local DynamoDB cross-region support Amazon RDS for PostgreSQL

RDS Oracle time zone support Redshift SSD Node types Golden Gate Support ElastiCache Redis backup/restore RDS SQL Server Multi-AZ support Redshift cross region support, HSM support and direct integration with EMR & Kinesis Redshift Free Trial RDS PostgreSQL SLA RDS MySQL buffer pool caching DynamoDB JSON Support ElastiCache Multi-AZ Amazon RDS for Aurora

33  

Page 34: Letting AWS run your Low Admin, High Performance Database

v  

Enterprise  grade  features  and  performance  at  open  source  prices

Amazon Aurora

34  

Page 35: Letting AWS run your Low Admin, High Performance Database

v  

Amazon Aurora – Re-Imagining the RDBMS • The  rela6onal  database  reinvented  using  a  service-­‐oriented  approach  

• Make  the  layers  of  the  database  scale  out  and  mul6-­‐tenant.  Started  with  storage  

• Retained  drop-­‐in  compa6bility  with  MySQL  5.6.  Your  exis6ng  applica6ons  should  just  work  

35  

Page 36: Letting AWS run your Low Admin, High Performance Database

v  

Amazon Aurora •  Service-­‐oriented  architecture  applied  to  the  database  

•  Moved  the  logging  and  storage  layer  into  a  mul6-­‐tenant,  scale-­‐out  database-­‐op6mized  storage  service  

•  Integrated  with  other  AWS  Services  like  EC2,  VPC,  DynamoDB,  SWF,  Route  53  for  control  plane  opera6ons  

•  Integrated  with  S3  for  con6nuous  backup  

Logging  +  Storage  

SQL  

TransacEons  

Caching  

Control  Plane  Data  Plane  

Amazon S3

DynamoDB

Amazon SWF

Amazon Route 53 36  

Page 37: Letting AWS run your Low Admin, High Performance Database

In a connected world, data volume is going up and response times are going down…

37  

Page 38: Letting AWS run your Low Admin, High Performance Database

v  

Which Database to Use?

• Existing App •  Uses MySQL à RDS MySQL à Amazon RDS for Aurora •  Uses PostgreSQL à RDS PostgreSQL •  Uses Oracle or SQL Server à RDS Oracle or RDS SQL Server

• New App •  Can avoid relational features à DynamoDB •  Must use relational features à RDS MySQL à RDS for Aurora

• Need a Data Warehouse •  Amazon Redshift

Page 39: Letting AWS run your Low Admin, High Performance Database

v  

Use The Right Tool for the Job

DynamoDB  

Amazon  RDS   Amazon  Redshi3  

Elas6Cache  

Page 40: Letting AWS run your Low Admin, High Performance Database

Let us manage the muck and keep your databases running

40  

Page 41: Letting AWS run your Low Admin, High Performance Database

So you can focus on your business and the things that differentiate you

41  

Page 42: Letting AWS run your Low Admin, High Performance Database

v  

Try Amazon RDS for free

•  For  your  first  year,  at  no  charge…  •  Enough  free  instance-­‐hours  to  run  a  “micro”  instance  con6nuously  •  20  GB  of  database  instance  storage  •  20  GB  for  automated  backups  •  10  million  I/O  opera6ons  per  month  

•  Learn  more  about  the  AWS  free  6er:  hup://aws.amazon.com/free/  

42  

Page 43: Letting AWS run your Low Admin, High Performance Database

v  

Learn more about Amazon RDS

• Amazon  RDS  home  page:  hup://aws.amazon.com/rds/  • Amazon  RDS  Frequently  Asked  Ques6ons:  hup://aws.amazon.com/rds/faqs/  

•  Links  to  Import  Guides  for  each  engine:  hup://aws.amazon.com/rds/faqs/#9  

 

43  

Page 44: Letting AWS run your Low Admin, High Performance Database

44  

Page 45: Letting AWS run your Low Admin, High Performance Database

45