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

Scaling Instagram

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Scaling Instagram

Slides from an AirBnb tech talk I gave; doesn't make the most sense out of context but will hopefully be helpful for any folks that saw the talk

Mike Krieger

April 12, 2012

Transcript

185 slides
  1. me - Co-founder, Instagram - Previously: UX & Front-end @

    Meebo - Stanford HCI BS/MS - @mikeyk on everything
  2. // 8 logical shards on 2 machines user_id % 8

    = logical shard logical shards -> physical shard map { 0: A, 1: A, 2: A, 3: A, 4: B, 5: B, 6: B, 7: B }
  3. // 8 logical shards on 2 4 machines user_id %

    8 = logical shard logical shards -> physical shard map { 0: A, 1: A, 2: C, 3: C, 4: B, 5: B, 6: D, 7: D }
  4. machineA: shard0 photos_by_user shard1 photos_by_user shard2 photos_by_user shard3 photos_by_user machineA’:

    shard0 photos_by_user shard1 photos_by_user shard2 photos_by_user shard3 photos_by_user
  5. machineA: shard0 photos_by_user shard1 photos_by_user shard2 photos_by_user shard3 photos_by_user machineC:

    shard0 photos_by_user shard1 photos_by_user shard2 photos_by_user shard3 photos_by_user
  6. can’t have every user who loads her timeline look up

    all their followers and then their photos
  7. when time to render a feed, we take small #

    of IDs, go look up info in memcached
  8. ...

  9. when adding software to stack: only if you have to,

    optimizing for operational simplicity

More Decks by Mike Krieger

Other Decks in Technology