SlideShare a Scribd company logo
1 of 45
Download to read offline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Airbnb’s Journey from Self-Managed
Redis to ElastiCache for Redis
Julie Trias
Site Reliability
Airbnb/Production Platform
D A T 3 1 9
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
About Airbnb
Redis at Airbnb
Why ElastiCache
Migration requirements
Migration procedure
Recap & take aways
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
About Airbnb
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What is Airbnb?
• Founded in 2008
• Airbed and breakfast
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Mission
To create a world where people can belong through healthy travel that is local,
authentic, diverse, inclusive, and sustainable.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Homes
5+ million
Countries
81,000
Cities
191
Unique homes
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Experiences
15,000+ 1,000+
MarketsUnique activities
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Data stored
104 PB
Redis
940 TB
Aurora
237 TB
S3
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
History of Redis at Airbnb
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Redis stats
Pre-migration
146 ElastiCache Redis
clusters
Post-migration
113 ElastiCache Redis
clusters
Today
82 EC2 Redis clusters
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Use cases
Verification & fraud detection
Payments
Host and guest identity
Booking payments and host payments
Feeds
Homes and experiences feed
Messaging
Authentication
User login sessions
Airbnb app messaging service, as well as email and SMS
notifications
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
SmartStack Redis
Pros
• Simple design
• Multi-AZ
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
SmartStack Redis
Cons
• Operational overhead
• Manual failover
• No support for sharding
• No encryption support
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
HARedis
Pros
• Auto failover
• Multi-AZ
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
HARedis
Cons
• More operational overhead
• No support for sharding
• No encryption support
• Many restricted commands
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Why ElastiCache?
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Current approaches don’t work
Doesn’t scale
Difficult to
manage
Poor
experience Expensive
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ElastiCache Redis
Fully managed & hardened
Secure & compliant
AWS manages hardware, software, setup, configuration,
monitoring, failure recovery, and backups
VPC for cluster isolation, encryption at rest/transit,
HIPAA compliance
Highly available & reliable
Read replicas, multiple primaries, multi-AZ with
automatic failover
Easily scalable
Cluster with up to 6.1 TiB of in-memory data
Read scaling with replicas
Write and memory scaling with sharding
Scale out or in
Key-Value store
Fast in-memory data store in the cloud. Use as a database, cache,
message broker, queue
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Migration requirements
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Redis migration requirements
No cold startsZero
downtime
No data loss
No service interruption Data migration Dual-writes
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Migration procedure
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
High-level migration procedure
2. Deploy ElastiCache Redis cluster
Provision new cluster
4. Failover
Perform the switch
5. Cleanup
1. Stage the application
Prepare to redirect Redis traffic
Terminate EC2 Redis
3. Sync data
Start replication process
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Stage the application
Be ready to push an update to production that
will redirect Redis traffic to ElastiCache
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
New ElastiCache Redis cluster
• Single node cluster
• Multi-AZ failover disabled
• Allow traffic from EC2 Redis and application
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ElastiCache Redis
module "payments" {
source = "../module"
replication_group_id = “payments"
replication_group_description = ”Payments service."
node_type = "cache.r4.xlarge"
replica_count = 0
auto_failover_enabled = false
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Sync data
• Amazon ElastiCache team enables slaveof
command
• Add the ElastiCache cluster as a replica in the
EC2 Redis cluster
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Sync data
EC2-Redis-Primary:~ julie_trias$ $ redis-cli -h private_ip_of_ElastiCache_RG slaveof
private_ip_of_EC2_Redis port_of_EC2_Redis
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Failover
Disable
alerts
Block
traffic
Allow sync
to finish
Block traffic to EC2 Redis
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Failover
Update the application configuration to point
to the new ElastiCache Redis endpoint
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Failover
EC2-Redis-Primary:~ julie_trias$ sudo service nerve stop
EC2-Redis-Primary:~ julie_trias$ redis-cli –p 5020 info replication
# Replication
role:master
connected_replicas:2
replica0:ip=10.0.1.109,port=6379,state=online,offset=760825652934,lag=0
replica1:ip=10.0.5.27,port=6379,state=online,offset=760825652934,lag=0
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Failover
Update the application configuration to point
to the new ElastiCache Redis endpoint
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Failover
Update the application configuration to point
to the new ElastiCache Redis endpoint
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ElastiCache Redis
EC2-Redis-Primary:~ julie_trias$ redis-cli –h
<replication_group_id>.dx6mdd.ng.0001.use1.cache.amazonaws.com slaveof no one
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Failover
Promote Add replica
Enable multi-
AZ failover
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ElastiCache Redis
module "payments" {
source = "../module"
replication_group_id = “payments"
replication_group_description = ”Payments service."
node_type = "cache.r4.xlarge"
replica_count = 0
auto_failover_enabled = false
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ElastiCache Redis
module "payments" {
source = "../module"
replication_group_id = “payments"
replication_group_description = ”Payments service."
node_type = "cache.r4.xlarge"
auto_failover_enabled = false
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ElastiCache Redis
module "payments" {
source = "../module"
replication_group_id = “payments"
replication_group_description = ”Payments service."
node_type = "cache.r4.xlarge"
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Failover
A fully-configured and loaded Redis
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Cleanup
• Terminate EC2 Redis cluster instances
• Terminate proxy instances
• Delete Redis and proxy configurations everywhere
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Recap & takeaways
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Recap
2. Deploy ElastiCache Redis cluster
Provision new cluster
4. Failover
Perform the switch
5. Cleanup
1. Stage the application
Prepare to redirect Redis traffic
Terminate EC2 Redis
3. Sync Data
Start replication process
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Takeaways
Fully managed & hardened
Secure & compliant
AWS manages hardware, software, setup, configuration,
monitoring, failure recovery, and backups
VPC for cluster isolation, encryption at rest/transit,
HIPAA compliance
Highly available & Reliable
Read replicas, multiple primaries, multi-AZ with
automatic failover
Easily scalable
Cluster with up to 6.1 TiB of in-memory data
Read scaling with replicas
Write and memory scaling with sharding
Scale out or in
Key-Value store
Fast in-memory data store in the cloud. Use as a database, cache,
message broker, queue
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Julie Trias
julie.trias@airbnb.com
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

Kinesis와 Lambda를 이용한 비용 효율적인 센서 데이터 처리 - 주민규 (부산 모임) :: AWS Community Day 2017
Kinesis와 Lambda를 이용한 비용 효율적인 센서 데이터 처리 - 주민규 (부산 모임) :: AWS Community Day 2017Kinesis와 Lambda를 이용한 비용 효율적인 센서 데이터 처리 - 주민규 (부산 모임) :: AWS Community Day 2017
Kinesis와 Lambda를 이용한 비용 효율적인 센서 데이터 처리 - 주민규 (부산 모임) :: AWS Community Day 2017AWSKRUG - AWS한국사용자모임
 
AWS 신규 데이터 분석 서비스 - QuickSight, Kinesis Firehose 등 (양승도) :: re:Invent re:Cap ...
AWS 신규 데이터 분석 서비스 - QuickSight, Kinesis Firehose 등 (양승도) :: re:Invent re:Cap ...AWS 신규 데이터 분석 서비스 - QuickSight, Kinesis Firehose 등 (양승도) :: re:Invent re:Cap ...
AWS 신규 데이터 분석 서비스 - QuickSight, Kinesis Firehose 등 (양승도) :: re:Invent re:Cap ...Amazon Web Services Korea
 
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon Web Services Korea
 
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019Amazon Web Services Korea
 
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...Amazon Web Services
 
Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) - AWS re:...
Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) - AWS re:...Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) - AWS re:...
Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) - AWS re:...Amazon Web Services
 
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018Amazon Web Services
 
[NEW LAUNCH!] Introducing Amazon Managed Streaming for Kafka (Amazon MSK) (AN...
[NEW LAUNCH!] Introducing Amazon Managed Streaming for Kafka (Amazon MSK) (AN...[NEW LAUNCH!] Introducing Amazon Managed Streaming for Kafka (Amazon MSK) (AN...
[NEW LAUNCH!] Introducing Amazon Managed Streaming for Kafka (Amazon MSK) (AN...Amazon Web Services
 
Getting Started with Amazon ElastiCache
Getting Started with Amazon ElastiCacheGetting Started with Amazon ElastiCache
Getting Started with Amazon ElastiCacheAmazon Web Services
 
Migrating Databases to the Cloud with AWS Database Migration Service (DAT207)...
Migrating Databases to the Cloud with AWS Database Migration Service (DAT207)...Migrating Databases to the Cloud with AWS Database Migration Service (DAT207)...
Migrating Databases to the Cloud with AWS Database Migration Service (DAT207)...Amazon Web Services
 
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...Amazon Web Services Korea
 
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)Amazon Web Services Korea
 
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Web Services Korea
 
A deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
A deep dive into Amazon MSK - ADB206 - Chicago AWS SummitA deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
A deep dive into Amazon MSK - ADB206 - Chicago AWS SummitAmazon Web Services
 
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...Amazon Web Services
 

What's hot (20)

Kinesis와 Lambda를 이용한 비용 효율적인 센서 데이터 처리 - 주민규 (부산 모임) :: AWS Community Day 2017
Kinesis와 Lambda를 이용한 비용 효율적인 센서 데이터 처리 - 주민규 (부산 모임) :: AWS Community Day 2017Kinesis와 Lambda를 이용한 비용 효율적인 센서 데이터 처리 - 주민규 (부산 모임) :: AWS Community Day 2017
Kinesis와 Lambda를 이용한 비용 효율적인 센서 데이터 처리 - 주민규 (부산 모임) :: AWS Community Day 2017
 
AWS 신규 데이터 분석 서비스 - QuickSight, Kinesis Firehose 등 (양승도) :: re:Invent re:Cap ...
AWS 신규 데이터 분석 서비스 - QuickSight, Kinesis Firehose 등 (양승도) :: re:Invent re:Cap ...AWS 신규 데이터 분석 서비스 - QuickSight, Kinesis Firehose 등 (양승도) :: re:Invent re:Cap ...
AWS 신규 데이터 분석 서비스 - QuickSight, Kinesis Firehose 등 (양승도) :: re:Invent re:Cap ...
 
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
 
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019
 
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
Migrate from Oracle to Aurora PostgreSQL: Best Practices, Design Patterns, & ...
 
Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) - AWS re:...
Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) - AWS re:...Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) - AWS re:...
Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) - AWS re:...
 
Deep Dive on Amazon Aurora
Deep Dive on Amazon AuroraDeep Dive on Amazon Aurora
Deep Dive on Amazon Aurora
 
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018
A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1) - AWS re:Invent 2018
 
[NEW LAUNCH!] Introducing Amazon Managed Streaming for Kafka (Amazon MSK) (AN...
[NEW LAUNCH!] Introducing Amazon Managed Streaming for Kafka (Amazon MSK) (AN...[NEW LAUNCH!] Introducing Amazon Managed Streaming for Kafka (Amazon MSK) (AN...
[NEW LAUNCH!] Introducing Amazon Managed Streaming for Kafka (Amazon MSK) (AN...
 
Introduction to Amazon DynamoDB
Introduction to Amazon DynamoDBIntroduction to Amazon DynamoDB
Introduction to Amazon DynamoDB
 
Amazon ElastiCache and Redis
Amazon ElastiCache and RedisAmazon ElastiCache and Redis
Amazon ElastiCache and Redis
 
Getting Started with Amazon ElastiCache
Getting Started with Amazon ElastiCacheGetting Started with Amazon ElastiCache
Getting Started with Amazon ElastiCache
 
Migrating Databases to the Cloud with AWS Database Migration Service (DAT207)...
Migrating Databases to the Cloud with AWS Database Migration Service (DAT207)...Migrating Databases to the Cloud with AWS Database Migration Service (DAT207)...
Migrating Databases to the Cloud with AWS Database Migration Service (DAT207)...
 
ElastiCache & Redis
ElastiCache & RedisElastiCache & Redis
ElastiCache & Redis
 
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
대용량 데이터레이크 마이그레이션 사례 공유 [카카오게임즈 - 레벨 200] - 조은희, 팀장, 카카오게임즈 ::: Games on AWS ...
 
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
 
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
 
Deep Dive on Amazon Aurora
Deep Dive on Amazon AuroraDeep Dive on Amazon Aurora
Deep Dive on Amazon Aurora
 
A deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
A deep dive into Amazon MSK - ADB206 - Chicago AWS SummitA deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
A deep dive into Amazon MSK - ADB206 - Chicago AWS Summit
 
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
Hands-on SaaS: Constructing a Multi-Tenant Solution on AWS (ARC327-R1) - AWS ...
 

Similar to Airbnb's Journey from Self-Managed Redis to ElastiCache for Redis (DAT319) - AWS re:Invent 2018

Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...Amazon Web Services
 
Five New Security Automations Using AWS Security Services & Open Source (SEC4...
Five New Security Automations Using AWS Security Services & Open Source (SEC4...Five New Security Automations Using AWS Security Services & Open Source (SEC4...
Five New Security Automations Using AWS Security Services & Open Source (SEC4...Amazon Web Services
 
Serverless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best PracticesServerless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best PracticesAmazon Web Services
 
Resiliency and Availability Design Patterns for the Cloud
Resiliency and Availability Design Patterns for the CloudResiliency and Availability Design Patterns for the Cloud
Resiliency and Availability Design Patterns for the CloudAmazon Web Services
 
AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...
AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...
AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...Amazon Web Services
 
Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...
Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...
Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...Amazon Web Services
 
Module 5 - AWSome Day Online Conference 2018
Module 5 - AWSome Day Online Conference 2018Module 5 - AWSome Day Online Conference 2018
Module 5 - AWSome Day Online Conference 2018Amazon Web Services
 
Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...
Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...
Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...Amazon Web Services
 
More Containers Less Operations
More Containers Less OperationsMore Containers Less Operations
More Containers Less OperationsDonnie Prakoso
 
Introduction to Serverless on AWS - Builders Day Jerusalem
Introduction to Serverless on AWS - Builders Day JerusalemIntroduction to Serverless on AWS - Builders Day Jerusalem
Introduction to Serverless on AWS - Builders Day JerusalemAmazon Web Services
 
Wildrydes Serverless Workshop Tel Aviv
Wildrydes Serverless Workshop Tel AvivWildrydes Serverless Workshop Tel Aviv
Wildrydes Serverless Workshop Tel AvivBoaz Ziniman
 
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...Amazon Web Services
 
AWSome Day MODULE 5 - Autoscaling and Next Steps
AWSome Day MODULE 5 - Autoscaling and Next StepsAWSome Day MODULE 5 - Autoscaling and Next Steps
AWSome Day MODULE 5 - Autoscaling and Next StepsAmazon Web Services
 
Next-Generation e-Commerce Architectures (RET207) - AWS re:Invent 2018
Next-Generation e-Commerce Architectures (RET207) - AWS re:Invent 2018Next-Generation e-Commerce Architectures (RET207) - AWS re:Invent 2018
Next-Generation e-Commerce Architectures (RET207) - AWS re:Invent 2018Amazon Web Services
 
Scaling up to and beyond 10M users
Scaling up to and beyond 10M usersScaling up to and beyond 10M users
Scaling up to and beyond 10M usersAmazon Web Services
 
Come scalare da zero ai tuoi primi 10 milioni di utenti.pdf
Come scalare da zero ai tuoi primi 10 milioni di utenti.pdfCome scalare da zero ai tuoi primi 10 milioni di utenti.pdf
Come scalare da zero ai tuoi primi 10 milioni di utenti.pdfAmazon Web Services
 
Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018
Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018
Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018Amazon Web Services
 
Using AMS to get FSI Regulated Workloads on the Cloud, Fast - AWS Summit Sydn...
Using AMS to get FSI Regulated Workloads on the Cloud, Fast - AWS Summit Sydn...Using AMS to get FSI Regulated Workloads on the Cloud, Fast - AWS Summit Sydn...
Using AMS to get FSI Regulated Workloads on the Cloud, Fast - AWS Summit Sydn...Amazon Web Services
 

Similar to Airbnb's Journey from Self-Managed Redis to ElastiCache for Redis (DAT319) - AWS re:Invent 2018 (20)

Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
 
Five New Security Automations Using AWS Security Services & Open Source (SEC4...
Five New Security Automations Using AWS Security Services & Open Source (SEC4...Five New Security Automations Using AWS Security Services & Open Source (SEC4...
Five New Security Automations Using AWS Security Services & Open Source (SEC4...
 
Serverless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best PracticesServerless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best Practices
 
Resiliency and Availability Design Patterns for the Cloud
Resiliency and Availability Design Patterns for the CloudResiliency and Availability Design Patterns for the Cloud
Resiliency and Availability Design Patterns for the Cloud
 
AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...
AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...
AWS IoT for Frictionless Consumer Experiences in Retail (RET201) - AWS re:Inv...
 
Serverless for Developers
Serverless for DevelopersServerless for Developers
Serverless for Developers
 
Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...
Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...
Reliable & Scalable Redis in the Cloud with Amazon ElastiCache (DAT202) - AWS...
 
Module 5 - AWSome Day Online Conference 2018
Module 5 - AWSome Day Online Conference 2018Module 5 - AWSome Day Online Conference 2018
Module 5 - AWSome Day Online Conference 2018
 
Microservices for Startups
Microservices for StartupsMicroservices for Startups
Microservices for Startups
 
Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...
Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...
Making Hybrid Work for You: Getting into the Cloud Fast (GPSTEC308) - AWS re:...
 
More Containers Less Operations
More Containers Less OperationsMore Containers Less Operations
More Containers Less Operations
 
Introduction to Serverless on AWS - Builders Day Jerusalem
Introduction to Serverless on AWS - Builders Day JerusalemIntroduction to Serverless on AWS - Builders Day Jerusalem
Introduction to Serverless on AWS - Builders Day Jerusalem
 
Wildrydes Serverless Workshop Tel Aviv
Wildrydes Serverless Workshop Tel AvivWildrydes Serverless Workshop Tel Aviv
Wildrydes Serverless Workshop Tel Aviv
 
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
Operational Excellence with Containerized Workloads Using AWS Fargate (CON320...
 
AWSome Day MODULE 5 - Autoscaling and Next Steps
AWSome Day MODULE 5 - Autoscaling and Next StepsAWSome Day MODULE 5 - Autoscaling and Next Steps
AWSome Day MODULE 5 - Autoscaling and Next Steps
 
Next-Generation e-Commerce Architectures (RET207) - AWS re:Invent 2018
Next-Generation e-Commerce Architectures (RET207) - AWS re:Invent 2018Next-Generation e-Commerce Architectures (RET207) - AWS re:Invent 2018
Next-Generation e-Commerce Architectures (RET207) - AWS re:Invent 2018
 
Scaling up to and beyond 10M users
Scaling up to and beyond 10M usersScaling up to and beyond 10M users
Scaling up to and beyond 10M users
 
Come scalare da zero ai tuoi primi 10 milioni di utenti.pdf
Come scalare da zero ai tuoi primi 10 milioni di utenti.pdfCome scalare da zero ai tuoi primi 10 milioni di utenti.pdf
Come scalare da zero ai tuoi primi 10 milioni di utenti.pdf
 
Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018
Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018
Scaling Up to Your First 10 Million Users (ARC205-R1) - AWS re:Invent 2018
 
Using AMS to get FSI Regulated Workloads on the Cloud, Fast - AWS Summit Sydn...
Using AMS to get FSI Regulated Workloads on the Cloud, Fast - AWS Summit Sydn...Using AMS to get FSI Regulated Workloads on the Cloud, Fast - AWS Summit Sydn...
Using AMS to get FSI Regulated Workloads on the Cloud, Fast - AWS Summit Sydn...
 

More from Amazon Web Services

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...Amazon Web Services
 
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...Amazon Web Services
 
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 FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
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 Amazon Web Services
 
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...Amazon Web Services
 
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...Amazon Web Services
 
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 WorkloadsAmazon Web Services
 
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 sfatareAmazon Web Services
 
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 NodeJSAmazon Web Services
 
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 webAmazon Web Services
 
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 sfatareAmazon 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 AWSAmazon 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 DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon 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
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from 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
 

Airbnb's Journey from Self-Managed Redis to ElastiCache for Redis (DAT319) - AWS re:Invent 2018

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Airbnb’s Journey from Self-Managed Redis to ElastiCache for Redis Julie Trias Site Reliability Airbnb/Production Platform D A T 3 1 9
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda About Airbnb Redis at Airbnb Why ElastiCache Migration requirements Migration procedure Recap & take aways
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. About Airbnb
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. What is Airbnb? • Founded in 2008 • Airbed and breakfast
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Mission To create a world where people can belong through healthy travel that is local, authentic, diverse, inclusive, and sustainable.
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Homes 5+ million Countries 81,000 Cities 191 Unique homes
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Experiences 15,000+ 1,000+ MarketsUnique activities
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Data stored 104 PB Redis 940 TB Aurora 237 TB S3
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. History of Redis at Airbnb
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Redis stats Pre-migration 146 ElastiCache Redis clusters Post-migration 113 ElastiCache Redis clusters Today 82 EC2 Redis clusters
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Use cases Verification & fraud detection Payments Host and guest identity Booking payments and host payments Feeds Homes and experiences feed Messaging Authentication User login sessions Airbnb app messaging service, as well as email and SMS notifications
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. SmartStack Redis Pros • Simple design • Multi-AZ
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. SmartStack Redis Cons • Operational overhead • Manual failover • No support for sharding • No encryption support
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. HARedis Pros • Auto failover • Multi-AZ
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. HARedis Cons • More operational overhead • No support for sharding • No encryption support • Many restricted commands
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Why ElastiCache?
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Current approaches don’t work Doesn’t scale Difficult to manage Poor experience Expensive
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. ElastiCache Redis Fully managed & hardened Secure & compliant AWS manages hardware, software, setup, configuration, monitoring, failure recovery, and backups VPC for cluster isolation, encryption at rest/transit, HIPAA compliance Highly available & reliable Read replicas, multiple primaries, multi-AZ with automatic failover Easily scalable Cluster with up to 6.1 TiB of in-memory data Read scaling with replicas Write and memory scaling with sharding Scale out or in Key-Value store Fast in-memory data store in the cloud. Use as a database, cache, message broker, queue
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Migration requirements
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Redis migration requirements No cold startsZero downtime No data loss No service interruption Data migration Dual-writes
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Migration procedure
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. High-level migration procedure 2. Deploy ElastiCache Redis cluster Provision new cluster 4. Failover Perform the switch 5. Cleanup 1. Stage the application Prepare to redirect Redis traffic Terminate EC2 Redis 3. Sync data Start replication process
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Stage the application Be ready to push an update to production that will redirect Redis traffic to ElastiCache
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. New ElastiCache Redis cluster • Single node cluster • Multi-AZ failover disabled • Allow traffic from EC2 Redis and application
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. ElastiCache Redis module "payments" { source = "../module" replication_group_id = “payments" replication_group_description = ”Payments service." node_type = "cache.r4.xlarge" replica_count = 0 auto_failover_enabled = false }
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Sync data • Amazon ElastiCache team enables slaveof command • Add the ElastiCache cluster as a replica in the EC2 Redis cluster
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Sync data EC2-Redis-Primary:~ julie_trias$ $ redis-cli -h private_ip_of_ElastiCache_RG slaveof private_ip_of_EC2_Redis port_of_EC2_Redis
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Failover Disable alerts Block traffic Allow sync to finish Block traffic to EC2 Redis
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Failover Update the application configuration to point to the new ElastiCache Redis endpoint
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Failover EC2-Redis-Primary:~ julie_trias$ sudo service nerve stop EC2-Redis-Primary:~ julie_trias$ redis-cli –p 5020 info replication # Replication role:master connected_replicas:2 replica0:ip=10.0.1.109,port=6379,state=online,offset=760825652934,lag=0 replica1:ip=10.0.5.27,port=6379,state=online,offset=760825652934,lag=0
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Failover Update the application configuration to point to the new ElastiCache Redis endpoint
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Failover Update the application configuration to point to the new ElastiCache Redis endpoint
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. ElastiCache Redis EC2-Redis-Primary:~ julie_trias$ redis-cli –h <replication_group_id>.dx6mdd.ng.0001.use1.cache.amazonaws.com slaveof no one
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Failover Promote Add replica Enable multi- AZ failover
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. ElastiCache Redis module "payments" { source = "../module" replication_group_id = “payments" replication_group_description = ”Payments service." node_type = "cache.r4.xlarge" replica_count = 0 auto_failover_enabled = false }
  • 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. ElastiCache Redis module "payments" { source = "../module" replication_group_id = “payments" replication_group_description = ”Payments service." node_type = "cache.r4.xlarge" auto_failover_enabled = false }
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. ElastiCache Redis module "payments" { source = "../module" replication_group_id = “payments" replication_group_description = ”Payments service." node_type = "cache.r4.xlarge" }
  • 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Failover A fully-configured and loaded Redis
  • 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Cleanup • Terminate EC2 Redis cluster instances • Terminate proxy instances • Delete Redis and proxy configurations everywhere
  • 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Recap & takeaways
  • 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Recap 2. Deploy ElastiCache Redis cluster Provision new cluster 4. Failover Perform the switch 5. Cleanup 1. Stage the application Prepare to redirect Redis traffic Terminate EC2 Redis 3. Sync Data Start replication process
  • 43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Takeaways Fully managed & hardened Secure & compliant AWS manages hardware, software, setup, configuration, monitoring, failure recovery, and backups VPC for cluster isolation, encryption at rest/transit, HIPAA compliance Highly available & Reliable Read replicas, multiple primaries, multi-AZ with automatic failover Easily scalable Cluster with up to 6.1 TiB of in-memory data Read scaling with replicas Write and memory scaling with sharding Scale out or in Key-Value store Fast in-memory data store in the cloud. Use as a database, cache, message broker, queue
  • 44. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Julie Trias julie.trias@airbnb.com
  • 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.