SlideShare a Scribd company logo
1 of 50
Download to read offline
POSTGRESQL
ON AWS:
TIPS & TRICKS
(AND HORROR STORIES)
ALEXANDER KUKUSHKIN
PostgresConf US 2018
2018-04-20
2
ABOUT ME
Alexander Kukushkin
Database Engineer @ZalandoTech
Email: alexander.kukushkin@zalando.de
Twitter: @cyberdemn
3
FACTS & FIGURES
> 300 databases
on premise
> 150
on AWS EC2
> 200
on K8S
4
WHY WE USE AWS
● Fast hardware (service) provisioning
● Easy scale up/down/in/out
● Pay only for resources you need
5
GLOSSARY
● RDS - Relational Database Service
● EC2 - Elastic Compute Cloud
● EBS - Elastic Block Store
● S3 - Simple Storage Service
● AZ - Availability Zone
● ASG - Auto Scaling Group
6
POSTGRESQL HA ON AWS
● Shared storage - EBS, attach it to a different EC2 Instance
○ Works within one AZ
● Storage mirroring - Multi-AZ RDS (EBS is replicated to another AZ)
○ Works between AZ
○ Replicas can’t execute queries
● Streaming replication - you can start additional RDS replicas
○ Replicas can execute queries
○ Automatic Failover problem (if not Multi-AZ deployment)
● Amazon Aurora
○ Keeps 6 copies of data in 3 AZ
○ Low latency read replicas
○ Failover typically takes less than 30 seconds.
7
EC2 VS. RDS VS. AURORA: MONTHLY PRICING*
Instance Type EC2 RDS Aurora
(db.)t2.micro $9.78 $18.25 n/a
(db.)m4.large $87.60 $158.41 n/a
(db.)m5.large $83.95 n/a n/a
(db.)r4.large $116.80 $222.65 $255.50
(db.)r4.xlarge $233.60 $445.30 $511.00
* storage price is not included
8
EC2 VS. RDS VS. AURORA: MONTHLY PRICING*
Instance Type 2 x EC2 3 x EC2 RDS Multi-AZ 2 x Aurora
(db.)t2.micro $19.56 $29.34 $36.50 n/a
(db.)m4.large $175.20 $262.80 $316.82 n/a
(db.)m5.large $167.90 $251.85 n/a n/a
(db.)r4.large $233.60 $350.40 $445.30 $511.00
(db.)r4.xlarge $467.20 $700.80 $890.60 $1022.00
* storage price and price for Aurora I/O Rate are not included
9
● No superuser access
● No replication connection
● No custom extensions
● Multi-AZ RDS doubles the price, but replica can’t execute queries
● Aurora works only on R4 instances and price for “I/O Rate” can
become really high
RDS SUMMARY
10
● Patroni - High-Availability and automatic failover
● Spilo - Docker package of Patroni and WAL-E for AWS or Kubernetes
● Use CloudFormation stacks and ASG for deployments
● One Docker container per EC2 Instance
SPILO AND PATRONI
11
AWS DEPLOYMENT
12
● Instance Types: t2, m5, m4, c5, x1, r4, p2, g3, f1, i3, d2
● Instance Sizes: nano, micro, small, medium, large, xlarge,
2xlarge, 4xlarge, 10xlarge, 16xlarge, 32xlarge
● Performance: Fixed vs. Burstable (T2 Instances)
● Storage: Instance Store (Ephemeral) vs. EBS
● EBS-optimized Instances
● Enhanced Networking
EC2 INSTANCE FEATURES
13
BURSTABLE PERFORMANCE
OR WHY IS MY DATABASE
VERY SLOW?
14
BURSTABLE PERFORMANCE
~100%
~10%
~2h 30m
t2.micro
15
BURSTABLE PERFORMANCE
t2.micro
16
● Designed to provide moderate baseline performance and the capability to burst to significantly higher
performance as required by your workload.
● If your account is less than 12 months old, you can use a t2.micro instance for free within certain usage
limits.
T2 INSTANCES
Instance Type Initial CPU
credit
Credits
earned per
hour
vCPUs Base
performance
(CPU utilization)
Max CPU
credit
balance
t2.micro 30 6 1 10% 144
t2.small 30 12 1 20% 288
t2.medium 60 24 2 40% 578
t2.large 60 36 2 60% 864
17
● One CPU credit is equal to one vCPU running at 100% utilization for
one minute.
● When a T2 instance uses fewer CPU resources than its base
performance level allows (such as when it is idle), the unused CPU
credits (or the difference between what was earned and what was
spent) are stored in the credit balance for up to 24 hours, building CPU
credits for bursting.
● When a T2 instance requires more CPU resources than its base
performance level allows, it uses credits from the CPU credit balance to
burst up to 100% utilization.
CPU CREDITS
18
● WAL-E wal-fetch/wal-prefetch is terribly slow
○ Prefetch spawns 8 worker processes (by default)
and can burn all CPU Credits
How we solved it:
1. use “-p 0” to disable prefetch
2. reimplemented ‘wal-fetch’ in bash + curl + openssl
HORROR STORY
19
● CPUCreditUsage metric indicates the number of CPU credits used
during the measurement period
● CPUCreditBalance metric indicates the number of unused CPU credits
a T2 instance has earned
MONITOR CPU CREDITS t2.small
20
● 1 year or 3 year contracts
● Significant discount compared to On-Demand instance pricing
● Capacity reservation
● Customers using both Reserved and On-Demand instances will have
Reserved Instance rates applied first to minimize costs
● Discounts up to 70%
RESERVED INSTANCES
21
● Bidding on “AWS overcapacity”
● Variable price point, save up to 90% vs. on-demand
*Risks*
Unavailability or loss of instance if outbid!!!
SPOT INSTANCES
22
SPOT MARKET
23
● Async processing
● Reporting
● CI
● Staging systems
● Testing of backups
USE CASES
Everything that can fail or be unavailable for short duration
24
● There were only 2 AZ in eu-central-1 until June 2017
● ASG is trying to do its best to distribute resources across different AZ, but when Spot Price
is high, it might happen that two EC2 Instances will run in the same AZ
● When price will go down, ASG will rebalance resources, i.e. spawn a new instance in another
AZ and terminate one of the running instances
● With 50% probability it will kill the “master”
How we solved it:
AutoScalingGroup -> “TerminationPolicies”: [“NewestInstance”, “Default”]
HORROR STORY
25
ELASTIC BLOCK STORE
Name io1 gp2 st1 sc1
Size 4GB - 16TB 1GB - 16TB 500GB - 16TB 500GB - 16TB
Max IOPS/Volume 20000 10000 500 250
Max Throughput/Volume 320MB/s 160MB/s 500MB/s 250MB/s
26
● ST1 and SC1 - HDD, good throughput, but low IOPS
● GP2 and IO1 - SSD, usually good choice for databases
● EBS volumes are created in a specific AZ, and can then be attached to
any instances in that AZ
● IOPS and throughput depends on Volume Size
ELASTIC BLOCK STORE
27
STORAGE PRICING
io1 gp2
EC2 $0.149/GB-month
$0.078/provisioned IOPS
$0.119/GB-month
RDS* $0.149/GB-month
$0.119/provisioned IOPS
$0.137/GB-month
Aurora $0.119/GB-month + $0.22 / 1 million requests
* MultiAZ doubles the price
28
● IO1 gives better IOPS guarantees
● But you have to pay for it – the same size costs 25% more (or 9%
more for RDS). Plus you have to pay for provisioned IOPS
● For RDS minimum size of IO1 volume is 100 GB + 1000 provisioned
IOPS. It will cost you $14.90 + $119 per month
● You can get 1000 IOPS with 334 GB GP2 volume for $45.76/month
IO1 VS. GP2
29
SEQUEL:
BURSTABLE PERFORMANCE
OR WHY IS MY DATABASE
SLOW AGAIN?
30
BURSTABLE PERFORMANCE
~3000 IOPS
~1200 IOPS
~ 45 min
400 GB GP2 Volume
31
BURSTABLE PERFORMANCE
~3000 IOPS
~1200 IOPS
~ 45 min
400 GB Volume
32
I/O CREDITS AND BURST PERFORMANCE
● The performance of gp2 volumes is tied to volume size (3 IOPS/GiB)
● The maximum and initial I/O credit balance for a volume is 5.4 million
● When your volume requires more than the baseline performance I/O
level, it draws on I/O credits in the credit balance to burst to the required
performance level, up to a maximum of 3,000 IOPS
● When your volume uses fewer I/O credits than it earns in a second,
unused I/O credits are added to the I/O credit balance
33
GP2 VOLUMES EXPLAINED
34
● Especially BurstBalance if GP2 volume is smaller than 1TB
MONITOR I/O WITH CLOUDWATCH
500 GB GP2 Volume
2500
1250
35
● Dedicated bandwidth to Amazon EBS, with options between 500 Mbps
and 12,000 Mbps, depending on the instance type you use
● Provides the best performance for your EBS volumes by minimizing
contention between Amazon EBS I/O and other traffic from your
instance
EBS-OPTIMIZED INSTANCES
36
EBS THROUGHPUT
InstanceType vCPU Memory Max IOPS Throughput (Mb/s) Price (per month)
m4.large 2 8 GB 3600 56.25 $87.6
r4.large 2 15 GB 3000 54 $116.8
m5.large* 2 8 GB Up to 16000 Up to 265 $83.95
m4.xlarge 4 16 GB 6000 93.75 $175.2
r4.xlarge 4 30 GB 6000 106.25 $233.6
m5.xlarge* 4 16 GB Up to 16000 Up to 265 $167.9
37
● Next generation
● Slightly cheaper than M4
● Better networking and storage performance
● EBS burst capability on smaller instance sizes (large,
xlarge, 2xlarge)
○ can support maximum performance for 30 minutes
at least once every 24 hours
M5 INSTANCES
38
M4 VS. M5 INSTANCES
IOPS Throughput (Mb/s)
InstanceType Baseline Max Baseline Max
m4.large 3600 3600 56.25 56.25
m5.large 3600 16000 60 265
m4.xlarge 6000 6000 93.75 93.75
m5.xlarge 6000 16000 100 265
m4.xlarge 8000 8000 125 125
m5.xlarge 8333 16000 146 265
39
● If you run m5.large, m5.xlarge or m5.2xlarge, you should monitor
○ EBSIOBalance% - percentage of I/O credits remaining in
the burst bucket.
○ EBSByteBalance% - percentage of throughput credits
remaining in the burst bucket
● Instances with a consistently low balance percentage are
candidates for upsizing
● Instances where the balance percentage never drops below
100% are candidates for downsizing
MORE CLOUDWATCH METRICS
40
● t2.micro, t2.small and t2.medium are showing up to ~60 MB/s on EBS
● t2.large, t2.xlarge and t2.2xlarge are showing up to ~120 MB/s on EBS
● I don’t have any numbers about Max. IOPS for T2 instances
● There is no guaranteed throughput for T2 instances!
EBS PERFORMANCE OF T2 INSTANCES
41
● GP2 is MUCH cheaper than IO1
● Choose an EC2 Instance with enough bandwidth
● Build a RAID-0 from multiple GP2 volumes to get
more than 10000 IOPS or 160MB/s
EBS TIPS
42
HORROR STORY
● AWS didn’t provide a means to
monitor EBS Burst Balance
until November 2016
● RDS still doesn’t provide
information about GP2 Volume
Burst Balance
43
● Pros:
○ Located on disks that are physically attached to the host computer
○ Amazing throughput and latencies compared to EBS
● Cons:
○ Provides only temporary block-level storage
○ Data in the instance store is lost under the following circumstances:
■ The underlying disk drive fails
■ The instance stops or terminates
INSTANCE STORE VOLUMES
44
PRICE COMPARISON
InstanceType r4.xlarge i3.xlarge r4.2xlarge i3.2xlarge
vCPU 4 4 8 8
Memory 30 GB 30 GB 60 GB 60 GB
Max IOPS 6000 6000 12000 12000
Throughput (Mb/s) 109 100 218 200
Instance Storage (NVMe) - 950 GB - 1900 GB
Price (per month) $233.6 $271.56 $467.2 $543.12
Price with 950 GB EBS $346.65 $580.25
Price with 1900 GB EBS $459.7 $693.3
45
● For high-intensive OLTP, i3 instances are a rescue:
○ r4.2xlarge + 3.3TB EBS ($863.75/month) wasn’t able to keep up
○ The switch to i3.2xlarge solved all problems and saved 37% of
costs
We run ~40 clusters on i3 instances and only two i3 instances has failed
during last year.
INSTANCE STORE SUMMARY
46
● S3
○ availability - 99.9%
○ durability - 99.999999999%
● EBS
○ availability - 99.99%
○ AFR - 0.1%-0.2%
● EC2
○ SLA - 99.99%
● RDS
○ SLA - 99.95%
AVAILABILITY, DURABILITY AND SLA
47
● We observed 4 failures of EBS during past year
● EC2 instances fail a few times more often than EBS
○ Sometimes they just fail
○ But usually AWS notifies you about degradation
● Please do continuous archiving to S3!
○ wal-e, wal-g, pgBackRest
ANYTHING CAN FAIL
48
● Start with small Instances and Volumes, it’s easy to
scale up later
● Some of the resources (CPUCreditUsage,
CPUCreditBalance, BurstBalance,
EBSIOBalance%, EBSByteBalance%) it’s possible
to monitor only with CloudWatch
● Always do backups and test them
SUMMARY
49
● Easy Amazon EC2 Instance Comparison - EC2instances.info
● Easy Amazon RDS Instance Comparison - RDSInstances.info
● Simple monthly calculator - calculator.s3.amazonaws.com/index.html
● Patroni - github.com/zalando/patroni
● Spilo - github.com/zalando/spilo
USEFUL LINKS
50
QUESTIONS?

More Related Content

What's hot

Sizing MongoDB Clusters
Sizing MongoDB Clusters Sizing MongoDB Clusters
Sizing MongoDB Clusters MongoDB
 
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...Amazon Web Services Korea
 
Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...
Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...
Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...Amazon Web Services Korea
 
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021Amazon Web Services Korea
 
AWS Aurora 운영사례 (by 배은미)
AWS Aurora 운영사례 (by 배은미)AWS Aurora 운영사례 (by 배은미)
AWS Aurora 운영사례 (by 배은미)I Goo Lee.
 
AWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンスAWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンスAmazon Web Services Japan
 
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016Amazon Web Services Korea
 
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech Talks
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech TalksMigrating Your Oracle Database to PostgreSQL - AWS Online Tech Talks
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech TalksAmazon Web Services
 
Apache Kafka and ksqlDB in Action: Let's Build a Streaming Data Pipeline! (Ro...
Apache Kafka and ksqlDB in Action: Let's Build a Streaming Data Pipeline! (Ro...Apache Kafka and ksqlDB in Action: Let's Build a Streaming Data Pipeline! (Ro...
Apache Kafka and ksqlDB in Action: Let's Build a Streaming Data Pipeline! (Ro...confluent
 
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container DayAmazon Web Services Korea
 
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)Amazon Web Services Korea
 
負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリット負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリットTakashi Toyosaki
 
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기Amazon Web Services Korea
 
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon Web Services Korea
 
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018Amazon Web Services Korea
 
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorksAWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorksAmazon Web Services Japan
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20Amazon Web Services Korea
 

What's hot (20)

Sizing MongoDB Clusters
Sizing MongoDB Clusters Sizing MongoDB Clusters
Sizing MongoDB Clusters
 
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
대용량 데이터베이스의 클라우드 네이티브 DB로 전환 시 확인해야 하는 체크 포인트-김지훈, AWS Database Specialist SA...
 
Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...
Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...
Amazon EKS를 통한 빠르고 편리한 컨테이너 플랫폼 활용 – 이일구 AWS 솔루션즈 아키텍트:: AWS Cloud Week - Ind...
 
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
 
AWS Cloud Watch
AWS Cloud WatchAWS Cloud Watch
AWS Cloud Watch
 
AWS Aurora 운영사례 (by 배은미)
AWS Aurora 운영사례 (by 배은미)AWS Aurora 운영사례 (by 배은미)
AWS Aurora 운영사례 (by 배은미)
 
AWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンスAWS セキュリティとコンプライアンス
AWS セキュリティとコンプライアンス
 
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
게임서비스를 위한 ElastiCache 활용 전략 :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS 2016
 
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech Talks
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech TalksMigrating Your Oracle Database to PostgreSQL - AWS Online Tech Talks
Migrating Your Oracle Database to PostgreSQL - AWS Online Tech Talks
 
Apache Kafka and ksqlDB in Action: Let's Build a Streaming Data Pipeline! (Ro...
Apache Kafka and ksqlDB in Action: Let's Build a Streaming Data Pipeline! (Ro...Apache Kafka and ksqlDB in Action: Let's Build a Streaming Data Pipeline! (Ro...
Apache Kafka and ksqlDB in Action: Let's Build a Streaming Data Pipeline! (Ro...
 
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day
 
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
Container, Container, Container -유재석 (AWS 솔루션즈 아키텍트)
 
負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリット負荷分散だけじゃないELBのメリット
負荷分散だけじゃないELBのメリット
 
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기Amazon Redshift로 데이터웨어하우스(DW) 구축하기
Amazon Redshift로 데이터웨어하우스(DW) 구축하기
 
Amazon EBS: Deep Dive
Amazon EBS: Deep DiveAmazon EBS: Deep Dive
Amazon EBS: Deep Dive
 
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
 
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
다양한 솔루션으로 만들어가는 AWS 네트워크 보안::이경수::AWS Summit Seoul 2018
 
SDDC Strategy 1.3
SDDC Strategy 1.3SDDC Strategy 1.3
SDDC Strategy 1.3
 
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorksAWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
AWS Black Belt Tech シリーズ 2015 - AWS OpsWorks
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
 

Similar to PostgreSQL on AWS: Tips & Tricks (and horror stories)

AWS - an introduction to bursting (GP2 - T2)
AWS - an introduction to bursting (GP2 - T2)AWS - an introduction to bursting (GP2 - T2)
AWS - an introduction to bursting (GP2 - T2)Rasmus Ekman
 
stackArmor presentation for DevOpsDC ver 4
stackArmor presentation for DevOpsDC ver 4stackArmor presentation for DevOpsDC ver 4
stackArmor presentation for DevOpsDC ver 4Gaurav "GP" Pal
 
DevOps for ETL processing at scale with MongoDB, Solr, AWS and Chef
DevOps for ETL processing at scale with MongoDB, Solr, AWS and ChefDevOps for ETL processing at scale with MongoDB, Solr, AWS and Chef
DevOps for ETL processing at scale with MongoDB, Solr, AWS and ChefGaurav "GP" Pal
 
AWS Webcast - Cost and Performance Optimization in Amazon RDS
AWS Webcast - Cost and Performance Optimization in Amazon RDSAWS Webcast - Cost and Performance Optimization in Amazon RDS
AWS Webcast - Cost and Performance Optimization in Amazon RDSAmazon Web Services
 
Deep Dive on Amazon EC2 Instances - AWS Summit Cape Town 2017
Deep Dive on Amazon EC2 Instances - AWS Summit Cape Town 2017Deep Dive on Amazon EC2 Instances - AWS Summit Cape Town 2017
Deep Dive on Amazon EC2 Instances - AWS Summit Cape Town 2017Amazon Web Services
 
Getting Started with AWS EC2. From Zero to Hero
Getting Started with AWS EC2. From Zero to HeroGetting Started with AWS EC2. From Zero to Hero
Getting Started with AWS EC2. From Zero to HeroAWSBulgaria
 
Kubernetes: Reducing Infrastructure Cost & Complexity
Kubernetes: Reducing Infrastructure Cost & ComplexityKubernetes: Reducing Infrastructure Cost & Complexity
Kubernetes: Reducing Infrastructure Cost & ComplexityDevOps.com
 
Public Cloud Performance Measurement Report
Public Cloud Performance Measurement ReportPublic Cloud Performance Measurement Report
Public Cloud Performance Measurement ReportStorPool Storage
 
Aws meetup (sep 2015) exprimir cada centavo
Aws meetup (sep 2015)   exprimir cada centavoAws meetup (sep 2015)   exprimir cada centavo
Aws meetup (sep 2015) exprimir cada centavoSebastian Montini
 
Foundations of Amazon EC2 - SRV319
Foundations of Amazon EC2 - SRV319 Foundations of Amazon EC2 - SRV319
Foundations of Amazon EC2 - SRV319 Amazon Web Services
 
Deep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance PerformanceDeep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance PerformanceAmazon Web Services
 
Ceph on All Flash Storage -- Breaking Performance Barriers
Ceph on All Flash Storage -- Breaking Performance BarriersCeph on All Flash Storage -- Breaking Performance Barriers
Ceph on All Flash Storage -- Breaking Performance BarriersCeph Community
 
Deep Dive on Amazon EC2 Instances - January 2017 AWS Online Tech Talks
Deep Dive on Amazon EC2 Instances - January 2017 AWS Online Tech TalksDeep Dive on Amazon EC2 Instances - January 2017 AWS Online Tech Talks
Deep Dive on Amazon EC2 Instances - January 2017 AWS Online Tech TalksAmazon Web Services
 
Benchmarking your cloud performance with top 4 global public clouds
Benchmarking your cloud performance with top 4 global public cloudsBenchmarking your cloud performance with top 4 global public clouds
Benchmarking your cloud performance with top 4 global public cloudsdata://disrupted®
 
Data Scotland 2019: You can run SQL Server on AWS
Data Scotland 2019: You can run SQL Server on AWSData Scotland 2019: You can run SQL Server on AWS
Data Scotland 2019: You can run SQL Server on AWSJohn McCormack
 
High Performance Computing in AWS, Immersion Day Huntsville 2019
High Performance Computing in AWS, Immersion Day Huntsville 2019High Performance Computing in AWS, Immersion Day Huntsville 2019
High Performance Computing in AWS, Immersion Day Huntsville 2019Amazon Web Services
 

Similar to PostgreSQL on AWS: Tips & Tricks (and horror stories) (20)

AWS - an introduction to bursting (GP2 - T2)
AWS - an introduction to bursting (GP2 - T2)AWS - an introduction to bursting (GP2 - T2)
AWS - an introduction to bursting (GP2 - T2)
 
stackArmor presentation for DevOpsDC ver 4
stackArmor presentation for DevOpsDC ver 4stackArmor presentation for DevOpsDC ver 4
stackArmor presentation for DevOpsDC ver 4
 
DevOps for ETL processing at scale with MongoDB, Solr, AWS and Chef
DevOps for ETL processing at scale with MongoDB, Solr, AWS and ChefDevOps for ETL processing at scale with MongoDB, Solr, AWS and Chef
DevOps for ETL processing at scale with MongoDB, Solr, AWS and Chef
 
AWS Elastic Compute Cloud (EC2)
AWS Elastic Compute Cloud (EC2) AWS Elastic Compute Cloud (EC2)
AWS Elastic Compute Cloud (EC2)
 
AWS Webcast - Cost and Performance Optimization in Amazon RDS
AWS Webcast - Cost and Performance Optimization in Amazon RDSAWS Webcast - Cost and Performance Optimization in Amazon RDS
AWS Webcast - Cost and Performance Optimization in Amazon RDS
 
Shootout at the PAAS Corral
Shootout at the PAAS CorralShootout at the PAAS Corral
Shootout at the PAAS Corral
 
Deep Dive on Amazon EC2 Instances - AWS Summit Cape Town 2017
Deep Dive on Amazon EC2 Instances - AWS Summit Cape Town 2017Deep Dive on Amazon EC2 Instances - AWS Summit Cape Town 2017
Deep Dive on Amazon EC2 Instances - AWS Summit Cape Town 2017
 
Getting Started with AWS EC2. From Zero to Hero
Getting Started with AWS EC2. From Zero to HeroGetting Started with AWS EC2. From Zero to Hero
Getting Started with AWS EC2. From Zero to Hero
 
Kubernetes: Reducing Infrastructure Cost & Complexity
Kubernetes: Reducing Infrastructure Cost & ComplexityKubernetes: Reducing Infrastructure Cost & Complexity
Kubernetes: Reducing Infrastructure Cost & Complexity
 
Public Cloud Performance Measurement Report
Public Cloud Performance Measurement ReportPublic Cloud Performance Measurement Report
Public Cloud Performance Measurement Report
 
Aws meetup (sep 2015) exprimir cada centavo
Aws meetup (sep 2015)   exprimir cada centavoAws meetup (sep 2015)   exprimir cada centavo
Aws meetup (sep 2015) exprimir cada centavo
 
Deep Dive Amazon EC2
Deep Dive Amazon EC2Deep Dive Amazon EC2
Deep Dive Amazon EC2
 
Foundations of Amazon EC2 - SRV319
Foundations of Amazon EC2 - SRV319 Foundations of Amazon EC2 - SRV319
Foundations of Amazon EC2 - SRV319
 
Deep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance PerformanceDeep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance Performance
 
Ceph on All Flash Storage -- Breaking Performance Barriers
Ceph on All Flash Storage -- Breaking Performance BarriersCeph on All Flash Storage -- Breaking Performance Barriers
Ceph on All Flash Storage -- Breaking Performance Barriers
 
Deep Dive on Amazon EC2 Instances - January 2017 AWS Online Tech Talks
Deep Dive on Amazon EC2 Instances - January 2017 AWS Online Tech TalksDeep Dive on Amazon EC2 Instances - January 2017 AWS Online Tech Talks
Deep Dive on Amazon EC2 Instances - January 2017 AWS Online Tech Talks
 
Benchmarking your cloud performance with top 4 global public clouds
Benchmarking your cloud performance with top 4 global public cloudsBenchmarking your cloud performance with top 4 global public clouds
Benchmarking your cloud performance with top 4 global public clouds
 
Data Scotland 2019: You can run SQL Server on AWS
Data Scotland 2019: You can run SQL Server on AWSData Scotland 2019: You can run SQL Server on AWS
Data Scotland 2019: You can run SQL Server on AWS
 
Shootout at the AWS Corral
Shootout at the AWS CorralShootout at the AWS Corral
Shootout at the AWS Corral
 
High Performance Computing in AWS, Immersion Day Huntsville 2019
High Performance Computing in AWS, Immersion Day Huntsville 2019High Performance Computing in AWS, Immersion Day Huntsville 2019
High Performance Computing in AWS, Immersion Day Huntsville 2019
 

Recently uploaded

Detection&Tracking - Thermal imaging object detection and tracking
Detection&Tracking - Thermal imaging object detection and trackingDetection&Tracking - Thermal imaging object detection and tracking
Detection&Tracking - Thermal imaging object detection and trackinghadarpinhas1
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptJohnWilliam111370
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTSneha Padhiar
 
70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical trainingGladiatorsKasper
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
priority interrupt computer organization
priority interrupt computer organizationpriority interrupt computer organization
priority interrupt computer organizationchnrketan
 
Substation Automation SCADA and Gateway Solutions by BRH
Substation Automation SCADA and Gateway Solutions by BRHSubstation Automation SCADA and Gateway Solutions by BRH
Substation Automation SCADA and Gateway Solutions by BRHbirinder2
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Sumanth A
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESkarthi keyan
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmDeepika Walanjkar
 
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxCurve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxRomil Mishra
 
The Satellite applications in telecommunication
The Satellite applications in telecommunicationThe Satellite applications in telecommunication
The Satellite applications in telecommunicationnovrain7111
 
Secure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech LabsSecure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech Labsamber724300
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
A brief look at visionOS - How to develop app on Apple's Vision Pro
A brief look at visionOS - How to develop app on Apple's Vision ProA brief look at visionOS - How to develop app on Apple's Vision Pro
A brief look at visionOS - How to develop app on Apple's Vision ProRay Yuan Liu
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfManish Kumar
 
STATE TRANSITION DIAGRAM in psoc subject
STATE TRANSITION DIAGRAM in psoc subjectSTATE TRANSITION DIAGRAM in psoc subject
STATE TRANSITION DIAGRAM in psoc subjectGayathriM270621
 

Recently uploaded (20)

Detection&Tracking - Thermal imaging object detection and tracking
Detection&Tracking - Thermal imaging object detection and trackingDetection&Tracking - Thermal imaging object detection and tracking
Detection&Tracking - Thermal imaging object detection and tracking
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
Versatile Engineering Construction Firms
Versatile Engineering Construction FirmsVersatile Engineering Construction Firms
Versatile Engineering Construction Firms
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
 
70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training70 POWER PLANT IAE V2500 technical training
70 POWER PLANT IAE V2500 technical training
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
priority interrupt computer organization
priority interrupt computer organizationpriority interrupt computer organization
priority interrupt computer organization
 
Substation Automation SCADA and Gateway Solutions by BRH
Substation Automation SCADA and Gateway Solutions by BRHSubstation Automation SCADA and Gateway Solutions by BRH
Substation Automation SCADA and Gateway Solutions by BRH
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
 
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxCurve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
 
The Satellite applications in telecommunication
The Satellite applications in telecommunicationThe Satellite applications in telecommunication
The Satellite applications in telecommunication
 
Secure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech LabsSecure Key Crypto - Tech Paper JET Tech Labs
Secure Key Crypto - Tech Paper JET Tech Labs
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
A brief look at visionOS - How to develop app on Apple's Vision Pro
A brief look at visionOS - How to develop app on Apple's Vision ProA brief look at visionOS - How to develop app on Apple's Vision Pro
A brief look at visionOS - How to develop app on Apple's Vision Pro
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
 
STATE TRANSITION DIAGRAM in psoc subject
STATE TRANSITION DIAGRAM in psoc subjectSTATE TRANSITION DIAGRAM in psoc subject
STATE TRANSITION DIAGRAM in psoc subject
 

PostgreSQL on AWS: Tips & Tricks (and horror stories)

  • 1. POSTGRESQL ON AWS: TIPS & TRICKS (AND HORROR STORIES) ALEXANDER KUKUSHKIN PostgresConf US 2018 2018-04-20
  • 2. 2 ABOUT ME Alexander Kukushkin Database Engineer @ZalandoTech Email: alexander.kukushkin@zalando.de Twitter: @cyberdemn
  • 3. 3 FACTS & FIGURES > 300 databases on premise > 150 on AWS EC2 > 200 on K8S
  • 4. 4 WHY WE USE AWS ● Fast hardware (service) provisioning ● Easy scale up/down/in/out ● Pay only for resources you need
  • 5. 5 GLOSSARY ● RDS - Relational Database Service ● EC2 - Elastic Compute Cloud ● EBS - Elastic Block Store ● S3 - Simple Storage Service ● AZ - Availability Zone ● ASG - Auto Scaling Group
  • 6. 6 POSTGRESQL HA ON AWS ● Shared storage - EBS, attach it to a different EC2 Instance ○ Works within one AZ ● Storage mirroring - Multi-AZ RDS (EBS is replicated to another AZ) ○ Works between AZ ○ Replicas can’t execute queries ● Streaming replication - you can start additional RDS replicas ○ Replicas can execute queries ○ Automatic Failover problem (if not Multi-AZ deployment) ● Amazon Aurora ○ Keeps 6 copies of data in 3 AZ ○ Low latency read replicas ○ Failover typically takes less than 30 seconds.
  • 7. 7 EC2 VS. RDS VS. AURORA: MONTHLY PRICING* Instance Type EC2 RDS Aurora (db.)t2.micro $9.78 $18.25 n/a (db.)m4.large $87.60 $158.41 n/a (db.)m5.large $83.95 n/a n/a (db.)r4.large $116.80 $222.65 $255.50 (db.)r4.xlarge $233.60 $445.30 $511.00 * storage price is not included
  • 8. 8 EC2 VS. RDS VS. AURORA: MONTHLY PRICING* Instance Type 2 x EC2 3 x EC2 RDS Multi-AZ 2 x Aurora (db.)t2.micro $19.56 $29.34 $36.50 n/a (db.)m4.large $175.20 $262.80 $316.82 n/a (db.)m5.large $167.90 $251.85 n/a n/a (db.)r4.large $233.60 $350.40 $445.30 $511.00 (db.)r4.xlarge $467.20 $700.80 $890.60 $1022.00 * storage price and price for Aurora I/O Rate are not included
  • 9. 9 ● No superuser access ● No replication connection ● No custom extensions ● Multi-AZ RDS doubles the price, but replica can’t execute queries ● Aurora works only on R4 instances and price for “I/O Rate” can become really high RDS SUMMARY
  • 10. 10 ● Patroni - High-Availability and automatic failover ● Spilo - Docker package of Patroni and WAL-E for AWS or Kubernetes ● Use CloudFormation stacks and ASG for deployments ● One Docker container per EC2 Instance SPILO AND PATRONI
  • 12. 12 ● Instance Types: t2, m5, m4, c5, x1, r4, p2, g3, f1, i3, d2 ● Instance Sizes: nano, micro, small, medium, large, xlarge, 2xlarge, 4xlarge, 10xlarge, 16xlarge, 32xlarge ● Performance: Fixed vs. Burstable (T2 Instances) ● Storage: Instance Store (Ephemeral) vs. EBS ● EBS-optimized Instances ● Enhanced Networking EC2 INSTANCE FEATURES
  • 13. 13 BURSTABLE PERFORMANCE OR WHY IS MY DATABASE VERY SLOW?
  • 16. 16 ● Designed to provide moderate baseline performance and the capability to burst to significantly higher performance as required by your workload. ● If your account is less than 12 months old, you can use a t2.micro instance for free within certain usage limits. T2 INSTANCES Instance Type Initial CPU credit Credits earned per hour vCPUs Base performance (CPU utilization) Max CPU credit balance t2.micro 30 6 1 10% 144 t2.small 30 12 1 20% 288 t2.medium 60 24 2 40% 578 t2.large 60 36 2 60% 864
  • 17. 17 ● One CPU credit is equal to one vCPU running at 100% utilization for one minute. ● When a T2 instance uses fewer CPU resources than its base performance level allows (such as when it is idle), the unused CPU credits (or the difference between what was earned and what was spent) are stored in the credit balance for up to 24 hours, building CPU credits for bursting. ● When a T2 instance requires more CPU resources than its base performance level allows, it uses credits from the CPU credit balance to burst up to 100% utilization. CPU CREDITS
  • 18. 18 ● WAL-E wal-fetch/wal-prefetch is terribly slow ○ Prefetch spawns 8 worker processes (by default) and can burn all CPU Credits How we solved it: 1. use “-p 0” to disable prefetch 2. reimplemented ‘wal-fetch’ in bash + curl + openssl HORROR STORY
  • 19. 19 ● CPUCreditUsage metric indicates the number of CPU credits used during the measurement period ● CPUCreditBalance metric indicates the number of unused CPU credits a T2 instance has earned MONITOR CPU CREDITS t2.small
  • 20. 20 ● 1 year or 3 year contracts ● Significant discount compared to On-Demand instance pricing ● Capacity reservation ● Customers using both Reserved and On-Demand instances will have Reserved Instance rates applied first to minimize costs ● Discounts up to 70% RESERVED INSTANCES
  • 21. 21 ● Bidding on “AWS overcapacity” ● Variable price point, save up to 90% vs. on-demand *Risks* Unavailability or loss of instance if outbid!!! SPOT INSTANCES
  • 23. 23 ● Async processing ● Reporting ● CI ● Staging systems ● Testing of backups USE CASES Everything that can fail or be unavailable for short duration
  • 24. 24 ● There were only 2 AZ in eu-central-1 until June 2017 ● ASG is trying to do its best to distribute resources across different AZ, but when Spot Price is high, it might happen that two EC2 Instances will run in the same AZ ● When price will go down, ASG will rebalance resources, i.e. spawn a new instance in another AZ and terminate one of the running instances ● With 50% probability it will kill the “master” How we solved it: AutoScalingGroup -> “TerminationPolicies”: [“NewestInstance”, “Default”] HORROR STORY
  • 25. 25 ELASTIC BLOCK STORE Name io1 gp2 st1 sc1 Size 4GB - 16TB 1GB - 16TB 500GB - 16TB 500GB - 16TB Max IOPS/Volume 20000 10000 500 250 Max Throughput/Volume 320MB/s 160MB/s 500MB/s 250MB/s
  • 26. 26 ● ST1 and SC1 - HDD, good throughput, but low IOPS ● GP2 and IO1 - SSD, usually good choice for databases ● EBS volumes are created in a specific AZ, and can then be attached to any instances in that AZ ● IOPS and throughput depends on Volume Size ELASTIC BLOCK STORE
  • 27. 27 STORAGE PRICING io1 gp2 EC2 $0.149/GB-month $0.078/provisioned IOPS $0.119/GB-month RDS* $0.149/GB-month $0.119/provisioned IOPS $0.137/GB-month Aurora $0.119/GB-month + $0.22 / 1 million requests * MultiAZ doubles the price
  • 28. 28 ● IO1 gives better IOPS guarantees ● But you have to pay for it – the same size costs 25% more (or 9% more for RDS). Plus you have to pay for provisioned IOPS ● For RDS minimum size of IO1 volume is 100 GB + 1000 provisioned IOPS. It will cost you $14.90 + $119 per month ● You can get 1000 IOPS with 334 GB GP2 volume for $45.76/month IO1 VS. GP2
  • 29. 29 SEQUEL: BURSTABLE PERFORMANCE OR WHY IS MY DATABASE SLOW AGAIN?
  • 30. 30 BURSTABLE PERFORMANCE ~3000 IOPS ~1200 IOPS ~ 45 min 400 GB GP2 Volume
  • 31. 31 BURSTABLE PERFORMANCE ~3000 IOPS ~1200 IOPS ~ 45 min 400 GB Volume
  • 32. 32 I/O CREDITS AND BURST PERFORMANCE ● The performance of gp2 volumes is tied to volume size (3 IOPS/GiB) ● The maximum and initial I/O credit balance for a volume is 5.4 million ● When your volume requires more than the baseline performance I/O level, it draws on I/O credits in the credit balance to burst to the required performance level, up to a maximum of 3,000 IOPS ● When your volume uses fewer I/O credits than it earns in a second, unused I/O credits are added to the I/O credit balance
  • 34. 34 ● Especially BurstBalance if GP2 volume is smaller than 1TB MONITOR I/O WITH CLOUDWATCH 500 GB GP2 Volume 2500 1250
  • 35. 35 ● Dedicated bandwidth to Amazon EBS, with options between 500 Mbps and 12,000 Mbps, depending on the instance type you use ● Provides the best performance for your EBS volumes by minimizing contention between Amazon EBS I/O and other traffic from your instance EBS-OPTIMIZED INSTANCES
  • 36. 36 EBS THROUGHPUT InstanceType vCPU Memory Max IOPS Throughput (Mb/s) Price (per month) m4.large 2 8 GB 3600 56.25 $87.6 r4.large 2 15 GB 3000 54 $116.8 m5.large* 2 8 GB Up to 16000 Up to 265 $83.95 m4.xlarge 4 16 GB 6000 93.75 $175.2 r4.xlarge 4 30 GB 6000 106.25 $233.6 m5.xlarge* 4 16 GB Up to 16000 Up to 265 $167.9
  • 37. 37 ● Next generation ● Slightly cheaper than M4 ● Better networking and storage performance ● EBS burst capability on smaller instance sizes (large, xlarge, 2xlarge) ○ can support maximum performance for 30 minutes at least once every 24 hours M5 INSTANCES
  • 38. 38 M4 VS. M5 INSTANCES IOPS Throughput (Mb/s) InstanceType Baseline Max Baseline Max m4.large 3600 3600 56.25 56.25 m5.large 3600 16000 60 265 m4.xlarge 6000 6000 93.75 93.75 m5.xlarge 6000 16000 100 265 m4.xlarge 8000 8000 125 125 m5.xlarge 8333 16000 146 265
  • 39. 39 ● If you run m5.large, m5.xlarge or m5.2xlarge, you should monitor ○ EBSIOBalance% - percentage of I/O credits remaining in the burst bucket. ○ EBSByteBalance% - percentage of throughput credits remaining in the burst bucket ● Instances with a consistently low balance percentage are candidates for upsizing ● Instances where the balance percentage never drops below 100% are candidates for downsizing MORE CLOUDWATCH METRICS
  • 40. 40 ● t2.micro, t2.small and t2.medium are showing up to ~60 MB/s on EBS ● t2.large, t2.xlarge and t2.2xlarge are showing up to ~120 MB/s on EBS ● I don’t have any numbers about Max. IOPS for T2 instances ● There is no guaranteed throughput for T2 instances! EBS PERFORMANCE OF T2 INSTANCES
  • 41. 41 ● GP2 is MUCH cheaper than IO1 ● Choose an EC2 Instance with enough bandwidth ● Build a RAID-0 from multiple GP2 volumes to get more than 10000 IOPS or 160MB/s EBS TIPS
  • 42. 42 HORROR STORY ● AWS didn’t provide a means to monitor EBS Burst Balance until November 2016 ● RDS still doesn’t provide information about GP2 Volume Burst Balance
  • 43. 43 ● Pros: ○ Located on disks that are physically attached to the host computer ○ Amazing throughput and latencies compared to EBS ● Cons: ○ Provides only temporary block-level storage ○ Data in the instance store is lost under the following circumstances: ■ The underlying disk drive fails ■ The instance stops or terminates INSTANCE STORE VOLUMES
  • 44. 44 PRICE COMPARISON InstanceType r4.xlarge i3.xlarge r4.2xlarge i3.2xlarge vCPU 4 4 8 8 Memory 30 GB 30 GB 60 GB 60 GB Max IOPS 6000 6000 12000 12000 Throughput (Mb/s) 109 100 218 200 Instance Storage (NVMe) - 950 GB - 1900 GB Price (per month) $233.6 $271.56 $467.2 $543.12 Price with 950 GB EBS $346.65 $580.25 Price with 1900 GB EBS $459.7 $693.3
  • 45. 45 ● For high-intensive OLTP, i3 instances are a rescue: ○ r4.2xlarge + 3.3TB EBS ($863.75/month) wasn’t able to keep up ○ The switch to i3.2xlarge solved all problems and saved 37% of costs We run ~40 clusters on i3 instances and only two i3 instances has failed during last year. INSTANCE STORE SUMMARY
  • 46. 46 ● S3 ○ availability - 99.9% ○ durability - 99.999999999% ● EBS ○ availability - 99.99% ○ AFR - 0.1%-0.2% ● EC2 ○ SLA - 99.99% ● RDS ○ SLA - 99.95% AVAILABILITY, DURABILITY AND SLA
  • 47. 47 ● We observed 4 failures of EBS during past year ● EC2 instances fail a few times more often than EBS ○ Sometimes they just fail ○ But usually AWS notifies you about degradation ● Please do continuous archiving to S3! ○ wal-e, wal-g, pgBackRest ANYTHING CAN FAIL
  • 48. 48 ● Start with small Instances and Volumes, it’s easy to scale up later ● Some of the resources (CPUCreditUsage, CPUCreditBalance, BurstBalance, EBSIOBalance%, EBSByteBalance%) it’s possible to monitor only with CloudWatch ● Always do backups and test them SUMMARY
  • 49. 49 ● Easy Amazon EC2 Instance Comparison - EC2instances.info ● Easy Amazon RDS Instance Comparison - RDSInstances.info ● Simple monthly calculator - calculator.s3.amazonaws.com/index.html ● Patroni - github.com/zalando/patroni ● Spilo - github.com/zalando/spilo USEFUL LINKS