Glide.me Leverages Redis Cloud to Scale Their 200G In-Memory Database

Similar documents
Scalable Architecture on Amazon AWS Cloud

TECHNOLOGY WHITE PAPER Jun 2012

Preparing Your IT for the Holidays. A quick start guide to take your e-commerce to the Cloud

TECHNOLOGY WHITE PAPER Jan 2016

Cluster Computing. ! Fault tolerance. ! Stateless. ! Throughput. ! Stateful. ! Response time. Architectures. Stateless vs. Stateful.

How AWS Pricing Works

Primex Wireless OneVue Architecture Statement

Amazon Cloud Storage Options

Scaling Pinterest. Yash Nelapati Ascii Artist. Pinterest Engineering. Saturday, August 31, 13

Google Cloud Platform The basics

Fault-Tolerant Computer System Design ECE 695/CS 590. Putting it All Together

On- Prem MongoDB- as- a- Service Powered by the CumuLogic DBaaS Platform

GigaSpaces Real-Time Analytics for Big Data

How AWS Pricing Works May 2015

How To Make A Mobile Bridge Work For You

The Cloud as a Computing Platform: Options for the Enterprise

Scalable Application. Mikalai Alimenkou

OPTIMIZING PERFORMANCE IN AMAZON EC2 INTRODUCTION: LEVERAGING THE PUBLIC CLOUD OPPORTUNITY WITH AMAZON EC2.

Customer Case Study. Automatic Labs

CitusDB Architecture for Real-Time Big Data

Amazon EC2 Product Details Page 1 of 5

Hadoop & Spark Using Amazon EMR

Enabling Database-as-a-Service (DBaaS) within Enterprises or Cloud Offerings

Realtime Apache Hadoop at Facebook. Jonathan Gray & Dhruba Borthakur June 14, 2011 at SIGMOD, Athens

BERLIN. 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved

Technology Enablement

Amazon Kinesis and Apache Storm

ZADARA STORAGE. Managed, hybrid storage EXECUTIVE SUMMARY. Research Brief

How In-Memory Data Grids Can Analyze Fast-Changing Data in Real Time

Graph Database Proof of Concept Report

Accelerating Web-Based SQL Server Applications with SafePeak Plug and Play Dynamic Database Caching

Lambda Architecture. Near Real-Time Big Data Analytics Using Hadoop. January Website:

Amazon Web Services Yu Xiao

References. Introduction to Database Systems CSE 444. Motivation. Basic Features. Outline: Database in the Cloud. Outline

Introduction to Database Systems CSE 444

When talking about hosting

Accelerating Enterprise Applications and Reducing TCO with SanDisk ZetaScale Software

Migration Scenario: Migrating Batch Processes to the AWS Cloud

emind Webydo Moves to the Google Cloud Platform (GCP) with Emind For a Scalable Cloud Customers Stories by Overview About Webydo

Challenges for Data Driven Systems

Design for Failure High Availability Architectures using AWS

WE RUN SEVERAL ON AWS BECAUSE WE CRITICAL APPLICATIONS CAN SCALE AND USE THE INFRASTRUCTURE EFFICIENTLY.

DLT Solutions and Amazon Web Services

Designing Apps for Amazon Web Services

Architecture Statement

Webydo Moves to the Google Cloud Platform (GCP) with Emind For a Scalable Cloud

An Architecture Vision

Using ArcGIS for Server in the Amazon Cloud

Lets SAAS-ify that Desktop Application

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

Cloud Computing Benefits for Educational Institutions

EEDC. Scalability Study of web apps in AWS. Execution Environments for Distributed Computing

Razvoj Java aplikacija u Amazon AWS Cloud: Praktična demonstracija

EXECUTIVE SUMMARY CONTENTS. 1. Summary 2. Objectives 3. Methodology and Approach 4. Results 5. Next Steps 6. Glossary 7. Appendix. 1.

CRM. itouch Vision. This document gives an overview of OneTouch Cloud CRM and discusses the different features and functionality.

The Flash-Transformed Financial Data Center. Jean S. Bozman Enterprise Solutions Manager, Enterprise Storage Solutions Corporation August 6, 2014

The Quest for Extreme Scalability

the missing log collector Treasure Data, Inc. Muga Nishizawa

Web applications today are part of every IT operation within an organization.

Scaling in the Cloud with AWS. By: Eli White (CTO & mojolive) eliw.com - mojolive.com

ScaleArc idb Solution for SQL Server Deployments

Powerful analytics. and enterprise security. in a single platform. microstrategy.com 1

Tableau Server 7.0 scalability

Analysis and Research of Cloud Computing System to Comparison of Several Cloud Computing Platforms

Understanding Neo4j Scalability

Big Data Use Case. How Rackspace is using Private Cloud for Big Data. Bryan Thompson. May 8th, 2013

Lecture 3: Scaling by Load Balancing 1. Comments on reviews i. 2. Topic 1: Scalability a. QUESTION: What are problems? i. These papers look at

Cloud computing - Architecting in the cloud

Ubuntu: helping drive business insight from Big Data

AVLOR SERVER CLOUD RECOVERY

ScaleArc for SQL Server

Introduction to AWS in Higher Ed

Low-cost Open Data As-a-Service in the Cloud

GeoCloud Project Report GEOSS Clearinghouse

Network Infrastructure Services CS848 Project

Zynga Analytics Leveraging Big Data to Make Games More Fun and Social

Howtomanage and protectend usersdata? Mati Raidma

Open Source Technologies on Microsoft Azure

Pulsar Realtime Analytics At Scale. Tony Ng April 14, 2015

Case Study. Highly Available, Fault Tolerant Cloud Solution & AWS Managed Support. Case Study. A Telehealthcare Company

Amazon Web Services. Lawrence Berkeley LabTech Conference 9/10/15. Jamie Baker Federal Scientific Account Manager AWS WWPS

How to select the right Marketing Cloud Edition

How to Ingest Data into Google BigQuery using Talend for Big Data. A Technical Solution Paper from Saama Technologies, Inc.

Cloud Computing with Amazon Web Services and the DevOps Methodology.

Building Success on Acquia Cloud:

A Novel Cloud Based Elastic Framework for Big Data Preprocessing

Can Flash help you ride the Big Data Wave? Steve Fingerhut Vice President, Marketing Enterprise Storage Solutions Corporation

Managing Traditional Workloads Together with Cloud Computing Workloads

White Paper. How Streaming Data Analytics Enables Real-Time Decisions

Real Time Big Data Processing

1. Comments on reviews a. Need to avoid just summarizing web page asks you for:

A Comparison of Clouds: Amazon Web Services, Windows Azure, Google Cloud Platform, VMWare and Others (Fall 2012)

SCALABLE FILE SHARING AND DATA MANAGEMENT FOR INTERNET OF THINGS

Reference Model for Cloud Applications CONSIDERATIONS FOR SW VENDORS BUILDING A SAAS SOLUTION

StorReduce Technical White Paper Cloud-based Data Deduplication

Elastic Scalability in MySQL Fabric using OpenStack

Transcription:

Glide.me Leverages Redis Cloud to Scale Their 200G In-Memory Database Case Study, May 2014 "It's the quietest part of my infrastructure. It's the part that just works. It keeps all the data and it scales without me having to worry about it." Max Rabin, Head of Server Development at Glide

About Glide Glide is the world's first mobile video instant messenger. Utilizing a massive real-time network, Glide users are able to send text and video messages via live stream, whilst granting recipients the flexibility to read or watch the messages in real-time or at a later convenience. Hosted on AWS and Redis Cloud Leveraging Amazon Web Services (AWS) broad range of cloud services, Glide heavily relies on the cloud giant for backend hosting. The application maximizes its capabilities by utilizing AWS Elastic Compute Cloud (EC2), Simple Queue Service (SQS), Route 53, CloudFormation, and CloudWatch. All of the videos are stored in Simple Storage Service (S3) and secure access is managed by Identity and Access Management (IAM). Data is stored in MongoDB and Redis, with the Redis dataset hosted on Redis Cloud, Redis Labs singular platform. Glide uses Redis Cloud to store sessions, some transient data, and to cache specific types of data. This revolutionary mobile application is available on Android and IOS operating systems. Background Glide s platform uses the Redis in-memory database to deliver consistent real-time performance for millions of users. The Redis dataset is hosted and managed by Redis Labs on the Redis Cloud platform. Most hosted services offer standard cloud instances pre-loaded with opensource Redis. This approach does not tackle the operational difficulty of running Redis on the cloud and does not provide a great advantage over the do-it-yourself approach. Redis Cloud overcomes these limitations by adding a breakthrough technological layer to open source Redis, while fully managing it. The technology virtualizes multiple cloud servers into an infinite pool of memory, consumed by users according to the actual size of their datasets. Page 1 of 3

Challenges and s 1 - Challenge: Real-Time Reminders and Analytics Every time a Glide user receives a message, a reminder is created requiring a push notification to be created in real-time. Consequently, instances are scaled up and down, requiring inmemory storage to be persistent across servers. In addition, aggregated analytics ought to be made in real-time, in efforts to support admin performance reports of the system. Redis Labs platform enables Glide with the ability to store and share the number of unread and missed messages with users right on their homescreen. These message reminders are stored as a number in Redis as opposed to querying the MongoDB database over and over again. In addition, Redis is used to store the list of users who have missed messages along with the actual messages they have missed, facilitating the reminder mechanism and generating efficient database operations. Aggregated analytics are used to illustrate an overall view of how many times certain actions have occurred: the number of messages created, types of messages (text or video), group chats or one-on-one, registrations made, and logins. The activity in the server is incremented to a counter in Redis, which later persists to a backend database for viewing in the admin panel, where charts and graphs are used to illustrate the data. Everything is incremented to Redis so a heavy strain is not placed on the backend database, avoiding the creation of excess write requests. 2 - Challenge: Redis Storage Capacity One challenge that developed as the result of a client-side bug, had caused session tokens to be corrupted, which resulted in new login requests for every interaction. Due to the fact that every interaction was considered a new session, it manifested as a "memory leak" in Redis. This led to the generation of login requests without the actual sessions, reaching hundreds of gigabytes of storage for the sessions data. Nearly reaching the 200GB threshold set for one of their Redis databases, Glide knew they could potentially have a serious problem on their hands. Unnecessary data volume growth at staggering and unproportional rates was certainly not an option. The bug was resolved in two stages. As an initial short-term solution, the sessions were moved to a new database in order to isolate the issue. Only then, once the uncontrolled data growth was isolated in a separate database, was the faulty application logic addressed. This took care of the bug, as well as drastically reducing the amount of space needed for session storage. Redis Cloud professionals guided Glide through the process of splitting up the sessions from the rest of the data within the Redis Cloud. By writing a Lua script they managed to migrate data from one database to another, with minimal impact to their application's service. Page 2 of 3

With Redis Cloud, scaling is performed automatically the shards autonomously inflate, deflate, multiply or reduce according to the dataset size and the measured performance of each shard. A dataset can continuously grow from a few megabytes to hundreds gigabytes overcoming the Redis scalability limitation. Redis Cloud is completely zero touch. A Redis database is created in seconds, and from that moment on, all operations are fully-automated. Glide now has one database for sessions, and one for user data, including missed messages, badges and cached items. While the user database is creeping up on the 200GB mark, by simply requesting additional space, Redis Labs team had made sure that the Glide Redis database can scale up to 400GB, providing plenty of room for future growth. 3 - Challenge: Pubnub Message Counter Glide uses Pubnub to facilitate the real-time instant messaging aspect of the application. Every Glide client is subscribed to Pubnub, which prides itself in delivering messages within a quarter of a second to recipients anywhere in the world. Issues have arisen in regards to the large volume of Glide messages created daily, much to everyone's surprise, due to the fact that the sending limits are obscenely large. Pubnub requested to see the number of messages sent per minute in efforts to solve the glitch. Therefore, every time a message is sent to Pubnub, a counter is incremented in Redis in a hash called Pubnub. Every key contains a value calculated by its time-stamped unit divided by 60, which is incremented. Despite this substantial and unplanned increase in the workload, with Redis Cloud, our Redis is continuing to perform above par, making Glide s task of tracking messages that much easier for Pubnub metrics. Page 3 of 3

About Redis Cloud Redis Labs offers enterprise-class Redis and Memcached for developers. Our fully-managed cloud services - Redis Cloud and Memcached Cloud - deliver top performance in a highly-available, infinitely scalable, predictable and stable manner. Developers are free of dealing with nodes, clusters, scaling, data-persistence and failure recovery, while providing true auto-scalability and instant failover. We power tens of thousands of customer apps in multiple cloud environments and enhance use cases such as realtime analytics, social app functionality, job management, and geo-search. Redis Labs has more than 1,900 paying customers and has raised $13M in venture funding from Bain Capital Ventures, Carmel Ventures, and others.