SlideShare a Scribd company logo
1 of 14
PRESENTED BY
Creating a Highly Available Persistent
Session Management Service with Redis
and a Connection Pooling Proxy
Mohamed Elmergawi
Lead Software Engineer, Zulily
2
A NEW STORE EVERY DAY
Thousands of products at brag-worthy prices
INSPIRED, DISCOVERY-DRIVEN EXPERIENCE
without specific purchase intent
HIGHLY CURATED SALES EVENTS
100+ time-limited sales (72 hours)
A DAILY DESTINATION
75% orders via mobile (Q319)
MASSIVELY PERSONALIZED APPROACH
Launch millions of versions of the site/app
daily
GLOBAL MARKETPLACE
15,000+ vendors including Under Armour,
Cuisinart, Melissa & Doug
ZULILY’S BUSINESS CREATES INTERESTING
TECHNICAL CHALLENGES
PRESENTED BY
A reliable global session service is critical:
• If it goes down, you can't serve customers
• Infrastructure is volatile; we need persistence
• Speed is key
“Everything fails all the time” - Werner Vogels, CTO Amazon
Problem Definition
PRESENTED BY
• No HA: a hardware or
network degradation
leads to a failure
• Sharding logic is coupled
in the application level
• Requires manual
intervention to promote
a slave to master
• Limits global expansion
• Idle slave nodes
Legacy Architecture
APP CLUSTER
TWEMPROXY
R/W
REST API
APPLICATION CLUSTER
TWEMPROXY
Master Node
SLAVE NODE
R/W
Async
Replica
SITE CLUSTER
TWEMPROXY
R/W
Master Node
SLAVE NODE
R/W
. . .
. . .
Async
Replica
PRESENTED BY
Redis Cluster
• Not suited for applications that require availability in the event
of large net splits
• Active passive mode
Redis Sentinel
• The sharding logic would still be coupled with the application
• Active passive mode
Alternative Approaches
PRESENTED BY
New Architecture
• Connection Pooling Proxy
• Session Service
• Real-time Replications
Session service
1
Redis
+
Dynomite
Redis
+
Dynomite
Redis
+
Dynomite
Redis
+
Dynomite
SITE CLUSTER
PROXY
ALB
APP CLUSTER
PROXY
ALB
Session service
n
Session service
2
. . .
. . . . . .
. . .
. . .
Redis
+
Dynomite
Redis
+
Dynomite
Redis
+
Dynomite
Redis
+
Dynomite
Redis
+
Dynomite
Region c
Region a Region b
PRESENTED BY
• Reduces the overhead associated with establishing a new
connection
• Leverages existing connections efficiently
• Constrains the total number of connections
Connection Pooling Proxy for Site and App Cluster Nodes
PRESENTED BY
• Request routing based on consistent hashing (Murmur hash)
• Traffic distribution based on GEO location
• Topology aware load balancing (Token Aware)
• Request rerouting based on failed functional or latency health
checks
Session Service
a1
a2a3
0 - 100
101 - 200201 - 300
PRESENTED BY
Session Service
Real-Time Replication between Redis Nodes via Dynomite
P2P and active/active approach
Data Center b
b1
b3b2
Data Center a
a1
a3a2
Data Center c
c1
c3c2
session id 1 hash
session id 2 hash
Incoming write, with persistent hashing
Replication
PRESENTED BY
• Staged rollout
• Double write (Time T1)
• Copied data offline from the slave nodes (Prior to T1)
• Double read
• Data sanity checks
• Apply chaos engineering principles to the new system
Production Rollout
PRESENTED BY
250ms
Recovery window
Results
After simulating an outage on 2 out of 3 network partitions
0.42%
Failure rate
Simulated Outage
PRESENTED BY
• Scale can only happen in multiple hosts
• Higher network traffic volume
• Cross-AZ/Regions/DC traffic costs money
• Adding hosts to the ring is a manual process
Drawbacks
PRESENTED BY
• Connection Pooling Proxy
• Session Service
• Redis is not only a cache, it
is a persistent storage
• Design for failure
• Use Chaos
Engineering practices
• Replicate your data across
multiple regions and use
real time replication
Summary
Session service
1
Redis
+
Dynomite
Redis
+
Dynomite
Redis
+
Dynomite
Redis
+
Dynomite
SITE CLUSTER
PROXY
ALB
APP CLUSTER
PROXY
ALB
Session service
n
Session service
2
. . .
. . . . . .
. . .
. . .
Redis
+
Dynomite
Redis
+
Dynomite
Redis
+
Dynomite
Redis
+
Dynomite
Redis
+
Dynomite
Region c
Region a Region b
Thank You!
zulily.com/careers

More Related Content

What's hot

Kafka for Real-Time Event Processing in Serverless Environments
Kafka for Real-Time Event Processing in Serverless EnvironmentsKafka for Real-Time Event Processing in Serverless Environments
Kafka for Real-Time Event Processing in Serverless Environmentsconfluent
 
The Road Most Traveled: A Kafka Story | Heikki Nousiainen, Aiven
The Road Most Traveled: A Kafka Story | Heikki Nousiainen, AivenThe Road Most Traveled: A Kafka Story | Heikki Nousiainen, Aiven
The Road Most Traveled: A Kafka Story | Heikki Nousiainen, AivenHostedbyConfluent
 
How Much Can You Connect? | Bhavesh Raheja, Disney + Hotstar
How Much Can You Connect? | Bhavesh Raheja, Disney + HotstarHow Much Can You Connect? | Bhavesh Raheja, Disney + Hotstar
How Much Can You Connect? | Bhavesh Raheja, Disney + HotstarHostedbyConfluent
 
RedisConf17 - Roblox - How Roblox Keeps Millions of Users Up to Date with Red...
RedisConf17 - Roblox - How Roblox Keeps Millions of Users Up to Date with Red...RedisConf17 - Roblox - How Roblox Keeps Millions of Users Up to Date with Red...
RedisConf17 - Roblox - How Roblox Keeps Millions of Users Up to Date with Red...Redis Labs
 
RedisConf18 - Designing a Redis Client for Humans
RedisConf18 - Designing a Redis Client for Humans RedisConf18 - Designing a Redis Client for Humans
RedisConf18 - Designing a Redis Client for Humans Redis Labs
 
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture (ANZ)
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture (ANZ)3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture (ANZ)
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture (ANZ)confluent
 
Kafka Summit NYC 2017 - Every Message Counts: Kafka as a Foundation for Highl...
Kafka Summit NYC 2017 - Every Message Counts: Kafka as a Foundation for Highl...Kafka Summit NYC 2017 - Every Message Counts: Kafka as a Foundation for Highl...
Kafka Summit NYC 2017 - Every Message Counts: Kafka as a Foundation for Highl...confluent
 
Lessons from the field: Catalog of Kafka Deployments | Joseph Niemiec, Cloudera
Lessons from the field: Catalog of Kafka Deployments | Joseph Niemiec, ClouderaLessons from the field: Catalog of Kafka Deployments | Joseph Niemiec, Cloudera
Lessons from the field: Catalog of Kafka Deployments | Joseph Niemiec, ClouderaHostedbyConfluent
 
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architectureconfluent
 
URP? Excuse You! The Three Metrics You Have to Know
URP? Excuse You! The Three Metrics You Have to Know URP? Excuse You! The Three Metrics You Have to Know
URP? Excuse You! The Three Metrics You Have to Know confluent
 
RedisConf17 - Explosion of Data at the Edge in Equinix
RedisConf17 - Explosion of Data at the Edge in EquinixRedisConf17 - Explosion of Data at the Edge in Equinix
RedisConf17 - Explosion of Data at the Edge in EquinixRedis Labs
 
Building Retry Architectures in Kafka with Compacted Topics | Matthew Zhou, V...
Building Retry Architectures in Kafka with Compacted Topics | Matthew Zhou, V...Building Retry Architectures in Kafka with Compacted Topics | Matthew Zhou, V...
Building Retry Architectures in Kafka with Compacted Topics | Matthew Zhou, V...HostedbyConfluent
 
Kafka Summit NYC 2017 - The Real-time Event Driven Bank: A Kafka Story
Kafka Summit NYC 2017 - The Real-time Event Driven Bank: A Kafka Story Kafka Summit NYC 2017 - The Real-time Event Driven Bank: A Kafka Story
Kafka Summit NYC 2017 - The Real-time Event Driven Bank: A Kafka Story confluent
 
Organic Growth and A Good Night Sleep: Effective Kafka Operations at Pinteres...
Organic Growth and A Good Night Sleep: Effective Kafka Operations at Pinteres...Organic Growth and A Good Night Sleep: Effective Kafka Operations at Pinteres...
Organic Growth and A Good Night Sleep: Effective Kafka Operations at Pinteres...confluent
 
Achieving scale and performance using cloud native environment
Achieving scale and performance using cloud native environmentAchieving scale and performance using cloud native environment
Achieving scale and performance using cloud native environmentRakuten Group, Inc.
 
Availability of Kafka - Beyond the Brokers | Andrew Borley and Emma Humber, IBM
Availability of Kafka - Beyond the Brokers | Andrew Borley and Emma Humber, IBMAvailability of Kafka - Beyond the Brokers | Andrew Borley and Emma Humber, IBM
Availability of Kafka - Beyond the Brokers | Andrew Borley and Emma Humber, IBMHostedbyConfluent
 
Metrics Are Not Enough: Monitoring Apache Kafka and Streaming Applications
Metrics Are Not Enough: Monitoring Apache Kafka and Streaming ApplicationsMetrics Are Not Enough: Monitoring Apache Kafka and Streaming Applications
Metrics Are Not Enough: Monitoring Apache Kafka and Streaming Applicationsconfluent
 
One Click Streaming Data Pipelines & Flows | Leveraging Kafka & Spark | Ido F...
One Click Streaming Data Pipelines & Flows | Leveraging Kafka & Spark | Ido F...One Click Streaming Data Pipelines & Flows | Leveraging Kafka & Spark | Ido F...
One Click Streaming Data Pipelines & Flows | Leveraging Kafka & Spark | Ido F...HostedbyConfluent
 
Kafka Summit NYC 2017 - Apache Kafka in the Enterprise: What if it Fails?
Kafka Summit NYC 2017 - Apache Kafka in the Enterprise: What if it Fails? Kafka Summit NYC 2017 - Apache Kafka in the Enterprise: What if it Fails?
Kafka Summit NYC 2017 - Apache Kafka in the Enterprise: What if it Fails? confluent
 
Devops Days, 2019 - Charlotte
Devops Days, 2019 - CharlotteDevops Days, 2019 - Charlotte
Devops Days, 2019 - Charlottebotsplash.com
 

What's hot (20)

Kafka for Real-Time Event Processing in Serverless Environments
Kafka for Real-Time Event Processing in Serverless EnvironmentsKafka for Real-Time Event Processing in Serverless Environments
Kafka for Real-Time Event Processing in Serverless Environments
 
The Road Most Traveled: A Kafka Story | Heikki Nousiainen, Aiven
The Road Most Traveled: A Kafka Story | Heikki Nousiainen, AivenThe Road Most Traveled: A Kafka Story | Heikki Nousiainen, Aiven
The Road Most Traveled: A Kafka Story | Heikki Nousiainen, Aiven
 
How Much Can You Connect? | Bhavesh Raheja, Disney + Hotstar
How Much Can You Connect? | Bhavesh Raheja, Disney + HotstarHow Much Can You Connect? | Bhavesh Raheja, Disney + Hotstar
How Much Can You Connect? | Bhavesh Raheja, Disney + Hotstar
 
RedisConf17 - Roblox - How Roblox Keeps Millions of Users Up to Date with Red...
RedisConf17 - Roblox - How Roblox Keeps Millions of Users Up to Date with Red...RedisConf17 - Roblox - How Roblox Keeps Millions of Users Up to Date with Red...
RedisConf17 - Roblox - How Roblox Keeps Millions of Users Up to Date with Red...
 
RedisConf18 - Designing a Redis Client for Humans
RedisConf18 - Designing a Redis Client for Humans RedisConf18 - Designing a Redis Client for Humans
RedisConf18 - Designing a Redis Client for Humans
 
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture (ANZ)
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture (ANZ)3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture (ANZ)
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture (ANZ)
 
Kafka Summit NYC 2017 - Every Message Counts: Kafka as a Foundation for Highl...
Kafka Summit NYC 2017 - Every Message Counts: Kafka as a Foundation for Highl...Kafka Summit NYC 2017 - Every Message Counts: Kafka as a Foundation for Highl...
Kafka Summit NYC 2017 - Every Message Counts: Kafka as a Foundation for Highl...
 
Lessons from the field: Catalog of Kafka Deployments | Joseph Niemiec, Cloudera
Lessons from the field: Catalog of Kafka Deployments | Joseph Niemiec, ClouderaLessons from the field: Catalog of Kafka Deployments | Joseph Niemiec, Cloudera
Lessons from the field: Catalog of Kafka Deployments | Joseph Niemiec, Cloudera
 
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture
3 Ways to Deliver an Elastic, Cost-Effective Cloud Architecture
 
URP? Excuse You! The Three Metrics You Have to Know
URP? Excuse You! The Three Metrics You Have to Know URP? Excuse You! The Three Metrics You Have to Know
URP? Excuse You! The Three Metrics You Have to Know
 
RedisConf17 - Explosion of Data at the Edge in Equinix
RedisConf17 - Explosion of Data at the Edge in EquinixRedisConf17 - Explosion of Data at the Edge in Equinix
RedisConf17 - Explosion of Data at the Edge in Equinix
 
Building Retry Architectures in Kafka with Compacted Topics | Matthew Zhou, V...
Building Retry Architectures in Kafka with Compacted Topics | Matthew Zhou, V...Building Retry Architectures in Kafka with Compacted Topics | Matthew Zhou, V...
Building Retry Architectures in Kafka with Compacted Topics | Matthew Zhou, V...
 
Kafka Summit NYC 2017 - The Real-time Event Driven Bank: A Kafka Story
Kafka Summit NYC 2017 - The Real-time Event Driven Bank: A Kafka Story Kafka Summit NYC 2017 - The Real-time Event Driven Bank: A Kafka Story
Kafka Summit NYC 2017 - The Real-time Event Driven Bank: A Kafka Story
 
Organic Growth and A Good Night Sleep: Effective Kafka Operations at Pinteres...
Organic Growth and A Good Night Sleep: Effective Kafka Operations at Pinteres...Organic Growth and A Good Night Sleep: Effective Kafka Operations at Pinteres...
Organic Growth and A Good Night Sleep: Effective Kafka Operations at Pinteres...
 
Achieving scale and performance using cloud native environment
Achieving scale and performance using cloud native environmentAchieving scale and performance using cloud native environment
Achieving scale and performance using cloud native environment
 
Availability of Kafka - Beyond the Brokers | Andrew Borley and Emma Humber, IBM
Availability of Kafka - Beyond the Brokers | Andrew Borley and Emma Humber, IBMAvailability of Kafka - Beyond the Brokers | Andrew Borley and Emma Humber, IBM
Availability of Kafka - Beyond the Brokers | Andrew Borley and Emma Humber, IBM
 
Metrics Are Not Enough: Monitoring Apache Kafka and Streaming Applications
Metrics Are Not Enough: Monitoring Apache Kafka and Streaming ApplicationsMetrics Are Not Enough: Monitoring Apache Kafka and Streaming Applications
Metrics Are Not Enough: Monitoring Apache Kafka and Streaming Applications
 
One Click Streaming Data Pipelines & Flows | Leveraging Kafka & Spark | Ido F...
One Click Streaming Data Pipelines & Flows | Leveraging Kafka & Spark | Ido F...One Click Streaming Data Pipelines & Flows | Leveraging Kafka & Spark | Ido F...
One Click Streaming Data Pipelines & Flows | Leveraging Kafka & Spark | Ido F...
 
Kafka Summit NYC 2017 - Apache Kafka in the Enterprise: What if it Fails?
Kafka Summit NYC 2017 - Apache Kafka in the Enterprise: What if it Fails? Kafka Summit NYC 2017 - Apache Kafka in the Enterprise: What if it Fails?
Kafka Summit NYC 2017 - Apache Kafka in the Enterprise: What if it Fails?
 
Devops Days, 2019 - Charlotte
Devops Days, 2019 - CharlotteDevops Days, 2019 - Charlotte
Devops Days, 2019 - Charlotte
 

Similar to Highly Available Persistent Session Management Service by Mohamed Elmergawi of Zulily - Redis Day Seattle 2020

How Automation And Intelligence Can Simplify Your High Availability
How Automation And Intelligence Can Simplify Your High AvailabilityHow Automation And Intelligence Can Simplify Your High Availability
How Automation And Intelligence Can Simplify Your High AvailabilityPrecisely
 
NetSuite For Manufacturing _ Cloud Manufacturing Software for Modern Manufact...
NetSuite For Manufacturing _ Cloud Manufacturing Software for Modern Manufact...NetSuite For Manufacturing _ Cloud Manufacturing Software for Modern Manufact...
NetSuite For Manufacturing _ Cloud Manufacturing Software for Modern Manufact...Net at Work
 
管理向云的迁移过程
管理向云的迁移过程管理向云的迁移过程
管理向云的迁移过程ITband
 
Embracing Failure - AzureDay Rome
Embracing Failure - AzureDay RomeEmbracing Failure - AzureDay Rome
Embracing Failure - AzureDay RomeAlberto Acerbis
 
VMworld 2015: Take Virtualization to the Next Level vSphere with Operations M...
VMworld 2015: Take Virtualization to the Next Level vSphere with Operations M...VMworld 2015: Take Virtualization to the Next Level vSphere with Operations M...
VMworld 2015: Take Virtualization to the Next Level vSphere with Operations M...VMworld
 
Migrating IBM i Systems to the Cloud: Exploring the Pros and Cons
Migrating IBM i Systems to the Cloud: Exploring the Pros and ConsMigrating IBM i Systems to the Cloud: Exploring the Pros and Cons
Migrating IBM i Systems to the Cloud: Exploring the Pros and ConsPrecisely
 
Visualizing Your Network Health - Driving Visibility in Increasingly Complex...
Visualizing Your Network Health -  Driving Visibility in Increasingly Complex...Visualizing Your Network Health -  Driving Visibility in Increasingly Complex...
Visualizing Your Network Health - Driving Visibility in Increasingly Complex...DellNMS
 
Ransomware-Recovery-as-a-Service
Ransomware-Recovery-as-a-ServiceRansomware-Recovery-as-a-Service
Ransomware-Recovery-as-a-ServiceSagi Brody
 
Contact Center Capabilities
Contact Center CapabilitiesContact Center Capabilities
Contact Center Capabilitiesservice007
 
Simplifying SDN Networking Across Private and Public Clouds
Simplifying SDN Networking Across Private and Public CloudsSimplifying SDN Networking Across Private and Public Clouds
Simplifying SDN Networking Across Private and Public Clouds5nine
 
2015-04-02 Best in Class Cloud Based Accounting Systems
2015-04-02 Best in Class Cloud Based Accounting Systems2015-04-02 Best in Class Cloud Based Accounting Systems
2015-04-02 Best in Class Cloud Based Accounting SystemsRaffa Learning Community
 
OSSF 2018 - Peter Crocker of Cumulus Networks - TCO and technical advantages ...
OSSF 2018 - Peter Crocker of Cumulus Networks - TCO and technical advantages ...OSSF 2018 - Peter Crocker of Cumulus Networks - TCO and technical advantages ...
OSSF 2018 - Peter Crocker of Cumulus Networks - TCO and technical advantages ...FINOS
 
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the CloudApplication Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the CloudSkytap Cloud
 
70% Improvement in Service and Product Delivery on Implementing DevOps
70% Improvement in Service and Product Delivery on Implementing DevOps70% Improvement in Service and Product Delivery on Implementing DevOps
70% Improvement in Service and Product Delivery on Implementing DevOpsCygnet Infotech
 
Azure Application Architecture Guide
Azure Application Architecture GuideAzure Application Architecture Guide
Azure Application Architecture GuideMasashi Narumoto
 
Continuous Delivery of Cloud Applications: Blue/Green and Canary Deployments
Continuous Delivery of Cloud Applications:Blue/Green and Canary DeploymentsContinuous Delivery of Cloud Applications:Blue/Green and Canary Deployments
Continuous Delivery of Cloud Applications: Blue/Green and Canary DeploymentsPraveen Yalagandula
 

Similar to Highly Available Persistent Session Management Service by Mohamed Elmergawi of Zulily - Redis Day Seattle 2020 (20)

Redis presentation
Redis presentation Redis presentation
Redis presentation
 
How Automation And Intelligence Can Simplify Your High Availability
How Automation And Intelligence Can Simplify Your High AvailabilityHow Automation And Intelligence Can Simplify Your High Availability
How Automation And Intelligence Can Simplify Your High Availability
 
NetSuite For Manufacturing _ Cloud Manufacturing Software for Modern Manufact...
NetSuite For Manufacturing _ Cloud Manufacturing Software for Modern Manufact...NetSuite For Manufacturing _ Cloud Manufacturing Software for Modern Manufact...
NetSuite For Manufacturing _ Cloud Manufacturing Software for Modern Manufact...
 
管理向云的迁移过程
管理向云的迁移过程管理向云的迁移过程
管理向云的迁移过程
 
Embracing Failure - AzureDay Rome
Embracing Failure - AzureDay RomeEmbracing Failure - AzureDay Rome
Embracing Failure - AzureDay Rome
 
VMworld 2015: Take Virtualization to the Next Level vSphere with Operations M...
VMworld 2015: Take Virtualization to the Next Level vSphere with Operations M...VMworld 2015: Take Virtualization to the Next Level vSphere with Operations M...
VMworld 2015: Take Virtualization to the Next Level vSphere with Operations M...
 
Migrating IBM i Systems to the Cloud: Exploring the Pros and Cons
Migrating IBM i Systems to the Cloud: Exploring the Pros and ConsMigrating IBM i Systems to the Cloud: Exploring the Pros and Cons
Migrating IBM i Systems to the Cloud: Exploring the Pros and Cons
 
Visualizing Your Network Health - Driving Visibility in Increasingly Complex...
Visualizing Your Network Health -  Driving Visibility in Increasingly Complex...Visualizing Your Network Health -  Driving Visibility in Increasingly Complex...
Visualizing Your Network Health - Driving Visibility in Increasingly Complex...
 
Lithium: Event-Driven Network Control
Lithium: Event-Driven Network ControlLithium: Event-Driven Network Control
Lithium: Event-Driven Network Control
 
Ransomware-Recovery-as-a-Service
Ransomware-Recovery-as-a-ServiceRansomware-Recovery-as-a-Service
Ransomware-Recovery-as-a-Service
 
Contact Center Capabilities
Contact Center CapabilitiesContact Center Capabilities
Contact Center Capabilities
 
Simplifying SDN Networking Across Private and Public Clouds
Simplifying SDN Networking Across Private and Public CloudsSimplifying SDN Networking Across Private and Public Clouds
Simplifying SDN Networking Across Private and Public Clouds
 
2015-04-02 Best in Class Cloud Based Accounting Systems
2015-04-02 Best in Class Cloud Based Accounting Systems2015-04-02 Best in Class Cloud Based Accounting Systems
2015-04-02 Best in Class Cloud Based Accounting Systems
 
Maximize the Cloud Today
Maximize the Cloud TodayMaximize the Cloud Today
Maximize the Cloud Today
 
OSSF 2018 - Peter Crocker of Cumulus Networks - TCO and technical advantages ...
OSSF 2018 - Peter Crocker of Cumulus Networks - TCO and technical advantages ...OSSF 2018 - Peter Crocker of Cumulus Networks - TCO and technical advantages ...
OSSF 2018 - Peter Crocker of Cumulus Networks - TCO and technical advantages ...
 
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the CloudApplication Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
 
70% Improvement in Service and Product Delivery on Implementing DevOps
70% Improvement in Service and Product Delivery on Implementing DevOps70% Improvement in Service and Product Delivery on Implementing DevOps
70% Improvement in Service and Product Delivery on Implementing DevOps
 
gesa_sol.ppt
gesa_sol.pptgesa_sol.ppt
gesa_sol.ppt
 
Azure Application Architecture Guide
Azure Application Architecture GuideAzure Application Architecture Guide
Azure Application Architecture Guide
 
Continuous Delivery of Cloud Applications: Blue/Green and Canary Deployments
Continuous Delivery of Cloud Applications:Blue/Green and Canary DeploymentsContinuous Delivery of Cloud Applications:Blue/Green and Canary Deployments
Continuous Delivery of Cloud Applications: Blue/Green and Canary Deployments
 

More from Redis Labs

Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020Redis Labs
 
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...Redis Labs
 
Redis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis for Data Science and Engineering by Dmitry Polyakovsky of OracleRedis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis for Data Science and Engineering by Dmitry Polyakovsky of OracleRedis Labs
 
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020Redis Labs
 
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020Redis Labs
 
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...Redis Labs
 
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...Redis Labs
 
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...Redis Labs
 
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020Redis Labs
 
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020Redis Labs
 
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020Redis Labs
 
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020Redis Labs
 
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...Redis Labs
 
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...Redis Labs
 
Redis as a High Scale Swiss Army Knife by Rahul Dagar and Abhishek Gupta of G...
Redis as a High Scale Swiss Army Knife by Rahul Dagar and Abhishek Gupta of G...Redis as a High Scale Swiss Army Knife by Rahul Dagar and Abhishek Gupta of G...
Redis as a High Scale Swiss Army Knife by Rahul Dagar and Abhishek Gupta of G...Redis Labs
 
Deploying Redis as a Sidecar in Kubernetes by Janakiram MSV - Redis Day Banga...
Deploying Redis as a Sidecar in Kubernetes by Janakiram MSV - Redis Day Banga...Deploying Redis as a Sidecar in Kubernetes by Janakiram MSV - Redis Day Banga...
Deploying Redis as a Sidecar in Kubernetes by Janakiram MSV - Redis Day Banga...Redis Labs
 
Real-time GeoSearching at Scale with RediSearch by Apoorva Gaurav and Ronil M...
Real-time GeoSearching at Scale with RediSearch by Apoorva Gaurav and Ronil M...Real-time GeoSearching at Scale with RediSearch by Apoorva Gaurav and Ronil M...
Real-time GeoSearching at Scale with RediSearch by Apoorva Gaurav and Ronil M...Redis Labs
 
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...Redis Labs
 
Accelerating Recommendations at Viu by Amarendra Kumar and Kulbhushan Pachaur...
Accelerating Recommendations at Viu by Amarendra Kumar and Kulbhushan Pachaur...Accelerating Recommendations at Viu by Amarendra Kumar and Kulbhushan Pachaur...
Accelerating Recommendations at Viu by Amarendra Kumar and Kulbhushan Pachaur...Redis Labs
 
A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...
A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...
A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...Redis Labs
 

More from Redis Labs (20)

Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
Protecting Your API with Redis by Jane Paek - Redis Day Seattle 2020
 
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
The Happy Marriage of Redis and Protobuf by Scott Haines of Twilio - Redis Da...
 
Redis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis for Data Science and Engineering by Dmitry Polyakovsky of OracleRedis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
Redis for Data Science and Engineering by Dmitry Polyakovsky of Oracle
 
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
Practical Use Cases for ACLs in Redis 6 by Jamie Scott - Redis Day Seattle 2020
 
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
Moving Beyond Cache by Yiftach Shoolman Redis Labs - Redis Day Seattle 2020
 
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
JSON in Redis - When to use RedisJSON by Jay Won of Coupang - Redis Day Seatt...
 
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
Anatomy of a Redis Command by Madelyn Olson of Amazon Web Services - Redis Da...
 
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
Building a Multi-dimensional Analytics Engine with RedisGraph by Matthew Goos...
 
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
RediSearch 1.6 by Pieter Cailliau - Redis Day Bangalore 2020
 
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
RedisGraph 2.0 by Pieter Cailliau - Redis Day Bangalore 2020
 
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
RedisTimeSeries 1.2 by Pieter Cailliau - Redis Day Bangalore 2020
 
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
RedisAI 0.9 by Sherin Thomas of Tensorwerk - Redis Day Bangalore 2020
 
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
Rate-Limiting 30 Million requests by Vijay Lakshminarayanan and Girish Koundi...
 
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
Three Pillars of Observability by Rajalakshmi Raji Srinivasan of Site24x7 Zoh...
 
Redis as a High Scale Swiss Army Knife by Rahul Dagar and Abhishek Gupta of G...
Redis as a High Scale Swiss Army Knife by Rahul Dagar and Abhishek Gupta of G...Redis as a High Scale Swiss Army Knife by Rahul Dagar and Abhishek Gupta of G...
Redis as a High Scale Swiss Army Knife by Rahul Dagar and Abhishek Gupta of G...
 
Deploying Redis as a Sidecar in Kubernetes by Janakiram MSV - Redis Day Banga...
Deploying Redis as a Sidecar in Kubernetes by Janakiram MSV - Redis Day Banga...Deploying Redis as a Sidecar in Kubernetes by Janakiram MSV - Redis Day Banga...
Deploying Redis as a Sidecar in Kubernetes by Janakiram MSV - Redis Day Banga...
 
Real-time GeoSearching at Scale with RediSearch by Apoorva Gaurav and Ronil M...
Real-time GeoSearching at Scale with RediSearch by Apoorva Gaurav and Ronil M...Real-time GeoSearching at Scale with RediSearch by Apoorva Gaurav and Ronil M...
Real-time GeoSearching at Scale with RediSearch by Apoorva Gaurav and Ronil M...
 
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
 
Accelerating Recommendations at Viu by Amarendra Kumar and Kulbhushan Pachaur...
Accelerating Recommendations at Viu by Amarendra Kumar and Kulbhushan Pachaur...Accelerating Recommendations at Viu by Amarendra Kumar and Kulbhushan Pachaur...
Accelerating Recommendations at Viu by Amarendra Kumar and Kulbhushan Pachaur...
 
A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...
A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...
A Low-latency Logging Framework by Rajat Panwar of HolidayMe - Redis Day Bang...
 

Recently uploaded

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 

Recently uploaded (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 

Highly Available Persistent Session Management Service by Mohamed Elmergawi of Zulily - Redis Day Seattle 2020

  • 1. PRESENTED BY Creating a Highly Available Persistent Session Management Service with Redis and a Connection Pooling Proxy Mohamed Elmergawi Lead Software Engineer, Zulily
  • 2. 2 A NEW STORE EVERY DAY Thousands of products at brag-worthy prices INSPIRED, DISCOVERY-DRIVEN EXPERIENCE without specific purchase intent HIGHLY CURATED SALES EVENTS 100+ time-limited sales (72 hours) A DAILY DESTINATION 75% orders via mobile (Q319) MASSIVELY PERSONALIZED APPROACH Launch millions of versions of the site/app daily GLOBAL MARKETPLACE 15,000+ vendors including Under Armour, Cuisinart, Melissa & Doug ZULILY’S BUSINESS CREATES INTERESTING TECHNICAL CHALLENGES
  • 3. PRESENTED BY A reliable global session service is critical: • If it goes down, you can't serve customers • Infrastructure is volatile; we need persistence • Speed is key “Everything fails all the time” - Werner Vogels, CTO Amazon Problem Definition
  • 4. PRESENTED BY • No HA: a hardware or network degradation leads to a failure • Sharding logic is coupled in the application level • Requires manual intervention to promote a slave to master • Limits global expansion • Idle slave nodes Legacy Architecture APP CLUSTER TWEMPROXY R/W REST API APPLICATION CLUSTER TWEMPROXY Master Node SLAVE NODE R/W Async Replica SITE CLUSTER TWEMPROXY R/W Master Node SLAVE NODE R/W . . . . . . Async Replica
  • 5. PRESENTED BY Redis Cluster • Not suited for applications that require availability in the event of large net splits • Active passive mode Redis Sentinel • The sharding logic would still be coupled with the application • Active passive mode Alternative Approaches
  • 6. PRESENTED BY New Architecture • Connection Pooling Proxy • Session Service • Real-time Replications Session service 1 Redis + Dynomite Redis + Dynomite Redis + Dynomite Redis + Dynomite SITE CLUSTER PROXY ALB APP CLUSTER PROXY ALB Session service n Session service 2 . . . . . . . . . . . . . . . Redis + Dynomite Redis + Dynomite Redis + Dynomite Redis + Dynomite Redis + Dynomite Region c Region a Region b
  • 7. PRESENTED BY • Reduces the overhead associated with establishing a new connection • Leverages existing connections efficiently • Constrains the total number of connections Connection Pooling Proxy for Site and App Cluster Nodes
  • 8. PRESENTED BY • Request routing based on consistent hashing (Murmur hash) • Traffic distribution based on GEO location • Topology aware load balancing (Token Aware) • Request rerouting based on failed functional or latency health checks Session Service a1 a2a3 0 - 100 101 - 200201 - 300
  • 9. PRESENTED BY Session Service Real-Time Replication between Redis Nodes via Dynomite P2P and active/active approach Data Center b b1 b3b2 Data Center a a1 a3a2 Data Center c c1 c3c2 session id 1 hash session id 2 hash Incoming write, with persistent hashing Replication
  • 10. PRESENTED BY • Staged rollout • Double write (Time T1) • Copied data offline from the slave nodes (Prior to T1) • Double read • Data sanity checks • Apply chaos engineering principles to the new system Production Rollout
  • 11. PRESENTED BY 250ms Recovery window Results After simulating an outage on 2 out of 3 network partitions 0.42% Failure rate Simulated Outage
  • 12. PRESENTED BY • Scale can only happen in multiple hosts • Higher network traffic volume • Cross-AZ/Regions/DC traffic costs money • Adding hosts to the ring is a manual process Drawbacks
  • 13. PRESENTED BY • Connection Pooling Proxy • Session Service • Redis is not only a cache, it is a persistent storage • Design for failure • Use Chaos Engineering practices • Replicate your data across multiple regions and use real time replication Summary Session service 1 Redis + Dynomite Redis + Dynomite Redis + Dynomite Redis + Dynomite SITE CLUSTER PROXY ALB APP CLUSTER PROXY ALB Session service n Session service 2 . . . . . . . . . . . . . . . Redis + Dynomite Redis + Dynomite Redis + Dynomite Redis + Dynomite Redis + Dynomite Region c Region a Region b

Editor's Notes

  1. Lead Engineer for E Commence platform  team at ZULILY. I WILL TALK ABOUT HOW AT  ZULIY USED REDIS TO BUILD A HIGHLY AVAILABLE  PERSISTENT SESSION MANAGEMENT  HOW Zulily BUSINESS MODEL CREATED its specific  technical challenges and the role of session management
  2. Zulily  business model is all about discovery driven experience ,Our customers comes to site/apps to discover and enjoy liking going to a mall or a boutique Zulily launches a new story every day which is technically launching   millions of  personalized versions of the site/app daily  That translates to specific technical challenges. -Nature of traffic is spikey which means time  warm the cache is not an option. -Speed is critical , -Customer session  flow  is critical for a smooth discovery  and is called per every single  request.
  3. A Reliable global session service is critical:  It goes down, you can't serve customers ,As every single request to apps or site requires a session. Infrastructure is volatile; we need persistence  Speed is critical As engineers the main fact we believe in is “Every thing fails , All the time”  Bad code push  Hard ware failure Network Latency Regions /AZ outage. That brings us to the reason we’re here today – to discuss how we at Zulily evolved our infrastructure to a more distributed system with the help of Redis – to create a more reliable experience. In retail, a session service is critical – especially if your footprint is global. But – we all know this familiar quote from Werner Vogels. Failure is bound to happen – our jobs as engineers are to plan for failure – and to ensure that no matter what, we can serve the customer. Session management service sharded across multiple  AZs One AZ Outage   % of customers Business Impact == $$$
  4. Typical architecture Client Layer  (Apps and Site cluster ) Twem Proxy  (Twemproxy played the role of proxy and connection pooling was deployed on every client machine . ) Application ayer :Sharding logic coupled with the application layer, Session service shared same resource with other application  resources. Customer session lived in (Redis as permanent storage with slave nodes as back ups) Problems 1-Not HA (Losing hardware/network partition will lead to outage) ,  Network Latency will lead degraded experience. 2-Sharding is coupled which limited  scaling and  global expansion off Zulily.We want out data close to our customers. Losing an AWS AZ caused us major outage and degraded experience. As session data  is used for every request to Zulily app.This was not acceptable. That brings us to the reason we’re here today – to discuss how we at Zulily evolved our infrastructure to a more distributed system with the help of Redis – to create a more reliable experience. In retail, a session service is critical – especially if your footprint is global. But – we all know this familiar quote from Werner Vogels. Failure is bound to happen – our jobs as engineers are to plan for failure – and to ensure that no matter what, we can serve the customer. Session management service sharded across multiple  AZs One AZ Outage   % of customers Business Impact == $$$
  5. That brings us to the reason we’re here today – to discuss how we at Zulily evolved our infrastructure to a more distributed system with the help of Redis – to create a more reliable experience. In retail, a session service is critical – especially if your footprint is global. But – we all know this familiar quote from Werner Vogels. Failure is bound to happen – our jobs as engineers are to plan for failure – and to ensure that no matter what, we can serve the customer. Session management service sharded across multiple  AZs One AZ Outage   % of customers Business Impact == $$$
  6. Client  Replaced twem  proxy with a custom proxy as client no more directly connect to  Redis  acting as TCP connection pooling  Server Used consistent hashing and abstracted sharding logic and geo location detection to a new service scaling horizontally. Storage  Used Redis as storage layer  distributed across multiple regions in a ring topology for consistent hashing  and we used  dynamite for replication across regions/data centers. Now I will deep dive in every layer the client ,Server and Data layers. --------------------------------- What did we need ? Highly Available, Geo distributed and Scalable Tolerate hardware/partition failures and network degradation Seamless Customer Experience 1,000,000s  of requests
  7. Connection Pooling every node in the app and site cluster. Overhead of establishing a new TCP connection collecting metrics (Service Mesh/ Envoy Proxy) Leverages existing connection  Constrains total open connections against load balancer. ------------------------------------------------------------- That brings us to the reason we’re here today – to discuss how we at Zulily evolved our infrastructure to a more distributed system with the help of Redis – to create a more reliable experience. In retail, a session service is critical – especially if your footprint is global. But – we all know this familiar quote from Werner Vogels. Failure is bound to happen – our jobs as engineers are to plan for failure – and to ensure that no matter what, we can serve the customer. Session management service sharded across multiple  AZs One AZ Outage   % of customers Business Impact == $$$
  8. We got rid of master/slave approach and used P2P  using dynamite a netflix open source project  for replication across regions. Data center definition is just a virtual grouping , regions or az or even on premises Read Request Life cycle, Consistent Hashing by service layer. Service layer will route to the right node in the ring that has the data.(Either going to A1 ,A2 , A3) ------------------------------------------
  9. That brings us to the reason we’re here today – to discuss how we at Zulily evolved our infrastructure to a more distributed system with the help of Redis – to create a more reliable experience. In retail, a session service is critical – especially if your footprint is global. But – we all know this familiar quote from Werner Vogels. Failure is bound to happen – our jobs as engineers are to plan for failure – and to ensure that no matter what, we can serve the customer. Session management service sharded across multiple  AZs One AZ Outage   % of customers Business Impact == $$$
  10. [FA] the actual graph isn't important other than to show latency remained flat, maybe add vertical lines to show when the network was killed... 
  11. That brings us to the reason we’re here today – to discuss how we at Zulily evolved our infrastructure to a more distributed system with the help of Redis – to create a more reliable experience. In retail, a session service is critical – especially if your footprint is global. But – we all know this familiar quote from Werner Vogels. Failure is bound to happen – our jobs as engineers are to plan for failure – and to ensure that no matter what, we can serve the customer. Session management service sharded across multiple  AZs One AZ Outage   % of customers Business Impact == $$$
  12. That brings us to the reason we’re here today – to discuss how we at Zulily evolved our infrastructure to a more distributed system with the help of Redis – to create a more reliable experience. In retail, a session service is critical – especially if your footprint is global. But – we all know this familiar quote from Werner Vogels. Failure is bound to happen – our jobs as engineers are to plan for failure – and to ensure that no matter what, we can serve the customer. Session management service sharded across multiple  AZs One AZ Outage   % of customers Business Impact == $$$