2. “Generally, the craft of programming is the factoring of a set of
requirements into a set of functions and data structures.”
GET quoteREDIS:6379>
-- Douglas Crockford --
3. What to Expect from the Session
LRANGE agenda 0 2
1) “Amazon ElastiCache Overview”
2) “Engine Enhancements”
3) “Usage Patterns”
REDIS:6379>
4. SMEMBERS featuresREDIS:6379>
Amazon
ElastiCache
1) “Easy to deploy & monitor”
2) “Enhanced Redis Engine“
3) “Highly Available with fast auto-failover”
4) “Fully managed; Zero admin”
5) “Cost Effective”
6) “Redis and Memcached”
7) “Microsecond performance”
8) “Secured in VPC”
6. SMEMBERS features
REDIS:6379>
Amazon
ElastiCache
REDIS:6379>
hget feature:details “enhancements”
2) “Enhanced Redis Engine”
Optimized Swap Memory
•Mitigate the risk of increased swap usage
during syncs and snapshots.
Dynamic write throttling
•Improved output buffer management when
the node’s memory is close to being
exhausted.
Smoother failovers
•Clusters recover faster as replicas avoid
flushing their data to do a full re-sync with
the primary.
8. SMEMBERS features
REDIS:6379>
Amazon
ElastiCache
5) “Cost Effective”
REDIS:6379>
hget feature:details “cost”
• Get Started for Free! - Get 750 hours free per month for an entire year
with a micro node
• On Demand – Pay as low of 1.7 cents / hour
• Reserved Instances – Optimize further by reserving 1 or 3 year capacity
and save up to 65% using ElastiCache Ris
• No Cross-AZ Data Transfer Costs – No charge associated with
multi-AZ cluster communication
9. ElastiCache Redis Reference Architecture
Availability Zone B Availability Zone CAvailability Zone A
REDIS:6379> hget feature:details “ref-arch”
10. ElastiCache Redis Reference Architecture
Availability Zone B Availability Zone CAvailability Zone A
Private SubnetPrivate Subnet Private Subnet
REDIS:6379> hget feature:details “ref-arch”
11. ElastiCache Redis Reference Architecture
Availability Zone B Availability Zone CAvailability Zone A
Private SubnetPrivate Subnet Private Subnet
REDIS:6379> hget feature:details “ref-arch”
security group security group security group
12. ElastiCache Redis Reference Architecture
Availability Zone B Availability Zone CAvailability Zone A
Private SubnetPrivate Subnet Private Subnet
REDIS:6379> hget feature:details “ref-arch”
security group security group security group
Primary
Elasticache Redis Cluster
Amazon S3
bucket
REDIS RDB
snapshot
13. ElastiCache Redis Reference Architecture
Availability Zone B Availability Zone CAvailability Zone A
Private SubnetPrivate Subnet Private Subnet
REDIS:6379> hget feature:details “ref-arch”
security group security group security group
Primary
Elasticache Redis Cluster
security group
Public Subnet
security group
Public Subnet Public Subnet Low Latency
Secure
Direct Access
Amazon S3
bucket
REDIS RDB
snapshot
security group
14. ElastiCache for Redis Failure Scenarios
“Everything fails, all the time.”
GET quote:failureREDIS:6379>
-- Werner Vogels, CTO Amazon.com --
15. Availability Zone A
slots 0 - 5454 slots 5455 – 10909
Redis Cluster
slots 10910 – 16363
Availability Zone B Availability Zone C
slots 5455 – 10909 slots 5455 – 10909slots 0 - 5454 slots 0 - 5454
slots 10910 – 16363 slots 10910 – 16363
Scenario 1: Single Primary Failure
16. Availability Zone A
slots 0 - 5454 slots 5455 – 10909
Redis Cluster
Scenario 1: Single Primary Failure
slots 10910 – 16363
Availability Zone B Availability Zone C
slots 5455 – 10909 slots 5455 – 10909slots 0 - 5454 slots 0 - 5454
slots 10910 – 16363
Mitigation:
1. Automatic Failure Detection & Replica Promotion (~15-30s)
2. Repair Failed Node
slots 10910 – 16363
17. Availability Zone A
slots 0 - 5454 slots 5455 – 10909
Redis Cluster
Scenario 2: Majority of Primaries Fail
slots 10910 – 16363
Availability Zone B Availability Zone C
slots 5455 – 10909 slots 5455 – 10909slots 0 - 5454 slots 0 - 5454
slots 10910 – 16363slots 10910 – 16363
18. Availability Zone A
slots 0 - 5454 slots 5455 – 10909
Redis Cluster
slots 10910 – 16363
Availability Zone B Availability Zone C
slots 5455 – 10909 slots 5455 – 10909slots 0 - 5454 slots 0 - 5454
Mitigation: Redis enhancements on ElastiCache
• Automatic Failure Detection and Replica Promotion
• Repair Failed Nodes
slots 10910 – 16363slots 10910 – 16363
Scenario 2: Majority of Primaries Fail
28. Amazon ElastiCache Summary
Enhanced Redis engine for increased robustness to
support your critical workloads
Cost-effective solution with various pricing options to
optimize your TCO
Native support with the AWS ecosystem of services
Fully managed with zero administration allowing you to
focus on your business