aws webcast - backup & restore for elasticache/redis: getting started & best practices

Post on 20-Aug-2015

1.187 Views

Category:

Technology

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Amazon ElastiCache for Redis: Backup and Restore

Dan Zamansky, Sr. Product Manager, AWS

Agenda

• Overview of Caching

• ElastiCache for Redis

• Use Cases

• Design Patterns

• Backup and Restore

Dimensions for categorizing data stores

• Persistence – In Memory vs Strongly Durable

• Data Model – Key Value vs Document Model vs Relational

• Scalability – None vs Scale up vs Scale out

Redis is a popular key-value store

• High speed, in-memory, key-value data store

• Optional durability (persistence via snapshot or

append only file)

• Supports pub/sub functionality

Redis is a popular key-value store

• Supports advanced data structures (in addition

to strings) – Lists of strings

– Sets of strings (collection of non-repeating unsorted elements)

– Sorted Sets (collections of non-repeating elements ordered by

a floating-point number called score)

– Hashes where keys and values are strings

Elastic Load

Balancing EC2 App

Instances

MySQL DB

Instance

ElastiCache

for Redis

Database Writes

App

Reads

Clients

Cache

Updates

Use Redis to accelerate your application

Database Reads

ElastiCache for Redis

• Managed Redis service

• Use existing clients

• Pay as you go

• Available in all public AWS regions since launch

Benefits of a managed service

Cost Effective Solution

On Demand Pricing RI Pricing (Heavy Utilization)

Instance

Type

EC2

Cost

ElastiCache

Cost

Difference EC2

Cost

ElastiCache

Cost

Difference

M1.large $126 $163 $37 $71 $92 $21

M2.xlarge $177 $217 $40 $69 $89 $20

Cost of running ElastiCache vs. a self-managed cache on EC2 (per month):

Key features

• Compatibility with Redis engine

• Versions 2.6.13 and 2.8.6. supported

• Ability to create Redis nodes inside VPC

environment

• Support for Lua scripting

Key Features

• Managed Redis experience – Console, API, and CLI options to create and manage Redis nodes

– Monitoring and node replacement

– CloudWatch metrics

– Support several instance types at launch: t1.micro, m1.small, m1.medium, m1.large, m1.XL, m2.XL, m2.2XL, m2.4XL, C1.XL

• Replication – Master-slave(s) configuration

• High Availability – Multi-AZ support

– Assisted failover: Console and API options to select best slave node for promotion to master during failover event

• Backup and DR – Ability to backup your Redis data through Backup and Restore

– Ability to seed an ElastiCache for Redis master node from both internal and external snapshots

So just how fast is Redis?

• We created a test application that can work with or

without ElastiCache Redis in front of RDS database. – After adding ElastiCache, latency was cut by 8x and throughput jumped by 6x.

Where is ElastiCache Redis used?

• Gaming

• Social

• Media & Entertainment

• Mobile

• Ad Tech

• Many more…

• Auto-scaling front end

• Amazon ElastiCache

• Amazon RDS

• Amazon S3

• Amazon CloudFront

Sample deployment: Gaming

ZADD leaderboard 556 “Andy” ZADD leaderboard 819 “Barry” ZADD leaderboard 105 “Carl” ZADD leaderboard 1312 “Derek”

ZREVRANGE leaderboard 0 -1 1) “Derek” 2) “Barry” 3) “Andy” 4) “Carl”

Design Patterns

• Cache

• Leaderboards

• High Speed Sorting

• Atomic Counters

• Queuing Systems

• Activity Streams

Some things to watch out for with Redis

• Whole dataset must fit in memory

• Soft Persistence

• Single Threaded

• Some datatypes cannot scale out

• No Transactions

Redis Data Protection and Persistence

Replication

• Master-Slave configuration

• Asynchronous (few seconds lag)

• Assisted Failover

AOF

• Logs writes received by server, thus can be used to reconstruct the dataset.

• A parameter that can be turned on and off easily

Backup

• Cluster-level snapshot

• Can be used for seeding Redis clusters

• Provides scaling up/down capability

Redis Backup and Restore

• Create snapshots of Redis clusters via few clicks on the

console

• Create automatic or manual snapshots

• Use snapshots for data persistence, archiving and scaling – Can pre-seed larger or smaller sizes of Redis clusters, delivering scaling up/down

capability

Backup and Restore - Best Practices

• Backup the slaves, not the master

• As a rule of thumb, filling less than 50% of the cluster

should ensure no swap.

– Use “reserved-memory” parameter to mitigate swap

• Backup and Restore isn’t supported on t1.micro

• Set backup window for a low utilization period (especially

low on writes)

Setup Instructions: ElastiCache for Redis Cluster

Setup Instructions: ElastiCache for Redis Cluster

Setup Instructions: ElastiCache for Redis Cluster

Setup Instructions: ElastiCache for Redis Cluster

Setup instructions: Backup and Restore

Setup instructions: Backup and Restore

Free tier: 750 hours of Micro Cache Node per Month

Pay as little as $0.022 per hour thereafter

for a T1.micro node

We just made a 30% price drop in April, making

ElastiCache even more affordable.

You can get started for free

Amazon

ElastiCache for

Redis

Quick Review:

• Managed Redis service

• Easy migration

• Rich Use Cases

• Backup and Restore

For More Information:

• ElastiCache for Redis Detail Page and Docs:

http://aws.amazon.com/documentation/elasticache/

• Getting Started:

http://docs.aws.amazon.com/AmazonElastiCache/latest/U

serGuide/GettingStarted.html

Any Questions?

top related