Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How to Build a High Performance Application Using Cloud Foundry and Redis (Cloud Foundry Summit 2014)

5,021 views

Published on

Technical Track presented by Yiftach Shoolman, CTO & Co-Founder of Redis Labs.

Why Redis? Redis is one of the top 3 databases chosen by developers. Redis is the fastest database available today has many attractive data types and commands for powering modern applications. In this session, you will learn:

Why companies like Twitter, Pinterest, and GitHub rely on Redis as a critical infrastructure component.
How to leverage Redis for real time analytics, social app functionality, job management, geo-search, and many other use cases.

How to utilize CloudFoundry’s PaaS offering to build and maintain an infinitely scalable, highly available, top performing, and fully managed Redis database to power your application.

Published in: Technology
  • Be the first to comment

How to Build a High Performance Application Using Cloud Foundry and Redis (Cloud Foundry Summit 2014)

  1. 1. 1 building lightning fast apps over CF and BOSH
  2. 2. 2 Leading the commercial Redis market Founded in 2011; GA in 02/2013 2,200+ paying customers; 50,000+ DBs; 100+ new DBs/day 2nd largest contributor to open source Redis Raised $13M - Bain/Carmel/Strategic/Angels Offices in Santa Clara and Tel-Aviv In a nutshell
  3. 3. 3 Redis Cloud Memcached Cloud Our offering Fully-managed cloud services. On-prem server license - soon. 3
  4. 4. 4 Launching Redis Labs Cluster with BOSH
  5. 5. 5 Why Redis ?
  6. 6. 6 The newest NoSQL create by Salvatore Sanfilippo (@antirez) The fastest data store available today (served entirely from RAM) Among the top 3 databases chosen by developers Much more than a simple key/value - Strings, Hashes, Lists, Sets, Sorted Set, LUA, transactions, Bits operations Strong use cases, dynamic community, large eco-system Redis
  7. 7. 7 100msec = Fast apps requirements max E2E response time, under any load 50msec = average Internet latency 50msec = required app response time (includes processing & multi DB accesses) 1msec = required DB response time The only database to meet requirement=
  8. 8. 8 DB performance comparison @<1msec @<1msec @<1msec @<20msec @<10-50msec @<10-50msec @<100msec @<100msec @>100msec
  9. 9. 9 Timeline Followers Caching Messaging Geo search Leaderboards Job management RT analytics Verticals & main use cases Online advertising Social Gaming Financial Services
  10. 10. 10 • Multi-TB in memory • ~ 300,000 reads/sec • ~ 5,000*N writes/sec N - # of followers Twitter Every Timeline (800 tweets per user) is on Redis
  11. 11. 11 • 20TB+ in memory • ~ 6,000,000 reads/sec • ~ 600,000 writes/sec Weibo (Chinese Twitter) • Counting • Reverse cache • Top 10 lists • Last Index • Relational list/Message Queue • Fast transactions w/ LUA
  12. 12. 12 Pinterest Object graph: • Per user (Sorted Set w/ timestamp as score)  store the users followed (explicit+ implicit)  store the user’s followers (explicit+implicit) • Per board  Redis Hash for storing explicit followers  Redis Set for storing explicit unfollowers
  13. 13. 13 Stack Overflow Three levels of cache: • Local cache (no persistence)  sessions, and pending view count updates • Site cache  hot question id lists, users acceptance rates.. • Global cache  Inboxes, API usage quotas, …
  14. 14. 14 Github • Redis is used for routing info • Matching user repositories to server names
  15. 15. 15 Hipchat • Which users are in which room • Who is online • XMPP server balancing
  16. 16. 16 Youporn Most data is found in Hashes with ordered Sets used to know what data to show (1) ZinterStore on: {videos:filters:release}{videos:filters:orientation:straight} {videos:filters:categories(id)}{videos:ordering:rating} (2) Perform a ZRANGE to get the pages we want and get the list of video_ids back (3) Start pipelining to get all the videos from Hashes
  17. 17. 17 Snapchat • 500+ instances • 15-50TB • Running on GCE 400M messages/day
  18. 18. 18 Why Redis Labs ?
  19. 19. 19 Infinite seamless scalability True high-availability Stable top performance Zero management Users choose us because..
  20. 20. 20 We invested a lot… • 20+ man-years spent on R&D • 15 Redis experts on team Optimal Redis deployment environment
  21. 21. • [BOSH] Bootstrapping Redis Labs cluster (over EC2) • [Redis Labs Console] Create a plan & set CF Credentials • [CF]: Create & bind service • Show a working app (try.redis) • SSO The Demo
  22. 22. 22 Questions ?
  23. 23. 23 Thank You

×