SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Building real-time applications with
Amazon ElastiCache
Madelyn Olson
Software development engineer
AWS
A D B 2 0 4
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Real-time apps need low latency and high throughput
Users: 1 million+
Data volume: TB
Locality: Global
Performance: Microseconds
Request rate: Millions
Access: Mobile,
Internet of Things (IoT),
Microservices
Scale: Up-out-in
Economics: Pay as you go
Developer access: Open APIs
Social mediaRide hailing Media streaming Social mediaRide hailing Media streaming Gaming
leaderboards
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Redis and Memcached—Top two in-memory data store*
* https://db-engines.com/en/ranking, https://insights.stackoverflow.com/survey/2018/
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
About Redis
Simple
• Commands
• Client support
Fast
• In-memory
• <1ms
Powerful
• Various data types
• Atomic operations
• LRU/LFU/TTL
Scalable
• High availability
• Backups
• Cluster
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
About Memcached
Multi-threaded
• Easy to scale
Fast
• In-memory
• < 1ms
Established
• Launched in 2003
Simple
• LRU cache
• Key-value
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Difficult
to scale
Difficult
to manage and
secure
Hard to make
highly available
Self-managing Redis and Memcached is challenging
Expensive
Online scaling can be error
prone, replication
performance needs to be
monitored
Manage hardware provisioning,
setup, configuration, backups, and
compliance (security, encryption,
patching)
Invest in people,
processes, hardware,
and software
Need to implement fast
error detection and
remediation
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
ElastiCache for Redis and Memcached
Fully-managed, open-sourcecompatible, in-memorydata storein the cloud
Extreme performance
In-memory data store and cache for
sub-millisecond response times
Platform tuning and optimization
(e.g., R5/M5)
Fully managed
AWS manages all hardware and software
setup, configuration, monitoring
Easily scalable
Read scaling with replicas
Write and memory scaling with sharding
(up to 250 nodes/170 TB of data)
OSS-compatible
Redis 5 support
Memcached 1.5 support
Client compatible
Reliable
Multi-AZ
Deep monitoring
Automatic failover
Secure and compliant
Amazon Virtual Private Cloud
HIPAA, PCI, FedRAMP
Encryption at-rest and in-transit
Authentication
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
When to use which ElastiCache databases
ElastiCache Redis (Default) ElastiCache Memcached
Primary use case In-memory database and cache Cache
Data model In-memory key-value In-memory key-value
Open source compatibility Redis Memcached
Cache databases compatibility All databases All databases
Cache size 155.17 TiB 12.7 TiB
Data structures
Strings, lists, sets, sorted sets, hashes, bit arrays,
HyperLogLog
Strings, objects
Commands 200+ Get, set, stats, add, replace, flush all
High availability and failover Yes No
Eviction policies
Advanced eviction policies
no eviction, allkeys-lru, volatile-lru, allkeys-random,
volatile-random, volatile-ttl
Least recently used (LRU)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Grab is Southeast Asia’s
largest ride-hailing
service with 45 million
downloads and 2.5
million daily rides
Challenge: Average response
time of the API layer is < 40 ms
Solution: ElastiCache for Redis
as a caching layer on Amazon
Relational Database Service
(Amazon RDS) for MySQL
provides sub-millisecond
latency even in times of peak
traffic of hundreds of thousands
of cab requests per minute
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Use cases
Gaming
leaderboards
Chat apps
Caching
Session
store
Machine
learning
Real-time
analytics
Media
streaming
Message
queues
Geospatial
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Challenge: Retrieving data from disk-
based databases and applications is
slow. Workarounds such as specialized
hardware, proprietary in-memory
databases, and data reduction are
expensive, have high lock-in, don’t
scale, and are difficult to manage.
Solution: Use Redis, an open source,
in-memory data store and cache, to
store frequently used data in-memory
for microsecond latency and high
throughput.
Use cases: Database query caching,
persistent session caching, and full
web-page caching.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Clients
Cache
reads/writes
DB
reads/writes
✓ Better performance – Microsecond speed
✓ Cost effective
✓ Higher throughput – ~50 million RPS
Caching
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Monitoring
CacheMisses/CacheHits:
Successful retrievals
Reclaimed: Number of keys that
have expired
Evictions: Keys removed due to
memory limits
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Challenge: Need low-latency and high-
concurrency data stores to process fast-
moving ephemeral session data such as
authentication tokens, cookies, and
session state.
Solution: Use Redis as an in-memory
key-value store and cache with
appropriate key expiration strategies to
store and manage ephemeral session
data for microsecond responses.
Apps: Web and mobile apps.
Session store
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Challenge: Leaderboards need low-
latency and high-concurrency data
stores to process changing scores and
update ranks in real-time.
Solution: Use Redis as an in-memory
data store with data structures such as
sorted sets and ranked lists that ensure
uniqueness of elements while
maintaining lists sorted by scores with
microsecond latency.
Apps: Gaming leaderboards, sales
leaderboards.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Redis data type—Sorted sets
• A set of unique items that all have a corresponding score
• Similar to an index
• Fast lookup and ranges based on the score
• Based on a probabilistic skip list with set
• Primitive add and remove with: ZADD and ZREM
• Scanning and searching with: ZRANGE and ZRANGEBYSCORE
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Leaderboard example—Sorted set
Populating a leaderboard
> zadd leaderboard 556 Andy
> zadd leaderboard 819 Barry
> zadd leaderboard 105 Carl
> zadd leaderboard 1312 Derek
Updating a leaderboard
> zadd leaderboard 1502 Carl
> zrevrange leaderboard 0 -1
1) "Carl"
2) "Derek"
3) "Barry"
4) "Andy"
Querying a leaderboard
> zrevrange leaderboard 0 -1
1) "Derek"
2) "Barry"
3) "Andy"
4) "Carl"
> zrevrank leaderboard Barry
1
Score
Name
Start
index
End
index
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Challenge: Need a fast data store to
process fast-moving streaming data in
real-time.
Solution: Use Redis as an in-memory
data store with versatile data structures
such as streams, lists, and sets to
ingest, process, and analyze real-time
data with sub-millisecond latency.
Apps: Social media, ad targeting,
personalization, IoT, and time-series
data analytics.
Real-time streaming and analytics store
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Streaming data access
Hot data
Longer
retention
Data sources
1
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Native streaming data type—Redis streams
New data type (Redis 5.0)
Push and pop values like list; supports lookup by ID
Implemented with Rax
A Radix library tree optimized for fast lookups and
range queries
Consumer groups
Multiple producers and consumers can interact
with the same queue
Start
End
Consumer 1
Consumer 2
Consumer A
Consumer B
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Redis streams example
> XADD locstream * device1 123456 latitude 48.858372 longitude 2.294481
1549057272661-0
> XREAD STREAMS locstream 0
1) 1) "locstream"
2) 1) 1) 1549057272661-0
2) ...
> XREAD STREAMS locstream 1549057272661-0
(nil)
Autogenerate ID Properties
Last ID processed
Same ID
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Challenge: Chat and messaging apps
require a low-latency and high-
throughput communication channel
over which a client can send messages
that are redistributed to other
participants.
Solution: Use Redis as an in-memory
store and cache with Redis Streams and
pub/sub features to build high-
performance chat and messaging apps.
Apps: Chat rooms, comment streams,
machine-to-machine communication.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Redis pub/sub
• Messages are categorized into channels
• Subscribers can subscribe to multiple patterns or channels
• Publishers publish to a given channel
• Messages are not stored anywhere
• Clients must be connected to receive
• Two main commands: PUBLISH and SUBSCRIBE
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Chat and messaging example—Pub/sub
> psubscribe sports:*
Reading messages...
1) "psubscribe"
2) "sports:*"
3) (integer) 1
> publish sports:patriots "Goooo team!"
(integer) 1
1) "pmessage"
2) "sports:*"
3) "sports:patriots"
4) "Goooo team!"
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Challenge: Need low-latency and
high-concurrency data stores to process
fast-moving location data in real-time.
Solution: Use Redis as an in-memory
data store with purpose-built data
structures such as sorted sets,
encoding/decoding of location data,
and APIs for location-specific indexing,
searching, and sorting.
Apps: Ride-hailing, dating, social
media, gaming, e-commerce.
Geospatial apps
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Geospatial enrichment
Frontend
application
Restaurant
geospatial
data
Friend
relationship
graph
Query friend
recommendations
Query
nearby
recommended
restaurants
Query nearby
restaurants
> GEORADIUS restaurants 47.6062 122.3321 10 mi
1) "Starbucks"
2) "McDonalds"
3) "The Best Burger Place"
Lat/Long
Distance
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Peloton is the leading
in-home fitness
company
Challenge: Leaderboard
requires elasticity, low latency,
and real-time processing to
deliver customizable rider data
for thousands of users riding
together from the comfort of
their homes.
Solution: ElastiCache for Redis
as an in-memory data store
provides scale and performance
to process streaming data for
on-demand, live leaderboard.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Expedia is a leader in
the $1 trillion travel
industry, with an
extensive portfolio of
brands
Challenge: Need in-memory
data store and cache for real-
time analytics application that
processes ~200 million
messages daily.
Solution: ElastiCache for Redis
as an in-memory data store and
cache to speed up data ingest
and analytics.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Challenge: Large surge event for a new feature
launch on Fortnite required scaling Redis clusters.
Solution: ElastiCache for Redis with online
cluster resizing to dynamically scale out and scale
in. Migrated to optimized R5 instances for higher
throughput, superior performance, and managing
traffic spikes.
Epic Games—ElastiCache to manage surge events
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Challenge:
Scale the business to the next level with three times data
growth every year and petabytes of data stored. Need to quickly
process and analyze 50 GB of data daily.
Solution:
Airbnb adopted purpose-built databases for different needs.
Session state: ElastiCache for in-memory store for
sub-millisecond session access.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Software and Internet Financial Ser vicesRide-Hailing Gaming
Media and Entertainment Social Media Telecommunications Travel
Industrials and Ser vices Logistics and Operations Publishing Other
ElastiCache customers
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Redis page
aws.amazon.com/redis
ElastiCache for Redis page
aws.amazon.com/elasticache/redis
ElastiCache for Memcached page
https://aws.amazon.com/elasticache/memcached/
Contact us
aws.amazon.com/contact-us/
Get started
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Thank you!
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Madelyn Olson
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
1) Install php, apache php redis client
(e.g., yum install php apache php-pecl-redis)
2) Configure “php.ini”
session.save_handler = rediscluster
session.save_path = "
seed[]=cluster-discovery-endpoint:6379&
timeout=2&
read_timeout=2&
failover=error&
persistent=1"
3) Restart httpd
4) Begin using session data
For situations where you need an
external session store:
• Especially needed when using ASGs
• Cache is optimal for high-volume reads
PHP Example
Session Store Details
Auto scaling Instances
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Example Caching Application
# App code
save_user(17, {"name": “John Doe"})
user = get_user(17)
# Write Through
def save_user(user_id, values):
record = db.query("update users ... where id = ?", user_id, values)
cache.set(user_id, record, 300) # TTL
return record
# Lazy Load
def get_user(user_id):
record = cache.get(user_id)
if record is None:
record = db.query("select * from users where id = ?", user_id)
cache.set(user_id, record, 300) # TTL
return record
Write through
1. Updated DB
2. SET in cache
Lazy load
1. GET from cache.
2. If MISS get from DB
3. Then SET in cache

Mais conteúdo relacionado

Mais procurados

한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...
한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...
한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...Amazon Web Services Korea
 
AWS Multi-Account Architecture and Best Practices
AWS Multi-Account Architecture and Best PracticesAWS Multi-Account Architecture and Best Practices
AWS Multi-Account Architecture and Best PracticesAmazon Web Services
 
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...Amazon Web Services Korea
 
Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...
Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...
Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...Amazon Web Services
 
Deep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceDeep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceAmazon Web Services
 
AWS Application Discovery Service
AWS Application Discovery ServiceAWS Application Discovery Service
AWS Application Discovery ServiceAmazon Web Services
 
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)Amazon Web Services Korea
 
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나Amazon Web Services Korea
 
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Web Services Korea
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon Web Services Korea
 
AWS Summit Seoul 2023 | 다중 계정 및 하이브리드 환경에서 안전한 IAM 체계 만들기
AWS Summit Seoul 2023 | 다중 계정 및 하이브리드 환경에서 안전한 IAM 체계 만들기AWS Summit Seoul 2023 | 다중 계정 및 하이브리드 환경에서 안전한 IAM 체계 만들기
AWS Summit Seoul 2023 | 다중 계정 및 하이브리드 환경에서 안전한 IAM 체계 만들기Amazon Web Services Korea
 
Cloud Adoption Framework Define Your Cloud Strategy and Accelerate Results
Cloud Adoption Framework Define Your Cloud Strategy and Accelerate Results Cloud Adoption Framework Define Your Cloud Strategy and Accelerate Results
Cloud Adoption Framework Define Your Cloud Strategy and Accelerate Results Amazon Web Services
 
AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기
AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기
AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기Amazon Web Services Korea
 
Introductory Overview to Managing AWS with Terraform
Introductory Overview to Managing AWS with TerraformIntroductory Overview to Managing AWS with Terraform
Introductory Overview to Managing AWS with TerraformMichael Heyns
 
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingCloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingAmazon Web Services Korea
 
Kubernetes on AWS with Amazon EKS
Kubernetes on AWS with Amazon EKSKubernetes on AWS with Amazon EKS
Kubernetes on AWS with Amazon EKSAmazon Web Services
 

Mais procurados (20)

Fundamentals of AWS Security
Fundamentals of AWS SecurityFundamentals of AWS Security
Fundamentals of AWS Security
 
한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...
한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...
한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...
 
AWS Multi-Account Architecture and Best Practices
AWS Multi-Account Architecture and Best PracticesAWS Multi-Account Architecture and Best Practices
AWS Multi-Account Architecture and Best Practices
 
Security Architectures on AWS
Security Architectures on AWSSecurity Architectures on AWS
Security Architectures on AWS
 
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
 
Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...
Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...
Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...
 
Deep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line InterfaceDeep Dive: AWS Command Line Interface
Deep Dive: AWS Command Line Interface
 
AWS Application Discovery Service
AWS Application Discovery ServiceAWS Application Discovery Service
AWS Application Discovery Service
 
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS Batch를 통한 손쉬운 일괄 처리 작업 관리하기 - 윤석찬 (AWS 테크에반젤리스트)
 
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
AWS Single Sign-On (SSO) 서비스 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
 
SMS-and-CloudEndure-Module4
SMS-and-CloudEndure-Module4SMS-and-CloudEndure-Module4
SMS-and-CloudEndure-Module4
 
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...
 
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...
 
AWS Summit Seoul 2023 | 다중 계정 및 하이브리드 환경에서 안전한 IAM 체계 만들기
AWS Summit Seoul 2023 | 다중 계정 및 하이브리드 환경에서 안전한 IAM 체계 만들기AWS Summit Seoul 2023 | 다중 계정 및 하이브리드 환경에서 안전한 IAM 체계 만들기
AWS Summit Seoul 2023 | 다중 계정 및 하이브리드 환경에서 안전한 IAM 체계 만들기
 
Cloud Adoption Framework Define Your Cloud Strategy and Accelerate Results
Cloud Adoption Framework Define Your Cloud Strategy and Accelerate Results Cloud Adoption Framework Define Your Cloud Strategy and Accelerate Results
Cloud Adoption Framework Define Your Cloud Strategy and Accelerate Results
 
Amazon EBS: Deep Dive
Amazon EBS: Deep DiveAmazon EBS: Deep Dive
Amazon EBS: Deep Dive
 
AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기
AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기
AWS Summit Seoul 2023 | AWS에서 OpenTelemetry 기반의 애플리케이션 Observability 구축/활용하기
 
Introductory Overview to Managing AWS with Terraform
Introductory Overview to Managing AWS with TerraformIntroductory Overview to Managing AWS with Terraform
Introductory Overview to Managing AWS with Terraform
 
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 GamingCloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
CloudWatch 성능 모니터링과 신속한 대응을 위한 노하우 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
 
Kubernetes on AWS with Amazon EKS
Kubernetes on AWS with Amazon EKSKubernetes on AWS with Amazon EKS
Kubernetes on AWS with Amazon EKS
 

Semelhante a Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AWS Summit

How to Choose The Right Database on AWS - Berlin Summit - 2019
How to Choose The Right Database on AWS - Berlin Summit - 2019How to Choose The Right Database on AWS - Berlin Summit - 2019
How to Choose The Right Database on AWS - Berlin Summit - 2019Randall Hunt
 
How to choose the right database for your workload
How to choose the right database for your workloadHow to choose the right database for your workload
How to choose the right database for your workloadAmazon Web Services
 
ElastiCache and Redis - Samir Karande
ElastiCache and Redis - Samir KarandeElastiCache and Redis - Samir Karande
ElastiCache and Redis - Samir KarandeAmazon Web Services
 
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech TalksElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech TalksAmazon Web Services
 
ElastiCache & Redis: Database Week San Francisco
ElastiCache & Redis: Database Week San FranciscoElastiCache & Redis: Database Week San Francisco
ElastiCache & Redis: Database Week San FranciscoAmazon Web Services
 
Using AWS Purpose-Built Databases to Modernize your Applications
Using AWS Purpose-Built Databases to Modernize your ApplicationsUsing AWS Purpose-Built Databases to Modernize your Applications
Using AWS Purpose-Built Databases to Modernize your ApplicationsAmazon Web Services
 
ElastiCache & Redis: Database Week SF
ElastiCache & Redis: Database Week SFElastiCache & Redis: Database Week SF
ElastiCache & Redis: Database Week SFAmazon Web Services
 
All Databases Are Equal, But Some Databases Are More Equal than Others: How t...
All Databases Are Equal, But Some Databases Are More Equal than Others: How t...All Databases Are Equal, But Some Databases Are More Equal than Others: How t...
All Databases Are Equal, But Some Databases Are More Equal than Others: How t...javier ramirez
 
Databases - Choosing the right Database on AWS
Databases - Choosing the right Database on AWSDatabases - Choosing the right Database on AWS
Databases - Choosing the right Database on AWSAmazon Web Services
 
BDA306 Building a Modern Data Warehouse: Deep Dive on Amazon Redshift
BDA306 Building a Modern Data Warehouse: Deep Dive on Amazon RedshiftBDA306 Building a Modern Data Warehouse: Deep Dive on Amazon Redshift
BDA306 Building a Modern Data Warehouse: Deep Dive on Amazon RedshiftAmazon Web Services
 
Immersion Day - Como simplificar o acesso ao seu ambiente analítico
Immersion Day - Como simplificar o acesso ao seu ambiente analíticoImmersion Day - Como simplificar o acesso ao seu ambiente analítico
Immersion Day - Como simplificar o acesso ao seu ambiente analíticoAmazon Web Services LATAM
 
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
 
ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...
ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...
ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...Amazon Web Services
 
AWS March 2016 Webinar Series - Building Big Data Solutions with Amazon EMR a...
AWS March 2016 Webinar Series - Building Big Data Solutions with Amazon EMR a...AWS March 2016 Webinar Series - Building Big Data Solutions with Amazon EMR a...
AWS March 2016 Webinar Series - Building Big Data Solutions with Amazon EMR a...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
 

Semelhante a Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AWS Summit (20)

How to Choose The Right Database on AWS - Berlin Summit - 2019
How to Choose The Right Database on AWS - Berlin Summit - 2019How to Choose The Right Database on AWS - Berlin Summit - 2019
How to Choose The Right Database on AWS - Berlin Summit - 2019
 
How to choose the right database for your workload
How to choose the right database for your workloadHow to choose the right database for your workload
How to choose the right database for your workload
 
ElastiCache and Redis - Samir Karande
ElastiCache and Redis - Samir KarandeElastiCache and Redis - Samir Karande
ElastiCache and Redis - Samir Karande
 
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech TalksElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
ElastiCache: Deep Dive Best Practices and Usage Patterns - AWS Online Tech Talks
 
ElastiCache & Redis: Database Week San Francisco
ElastiCache & Redis: Database Week San FranciscoElastiCache & Redis: Database Week San Francisco
ElastiCache & Redis: Database Week San Francisco
 
ElastiCache & Redis
ElastiCache & RedisElastiCache & Redis
ElastiCache & Redis
 
Using AWS Purpose-Built Databases to Modernize your Applications
Using AWS Purpose-Built Databases to Modernize your ApplicationsUsing AWS Purpose-Built Databases to Modernize your Applications
Using AWS Purpose-Built Databases to Modernize your Applications
 
ElastiCache & Redis: Database Week SF
ElastiCache & Redis: Database Week SFElastiCache & Redis: Database Week SF
ElastiCache & Redis: Database Week SF
 
All Databases Are Equal, But Some Databases Are More Equal than Others: How t...
All Databases Are Equal, But Some Databases Are More Equal than Others: How t...All Databases Are Equal, But Some Databases Are More Equal than Others: How t...
All Databases Are Equal, But Some Databases Are More Equal than Others: How t...
 
Managed NoSQL databases
Managed NoSQL databasesManaged NoSQL databases
Managed NoSQL databases
 
AWS Database Services @ Scale
AWS Database Services @ ScaleAWS Database Services @ Scale
AWS Database Services @ Scale
 
Databases - Choosing the right Database on AWS
Databases - Choosing the right Database on AWSDatabases - Choosing the right Database on AWS
Databases - Choosing the right Database on AWS
 
BDA306 Building a Modern Data Warehouse: Deep Dive on Amazon Redshift
BDA306 Building a Modern Data Warehouse: Deep Dive on Amazon RedshiftBDA306 Building a Modern Data Warehouse: Deep Dive on Amazon Redshift
BDA306 Building a Modern Data Warehouse: Deep Dive on Amazon Redshift
 
Immersion Day - Como simplificar o acesso ao seu ambiente analítico
Immersion Day - Como simplificar o acesso ao seu ambiente analíticoImmersion Day - Como simplificar o acesso ao seu ambiente analítico
Immersion Day - Como simplificar o acesso ao seu ambiente analítico
 
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
 
ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...
ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...
ElastiCache Deep Dive: Design Patterns for In-Memory Data Stores (DAT302-R1) ...
 
AWS March 2016 Webinar Series - Building Big Data Solutions with Amazon EMR a...
AWS March 2016 Webinar Series - Building Big Data Solutions with Amazon EMR a...AWS March 2016 Webinar Series - Building Big Data Solutions with Amazon EMR a...
AWS March 2016 Webinar Series - Building Big Data Solutions with Amazon EMR a...
 
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...
 
AWS-Quick-Start
AWS-Quick-StartAWS-Quick-Start
AWS-Quick-Start
 
HK-AWS-Quick-Start-Workshop
HK-AWS-Quick-Start-WorkshopHK-AWS-Quick-Start-Workshop
HK-AWS-Quick-Start-Workshop
 

Mais de 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
 
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
 
Come costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWSCome costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWSAmazon Web Services
 

Mais de 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
 
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
 
Come costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWSCome costruire un'architettura Serverless nel Cloud AWS
Come costruire un'architettura Serverless nel Cloud AWS
 

Building real-time applications with Amazon ElastiCache - ADB204 - Anaheim AWS Summit

  • 1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Building real-time applications with Amazon ElastiCache Madelyn Olson Software development engineer AWS A D B 2 0 4
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Real-time apps need low latency and high throughput Users: 1 million+ Data volume: TB Locality: Global Performance: Microseconds Request rate: Millions Access: Mobile, Internet of Things (IoT), Microservices Scale: Up-out-in Economics: Pay as you go Developer access: Open APIs Social mediaRide hailing Media streaming Social mediaRide hailing Media streaming Gaming leaderboards
  • 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Redis and Memcached—Top two in-memory data store* * https://db-engines.com/en/ranking, https://insights.stackoverflow.com/survey/2018/
  • 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T About Redis Simple • Commands • Client support Fast • In-memory • <1ms Powerful • Various data types • Atomic operations • LRU/LFU/TTL Scalable • High availability • Backups • Cluster
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T About Memcached Multi-threaded • Easy to scale Fast • In-memory • < 1ms Established • Launched in 2003 Simple • LRU cache • Key-value
  • 6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Difficult to scale Difficult to manage and secure Hard to make highly available Self-managing Redis and Memcached is challenging Expensive Online scaling can be error prone, replication performance needs to be monitored Manage hardware provisioning, setup, configuration, backups, and compliance (security, encryption, patching) Invest in people, processes, hardware, and software Need to implement fast error detection and remediation
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T ElastiCache for Redis and Memcached Fully-managed, open-sourcecompatible, in-memorydata storein the cloud Extreme performance In-memory data store and cache for sub-millisecond response times Platform tuning and optimization (e.g., R5/M5) Fully managed AWS manages all hardware and software setup, configuration, monitoring Easily scalable Read scaling with replicas Write and memory scaling with sharding (up to 250 nodes/170 TB of data) OSS-compatible Redis 5 support Memcached 1.5 support Client compatible Reliable Multi-AZ Deep monitoring Automatic failover Secure and compliant Amazon Virtual Private Cloud HIPAA, PCI, FedRAMP Encryption at-rest and in-transit Authentication
  • 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T When to use which ElastiCache databases ElastiCache Redis (Default) ElastiCache Memcached Primary use case In-memory database and cache Cache Data model In-memory key-value In-memory key-value Open source compatibility Redis Memcached Cache databases compatibility All databases All databases Cache size 155.17 TiB 12.7 TiB Data structures Strings, lists, sets, sorted sets, hashes, bit arrays, HyperLogLog Strings, objects Commands 200+ Get, set, stats, add, replace, flush all High availability and failover Yes No Eviction policies Advanced eviction policies no eviction, allkeys-lru, volatile-lru, allkeys-random, volatile-random, volatile-ttl Least recently used (LRU)
  • 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Grab is Southeast Asia’s largest ride-hailing service with 45 million downloads and 2.5 million daily rides Challenge: Average response time of the API layer is < 40 ms Solution: ElastiCache for Redis as a caching layer on Amazon Relational Database Service (Amazon RDS) for MySQL provides sub-millisecond latency even in times of peak traffic of hundreds of thousands of cab requests per minute
  • 10. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Use cases Gaming leaderboards Chat apps Caching Session store Machine learning Real-time analytics Media streaming Message queues Geospatial
  • 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Challenge: Retrieving data from disk- based databases and applications is slow. Workarounds such as specialized hardware, proprietary in-memory databases, and data reduction are expensive, have high lock-in, don’t scale, and are difficult to manage. Solution: Use Redis, an open source, in-memory data store and cache, to store frequently used data in-memory for microsecond latency and high throughput. Use cases: Database query caching, persistent session caching, and full web-page caching.
  • 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Clients Cache reads/writes DB reads/writes ✓ Better performance – Microsecond speed ✓ Cost effective ✓ Higher throughput – ~50 million RPS Caching
  • 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Monitoring CacheMisses/CacheHits: Successful retrievals Reclaimed: Number of keys that have expired Evictions: Keys removed due to memory limits
  • 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Challenge: Need low-latency and high- concurrency data stores to process fast- moving ephemeral session data such as authentication tokens, cookies, and session state. Solution: Use Redis as an in-memory key-value store and cache with appropriate key expiration strategies to store and manage ephemeral session data for microsecond responses. Apps: Web and mobile apps. Session store
  • 16. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Challenge: Leaderboards need low- latency and high-concurrency data stores to process changing scores and update ranks in real-time. Solution: Use Redis as an in-memory data store with data structures such as sorted sets and ranked lists that ensure uniqueness of elements while maintaining lists sorted by scores with microsecond latency. Apps: Gaming leaderboards, sales leaderboards.
  • 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Redis data type—Sorted sets • A set of unique items that all have a corresponding score • Similar to an index • Fast lookup and ranges based on the score • Based on a probabilistic skip list with set • Primitive add and remove with: ZADD and ZREM • Scanning and searching with: ZRANGE and ZRANGEBYSCORE
  • 18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Leaderboard example—Sorted set Populating a leaderboard > zadd leaderboard 556 Andy > zadd leaderboard 819 Barry > zadd leaderboard 105 Carl > zadd leaderboard 1312 Derek Updating a leaderboard > zadd leaderboard 1502 Carl > zrevrange leaderboard 0 -1 1) "Carl" 2) "Derek" 3) "Barry" 4) "Andy" Querying a leaderboard > zrevrange leaderboard 0 -1 1) "Derek" 2) "Barry" 3) "Andy" 4) "Carl" > zrevrank leaderboard Barry 1 Score Name Start index End index
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Challenge: Need a fast data store to process fast-moving streaming data in real-time. Solution: Use Redis as an in-memory data store with versatile data structures such as streams, lists, and sets to ingest, process, and analyze real-time data with sub-millisecond latency. Apps: Social media, ad targeting, personalization, IoT, and time-series data analytics. Real-time streaming and analytics store
  • 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Streaming data access Hot data Longer retention Data sources 1
  • 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Native streaming data type—Redis streams New data type (Redis 5.0) Push and pop values like list; supports lookup by ID Implemented with Rax A Radix library tree optimized for fast lookups and range queries Consumer groups Multiple producers and consumers can interact with the same queue Start End Consumer 1 Consumer 2 Consumer A Consumer B
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Redis streams example > XADD locstream * device1 123456 latitude 48.858372 longitude 2.294481 1549057272661-0 > XREAD STREAMS locstream 0 1) 1) "locstream" 2) 1) 1) 1549057272661-0 2) ... > XREAD STREAMS locstream 1549057272661-0 (nil) Autogenerate ID Properties Last ID processed Same ID
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Challenge: Chat and messaging apps require a low-latency and high- throughput communication channel over which a client can send messages that are redistributed to other participants. Solution: Use Redis as an in-memory store and cache with Redis Streams and pub/sub features to build high- performance chat and messaging apps. Apps: Chat rooms, comment streams, machine-to-machine communication.
  • 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Redis pub/sub • Messages are categorized into channels • Subscribers can subscribe to multiple patterns or channels • Publishers publish to a given channel • Messages are not stored anywhere • Clients must be connected to receive • Two main commands: PUBLISH and SUBSCRIBE
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Chat and messaging example—Pub/sub > psubscribe sports:* Reading messages... 1) "psubscribe" 2) "sports:*" 3) (integer) 1 > publish sports:patriots "Goooo team!" (integer) 1 1) "pmessage" 2) "sports:*" 3) "sports:patriots" 4) "Goooo team!"
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Challenge: Need low-latency and high-concurrency data stores to process fast-moving location data in real-time. Solution: Use Redis as an in-memory data store with purpose-built data structures such as sorted sets, encoding/decoding of location data, and APIs for location-specific indexing, searching, and sorting. Apps: Ride-hailing, dating, social media, gaming, e-commerce. Geospatial apps
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Geospatial enrichment Frontend application Restaurant geospatial data Friend relationship graph Query friend recommendations Query nearby recommended restaurants Query nearby restaurants > GEORADIUS restaurants 47.6062 122.3321 10 mi 1) "Starbucks" 2) "McDonalds" 3) "The Best Burger Place" Lat/Long Distance
  • 28. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Peloton is the leading in-home fitness company Challenge: Leaderboard requires elasticity, low latency, and real-time processing to deliver customizable rider data for thousands of users riding together from the comfort of their homes. Solution: ElastiCache for Redis as an in-memory data store provides scale and performance to process streaming data for on-demand, live leaderboard.
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Expedia is a leader in the $1 trillion travel industry, with an extensive portfolio of brands Challenge: Need in-memory data store and cache for real- time analytics application that processes ~200 million messages daily. Solution: ElastiCache for Redis as an in-memory data store and cache to speed up data ingest and analytics.
  • 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Challenge: Large surge event for a new feature launch on Fortnite required scaling Redis clusters. Solution: ElastiCache for Redis with online cluster resizing to dynamically scale out and scale in. Migrated to optimized R5 instances for higher throughput, superior performance, and managing traffic spikes. Epic Games—ElastiCache to manage surge events
  • 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Challenge: Scale the business to the next level with three times data growth every year and petabytes of data stored. Need to quickly process and analyze 50 GB of data daily. Solution: Airbnb adopted purpose-built databases for different needs. Session state: ElastiCache for in-memory store for sub-millisecond session access.
  • 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Software and Internet Financial Ser vicesRide-Hailing Gaming Media and Entertainment Social Media Telecommunications Travel Industrials and Ser vices Logistics and Operations Publishing Other ElastiCache customers
  • 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Redis page aws.amazon.com/redis ElastiCache for Redis page aws.amazon.com/elasticache/redis ElastiCache for Memcached page https://aws.amazon.com/elasticache/memcached/ Contact us aws.amazon.com/contact-us/ Get started
  • 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Thank you! S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Madelyn Olson
  • 36. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T 1) Install php, apache php redis client (e.g., yum install php apache php-pecl-redis) 2) Configure “php.ini” session.save_handler = rediscluster session.save_path = " seed[]=cluster-discovery-endpoint:6379& timeout=2& read_timeout=2& failover=error& persistent=1" 3) Restart httpd 4) Begin using session data For situations where you need an external session store: • Especially needed when using ASGs • Cache is optimal for high-volume reads PHP Example Session Store Details Auto scaling Instances
  • 38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Example Caching Application # App code save_user(17, {"name": “John Doe"}) user = get_user(17) # Write Through def save_user(user_id, values): record = db.query("update users ... where id = ?", user_id, values) cache.set(user_id, record, 300) # TTL return record # Lazy Load def get_user(user_id): record = cache.get(user_id) if record is None: record = db.query("select * from users where id = ?", user_id) cache.set(user_id, record, 300) # TTL return record Write through 1. Updated DB 2. SET in cache Lazy load 1. GET from cache. 2. If MISS get from DB 3. Then SET in cache