SlideShare a Scribd company logo
1 of 11
Redis to Solve Complex Scale Problems
Abhishek Jain, Prashant Kumar
Engineering, Platforms @Myntra
PRESENTED
BY
1 Why Redis?
2 Scalable Segment Service
3 Scalable Mobile Verification Platform
Agenda:
4
5
Scalable A/B Test Platform
Redis as a Managed Service
PRESENTED
BY
• Turn underutilised resources on a server (CPU/RAM) into valuable resources.
• Scale beyond a single instance of cache, if more headroom is required, while
some other caching services such as memache cannot.
• Regular backups at disk to recover and get boot-up with minimal loss of data.
• Minimal memory fragmentation, to allow better reads.
• Ability to setup a cluster which helps with data sharding.
• Setting up user defined max-memory usage.
• User defined policies to either stop or evict data based on recent usages or expiry.
Why Redis?
PRESENTED
BY
Any B2C product will have user segmentation to perform A/B Testing, Personalization
or any behavioral analysis, certain analysis leads to create new segments as well
• Support very high read throughput, RPM: ~5mil
• latency should not be more than 5ms
• Service should be scalable to support for next few years
Redis for Scalable Segment Service
PRESENTED
BY
Redis seemed to fit the bill perfectly here, as it fulfills all our requirements here.
• Challenge: During writes almost entire redis database (keys) updated. Read throughput affected
during updates.
• Solution:
⎼ Before any write could happen at redis, we put up a queue (kafka), which throttles writes
⎼ Read and Write pools of redis connections were made separate.
Redis for Scalable Segment Service
PRESENTED
BY
Mobile verification via OTP is a popular mechanism to perform authentication for
different purposes, like Sign-In, 2 Factor Auth etc.
• OTP generation, Large scale Read/Writes, Time Bound deliveries were top level challenges
• Store OTP in RDBMS for high consistency. What if RDBMS goes down?
• RPM to serve: ~100k
• What if number of request doubles, or 10 times in next 5 years?
• How do we make it 99.999% available service? Should be highly consistent and reliable.
• We also wanted to persist those OTP sent against mobile number for other purposes, but not
within the transactional flow
Redis for Scalable Mobile Verification Platform
PRESENTED
BY
We introduced Augmented Data Store system
• Used Redis as a transient store & NoSQL DB for persistence and fallback option
• OTP data must expires in 15-20 minutes, so using ephemeral memory
• Redis works in cluster mode with Master-Slave, RF=1
• Redis helps in scale due to cluster mode, much better than any schema based DB
Redis for Scalable Mobile Verification Platform
PRESENTED
BY
In any B2C product, decision making is a tricky job, So A/B Testing experimentation
helps, and performing large scale A/B is complex because of concurrency, so
distributed lock comes in picture.
• Using redis locks to serve concurrent users creating A/B experiments
• Lock prevents multiple concurrent processes stepping on each other
• Many times locking over a request is required to make it transactional
Redis for Scalable A/B Test Platform
PRESENTED
BY
For creation of experiments
• Slotting concept, each experiment is associated with certain slots with each slot
containing a part of the population set
• If multiple concurrent users try to create/update, execution happens in an orderly
fashion while acquiring read and write locks over the slots.
Redis for Scalable A/B Test Platform
PRESENTED
BY
• 1-click-deploy redis cluster ready to boot up and use within a few
minutes.
• Auto-Monitoring setup, with cluster health checks, commands
monitoring, done via Graphana.
• Auto-backups with replication can also be configured with the setup
before deploying if required.
Redis as a Managed Service
Thank You!

More Related Content

What's hot

Accelerate Business Agility with PaaS
Accelerate Business Agility with PaaS Accelerate Business Agility with PaaS
Accelerate Business Agility with PaaS
WSO2
 
RedisConf18 - Redis Cluster Provisioning with Kubernetes Service-Catalog Exte...
RedisConf18 - Redis Cluster Provisioning with Kubernetes Service-Catalog Exte...RedisConf18 - Redis Cluster Provisioning with Kubernetes Service-Catalog Exte...
RedisConf18 - Redis Cluster Provisioning with Kubernetes Service-Catalog Exte...
Redis Labs
 
RedisConf17 - Smartwaiver - Using Redis for Kiosk Registration Command and Co...
RedisConf17 - Smartwaiver - Using Redis for Kiosk Registration Command and Co...RedisConf17 - Smartwaiver - Using Redis for Kiosk Registration Command and Co...
RedisConf17 - Smartwaiver - Using Redis for Kiosk Registration Command and Co...
Redis Labs
 
Redis Tames The Caching Herd: Jon Hyman
Redis Tames The Caching Herd: Jon HymanRedis Tames The Caching Herd: Jon Hyman
Redis Tames The Caching Herd: Jon Hyman
Redis Labs
 

What's hot (20)

Redis presentation
Redis presentation Redis presentation
Redis presentation
 
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
 
Caching for Microservices Architectures: Session I
Caching for Microservices Architectures: Session ICaching for Microservices Architectures: Session I
Caching for Microservices Architectures: Session I
 
Accelerate Business Agility with PaaS
Accelerate Business Agility with PaaS Accelerate Business Agility with PaaS
Accelerate Business Agility with PaaS
 
How to create custom dashboards in Elastic Search / Kibana with Performance V...
How to create custom dashboards in Elastic Search / Kibana with Performance V...How to create custom dashboards in Elastic Search / Kibana with Performance V...
How to create custom dashboards in Elastic Search / Kibana with Performance V...
 
RedisConf18 - Redis Cluster Provisioning with Kubernetes Service-Catalog Exte...
RedisConf18 - Redis Cluster Provisioning with Kubernetes Service-Catalog Exte...RedisConf18 - Redis Cluster Provisioning with Kubernetes Service-Catalog Exte...
RedisConf18 - Redis Cluster Provisioning with Kubernetes Service-Catalog Exte...
 
RedisConf17 - Smartwaiver - Using Redis for Kiosk Registration Command and Co...
RedisConf17 - Smartwaiver - Using Redis for Kiosk Registration Command and Co...RedisConf17 - Smartwaiver - Using Redis for Kiosk Registration Command and Co...
RedisConf17 - Smartwaiver - Using Redis for Kiosk Registration Command and Co...
 
Devops Days, 2019 - Charlotte
Devops Days, 2019 - CharlotteDevops Days, 2019 - Charlotte
Devops Days, 2019 - Charlotte
 
Redis TimeSeries
Redis TimeSeries Redis TimeSeries
Redis TimeSeries
 
Redis Streams for Event-Driven Microservices
Redis Streams for Event-Driven MicroservicesRedis Streams for Event-Driven Microservices
Redis Streams for Event-Driven Microservices
 
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
 
Micro service architecture
Micro service architecture  Micro service architecture
Micro service architecture
 
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
 
Redis Tames The Caching Herd: Jon Hyman
Redis Tames The Caching Herd: Jon HymanRedis Tames The Caching Herd: Jon Hyman
Redis Tames The Caching Herd: Jon Hyman
 
Supercharge Your Real-time Event Processing with Neo4j's Streams Kafka Connec...
Supercharge Your Real-time Event Processing with Neo4j's Streams Kafka Connec...Supercharge Your Real-time Event Processing with Neo4j's Streams Kafka Connec...
Supercharge Your Real-time Event Processing with Neo4j's Streams Kafka Connec...
 
Key Performance Indicators for Managing MongoDB and Recommended Production Co...
Key Performance Indicators for Managing MongoDB and Recommended Production Co...Key Performance Indicators for Managing MongoDB and Recommended Production Co...
Key Performance Indicators for Managing MongoDB and Recommended Production Co...
 
Azure reference architectures
Azure reference architecturesAzure reference architectures
Azure reference architectures
 
Bootstrap SaaS startup using Open Source Tools
Bootstrap SaaS startup using Open Source ToolsBootstrap SaaS startup using Open Source Tools
Bootstrap SaaS startup using Open Source Tools
 
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...
 
Workshop on CIFS / SMB Protocol Performance Analysis
Workshop on CIFS / SMB Protocol Performance AnalysisWorkshop on CIFS / SMB Protocol Performance Analysis
Workshop on CIFS / SMB Protocol Performance Analysis
 

Similar to Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntra - Redis Day Bangalore 2020

Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Andrew Miller
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Continuent
 
Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...
Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...
Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...
Precisely
 
Virtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - VarrowVirtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - Varrow
Andrew Miller
 
Webinar Slides: Geo-Distributed MySQL Clustering Done Right!
Webinar Slides: Geo-Distributed MySQL Clustering Done Right!Webinar Slides: Geo-Distributed MySQL Clustering Done Right!
Webinar Slides: Geo-Distributed MySQL Clustering Done Right!
Continuent
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive Writes
Liran Zelkha
 

Similar to Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntra - Redis Day Bangalore 2020 (20)

Deep Dive on MySQL Databases on AWS - AWS Online Tech Talks
Deep Dive on MySQL Databases on AWS - AWS Online Tech TalksDeep Dive on MySQL Databases on AWS - AWS Online Tech Talks
Deep Dive on MySQL Databases on AWS - AWS Online Tech Talks
 
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick Parker
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick ParkerDevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick Parker
DevDay: Corda Enterprise: Journey to 1000 TPS per node, Rick Parker
 
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
 
System design for video streaming service
System design for video streaming serviceSystem design for video streaming service
System design for video streaming service
 
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera ClusterWebinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
Webinar Slides: MySQL HA/DR/Geo-Scale - High Noon #2: Galera Cluster
 
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed ServiceCloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
 
Continuous Availability and Scale-out for MySQL with ScaleBase Lite & Enterpr...
Continuous Availability and Scale-out for MySQL with ScaleBase Lite & Enterpr...Continuous Availability and Scale-out for MySQL with ScaleBase Lite & Enterpr...
Continuous Availability and Scale-out for MySQL with ScaleBase Lite & Enterpr...
 
CSA14_Congress%20Top_5%2075_Brokering_PPT
CSA14_Congress%20Top_5%2075_Brokering_PPTCSA14_Congress%20Top_5%2075_Brokering_PPT
CSA14_Congress%20Top_5%2075_Brokering_PPT
 
Understanding System Design and Architecture Blueprints of Efficiency
Understanding System Design and Architecture Blueprints of EfficiencyUnderstanding System Design and Architecture Blueprints of Efficiency
Understanding System Design and Architecture Blueprints of Efficiency
 
Redis meetup
Redis meetupRedis meetup
Redis meetup
 
Cloud - High Availability @ Low Cost - Workshop - Gurpreet ahuja
Cloud - High Availability @ Low Cost - Workshop - Gurpreet ahujaCloud - High Availability @ Low Cost - Workshop - Gurpreet ahuja
Cloud - High Availability @ Low Cost - Workshop - Gurpreet ahuja
 
Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...
Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...
Engineering Machine Learning Data Pipelines Series: Streaming New Data as It ...
 
Virtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - VarrowVirtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - Varrow
 
What's New in Amazon RDS for Open-Source & Commercial Databases
What's New in Amazon RDS for Open-Source & Commercial DatabasesWhat's New in Amazon RDS for Open-Source & Commercial Databases
What's New in Amazon RDS for Open-Source & Commercial Databases
 
Data engineering
Data engineeringData engineering
Data engineering
 
Webinar - Delivering Enhanced Message Processing at Scale With an Always-on D...
Webinar - Delivering Enhanced Message Processing at Scale With an Always-on D...Webinar - Delivering Enhanced Message Processing at Scale With an Always-on D...
Webinar - Delivering Enhanced Message Processing at Scale With an Always-on D...
 
Webinar Slides: Geo-Distributed MySQL Clustering Done Right!
Webinar Slides: Geo-Distributed MySQL Clustering Done Right!Webinar Slides: Geo-Distributed MySQL Clustering Done Right!
Webinar Slides: Geo-Distributed MySQL Clustering Done Right!
 
Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph
 
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflowsCloud nativecomputingtechnologysupportinghpc cognitiveworkflows
Cloud nativecomputingtechnologysupportinghpc cognitiveworkflows
 
Handling Massive Writes
Handling Massive WritesHandling Massive Writes
Handling Massive Writes
 

More from 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
 
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
Redis 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 2020
Redis Labs
 

More from Redis Labs (20)

Redis Day Bangalore 2020 - Session state caching with redis
Redis Day Bangalore 2020 - Session state caching with redisRedis Day Bangalore 2020 - Session state caching with redis
Redis Day Bangalore 2020 - Session state caching with redis
 
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
 
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...
 
Moving Beyond Cache by Yiftach Shoolman - Redis Day Bangalore 2020
Moving Beyond Cache by Yiftach Shoolman - Redis Day Bangalore 2020Moving Beyond Cache by Yiftach Shoolman - Redis Day Bangalore 2020
Moving Beyond Cache by Yiftach Shoolman - Redis Day Bangalore 2020
 
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 High-performance Partner Analytics Platform by Ashish Jadhav and Neer...
Build a High-performance Partner Analytics Platform by Ashish Jadhav and Neer...Build a High-performance Partner Analytics Platform by Ashish Jadhav and Neer...
Build a High-performance Partner Analytics Platform by Ashish Jadhav and Neer...
 
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

Recently uploaded (20)

WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in UgandaWSO2CON 2024 - Building a Digital Government in Uganda
WSO2CON 2024 - Building a Digital Government in Uganda
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
 

Solving Complex Scaling Problems by Prashant Kumar and Abhishek Jain of Myntra - Redis Day Bangalore 2020

  • 1. Redis to Solve Complex Scale Problems Abhishek Jain, Prashant Kumar Engineering, Platforms @Myntra
  • 2. PRESENTED BY 1 Why Redis? 2 Scalable Segment Service 3 Scalable Mobile Verification Platform Agenda: 4 5 Scalable A/B Test Platform Redis as a Managed Service
  • 3. PRESENTED BY • Turn underutilised resources on a server (CPU/RAM) into valuable resources. • Scale beyond a single instance of cache, if more headroom is required, while some other caching services such as memache cannot. • Regular backups at disk to recover and get boot-up with minimal loss of data. • Minimal memory fragmentation, to allow better reads. • Ability to setup a cluster which helps with data sharding. • Setting up user defined max-memory usage. • User defined policies to either stop or evict data based on recent usages or expiry. Why Redis?
  • 4. PRESENTED BY Any B2C product will have user segmentation to perform A/B Testing, Personalization or any behavioral analysis, certain analysis leads to create new segments as well • Support very high read throughput, RPM: ~5mil • latency should not be more than 5ms • Service should be scalable to support for next few years Redis for Scalable Segment Service
  • 5. PRESENTED BY Redis seemed to fit the bill perfectly here, as it fulfills all our requirements here. • Challenge: During writes almost entire redis database (keys) updated. Read throughput affected during updates. • Solution: ⎼ Before any write could happen at redis, we put up a queue (kafka), which throttles writes ⎼ Read and Write pools of redis connections were made separate. Redis for Scalable Segment Service
  • 6. PRESENTED BY Mobile verification via OTP is a popular mechanism to perform authentication for different purposes, like Sign-In, 2 Factor Auth etc. • OTP generation, Large scale Read/Writes, Time Bound deliveries were top level challenges • Store OTP in RDBMS for high consistency. What if RDBMS goes down? • RPM to serve: ~100k • What if number of request doubles, or 10 times in next 5 years? • How do we make it 99.999% available service? Should be highly consistent and reliable. • We also wanted to persist those OTP sent against mobile number for other purposes, but not within the transactional flow Redis for Scalable Mobile Verification Platform
  • 7. PRESENTED BY We introduced Augmented Data Store system • Used Redis as a transient store & NoSQL DB for persistence and fallback option • OTP data must expires in 15-20 minutes, so using ephemeral memory • Redis works in cluster mode with Master-Slave, RF=1 • Redis helps in scale due to cluster mode, much better than any schema based DB Redis for Scalable Mobile Verification Platform
  • 8. PRESENTED BY In any B2C product, decision making is a tricky job, So A/B Testing experimentation helps, and performing large scale A/B is complex because of concurrency, so distributed lock comes in picture. • Using redis locks to serve concurrent users creating A/B experiments • Lock prevents multiple concurrent processes stepping on each other • Many times locking over a request is required to make it transactional Redis for Scalable A/B Test Platform
  • 9. PRESENTED BY For creation of experiments • Slotting concept, each experiment is associated with certain slots with each slot containing a part of the population set • If multiple concurrent users try to create/update, execution happens in an orderly fashion while acquiring read and write locks over the slots. Redis for Scalable A/B Test Platform
  • 10. PRESENTED BY • 1-click-deploy redis cluster ready to boot up and use within a few minutes. • Auto-Monitoring setup, with cluster health checks, commands monitoring, done via Graphana. • Auto-backups with replication can also be configured with the setup before deploying if required. Redis as a Managed Service