- FUNSIZE -

Have fun with funsize


Mihai Tabara @ Mozilla RelEng 2014 intern

IRC:  mtabara 

Who am I?

I'm a student

I LOVE MOUNTAINS


HIKING DURING Summer ...

SKIING DURING WINTER

about Mozilla releng


  • what do we do?
  • what are we?
  • what are we not?
  • shipment and tools


about Mozilla releng

cocktail of crafts and callings


How quickly can we ship a chemspill release?
4-6 weeks => 11h
How long does it take to ship a new feature release?
12-18 months => 6 weeks
How many active code lines?
1 1/2 => 42
How many checkins per day?
15 => 325



about Mozilla releng


    great deal of OH daily


      => If you think it can't get worse, it can and it will

      => Premature optimizing is evil

      => What's you ETA? Okay, now 4x it


      Changeset cycle


      What did i do?




      • Codename: funsize
      • Mission: request  on demand service for partial MARs
      • bugzilla whiteboard: funsize


      Context Enriched




      Context Enriched - issues?



      1. why partials? - bandwidth issue
      2. hardcoded - what you see is what you get
      3. first compute, then upload x97
      4. expensive/time consuming operation in build process

      WHAT IS FUNSIZE ?


      request on demand service for partial MARs


      1. web app - powerful API
      2. facing traffic -  tens of GB daily

      Context Enriched



      WHY FUNSIZE ?


      1. logic extracted
      2. caching
      3. easier further dev
      4. (future)saves time in build process

      WHAT DID I Do ?




      refined and polished a diamond

      credits to ffledgling

      WHAT I HAVE ADDED


      1. code cleanup
      2. fail safe pool workers
      3. two layers caching
      4. scaling/integration with AWS
      5. new integration tool
      6. funsizer!

      THE result ...


      1. deploy-easy server side
      2. rock-solid REST API
      3. pip install funsizer, magic in the back

      Conclusions


      1. high expectations
      2. not a night shift - busyness analyst

      RELENG Contributing




      1. release-engineering@lists.mozilla.org
      2. vpn-contributor access
      3. aws contributor access
      4. releng people ready to help

      MOzilla REleng


      interns get cool projects

      blobber

      funsize

      production ETA usually > 3 months

      THANKS

       #mozbuild #releng

      rail, catlee,hwine,nthomas,bhearsum,mshal, mgerva, jlund

      ffledgling, zeller

      Misty, Jill

      john o'duinn

      QUESTIONS?


      Funsize

      By Mihai Tabara