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

Remote Config and Beyond

Remote Config and Beyond

How and why we use remote config?
How hotstar planned our rolling upgrade for our client app to reach 25 MN?
How new shiny rocky was built at hotstar?
How we roll out features at such a huge scale.
Introduction to hotstar config editor to world and talk about hotstar’s plans in future with remote config.

Avatar for Ayushi Gupta

Ayushi Gupta

July 17, 2019
Tweet

More Decks by Ayushi Gupta

Other Decks in Programming

Transcript

  1. Hello ! I am Ayushi Gupta Android Engineer at hotstar

    You can reach me out at: Twitter : @22guptaayushi Email : [email protected]
  2. About Hotstar • #1 OTT platform in India • Over

    350M+ downloads • 1 Day,100M users, 2.5X increase in concurrency • Available in >15 languages • Variety of content ◦ Live/On-Demand ◦ Sports/News/TV/Movies ◦ Regional Catalogue
  3. Let’s talk about scale 2012 8M Felix Baumgartner’s Supersonic Jump

    YouTube 2018 3.1M NBC’s Super Bowl NBC Sports App 2018 10.3M IPL 2018 - Finals hotstar May 2019 18.6M IPL 2019 - Finals hotstar July 2019 25.3M World Cup - India vs New Zealand hotstar
  4. Product Goals • AGILE Development • Many apps solving only

    one problem • Develop Seamless User Experience • Release features progressively • Keep App size low • Customer obsessed decisions on scale
  5. Legacy App : Not Agile • Releases were super slow

    (6 week cycle) ◦ At scale, feature release was risky ◦ More cautious development ◦ High validation time • Risk taking abilities • Too many hotfix rollouts • Monolithic legacy architecture
  6. Engineering Requirements • High Risk - High Return at Scale

    • Minimise the blast zone • Move away from “Monolithic Legacy Architecture” • Improve engineering hygiene • Bring down engineering cost • Increase agility • Adopt new design guidelines! • Create smoother and seamless experience
  7. Rewrite vs Refactor Rewrite Refactor • Modify existing working code.

    • May require longer time • Understand existing logic. • High engineering cost • No backward compatibility • More risky • Change features drastically. • Cleaner approach • Refer requirements • More testing
  8. Scale Factor • 300 million devices to update • It’s

    not a backend ◦ Rollback needs time ◦ There is always residual users • Backup plan - A must have! There are still 0.5% users on our oldest version!
  9. Building from scratch • “Don’t mess with something which is

    already Working” • Smart combination of rewrite & refactor • Define new architecture - MVVM • Feature by feature movement
  10. Old Search • Simple, naive UI • Multi - step

    search • No smart option availability
  11. User Preferred Search • New hypothesis • Implement new design

    • Can’t risk existing user experience. • New code from scratch
  12. Rolling Upgrade • Release one feature at a time •

    A/B controlled updates • Measure feature key metrics • Measure user experience via funnels • Decision to switch to B!
  13. Remote Config to rescue • Change behaviour of app at

    runtime • Handles the caching by its own ! • Release gently and feature gating • Quirks:Propagate Remote Config updates in real time !
  14. Preferred search results • Reduced searches • 6% faster search

    for User • Faster discovery of content • More Watch Time Old Search New Search Time No.of searched events
  15. • Keep full support for older screens • Don’t break

    what is working • Adapting to changing backend Resiliency
  16. Shiny rocky ! • Super modular • Highly agile app

    • Every week release cycles • Adaptive to fast moving changes • Every feature gated , releases • A/B experiments • Accident management
  17. Challenges with Remote Config • Huge numbers of keys at

    config • Many A/B experiments running simultaneously • Limit Access in Production • Optimise Developer Time • Different Builds for Different Product Requirements
  18. Hotstar Config Editor • In app Config Editor • Enable

    only for DEBUG Builds • Key Name based Search