Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Using Redis to orchestrate cloud-based file transfers at scale

Using Redis to orchestrate cloud-based file transfers at scale

A case study involving massive file transfers, Redis, Microservices, job creation and orchestration and Serverless computing using AWS Lambda

Presented at RedisConf19

Carlos Justiniano

April 03, 2019
Tweet

More Decks by Carlos Justiniano

Other Decks in Technology

Transcript

  1. About me • Carlos Justiniano • VP of Engineering at

    Flywheel Sports • 2005 World Record in Distributed Computation • Leveraging the power of Redis since 2011 @cjus on Github, Twitter, Medium and at flywheelsports.com More about me at http://cjus.me
  2. What we’ll cover today A case study involving massive file

    transfers, Redis, Microservices, job creation and orchestration and Serverless computing using AWS Lambda
  3. Challenges Quickly migrate our entire video library from one CDN

    to another: • Object Storage • HTTP Live Streaming (HLS) • Ensuring no file is left behind
  4. 2000 classes 16 streams per class ~500 file* segments per

    stream *each file segment ranges from 100 bytes to 2 megabytes in size
  5. 2000 classes 16 streams per class ~500 file* segments per

    stream 2000 x 16 x 500 = 16,000,000 files *each file segment ranges from 100 bytes to 2 megabytes in size
  6. Our Solution • Pull individual files through the Verizon CDN

    • Web crawling manifest files • Use Redis powered Microservices to orchestrate millions of AWS Lambda invocations
  7. End results • The speed of transferring files using this

    approach is absolutely staggering. • During earlier tests, the system transferred four terabytes of data in two hours and twenty minutes! • That’s roughly 523MB per second! • Nowhere near the maximum potential. • Using both a larger multi-core or cluster of multi-core machines and a higher concurrent limit of lambda invocations would yield even higher transfer speeds.