Slide 1

Slide 1 text

Scaling Happiness Horizontally Mark Wunsch @markwunsch

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Agenda ‣ Gilt Organization ‣ Gilt Architecture ‣ Organization ⟳ Architecture

Slide 5

Slide 5 text

Conway’s Law “Organizations which design systems…are constrained to produce designs which are copies of the communication structures of these organizations.”

Slide 6

Slide 6 text

Conway’s Law? “Organizations which design systems…are doomed to produce designs which are copies of the communication structures of these organizations.”

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

shared nothing architecture

Slide 12

Slide 12 text

“Resources”

Slide 13

Slide 13 text

‣ Front End Engineer ‣ Back End Engineer ‣ UX Designer ‣ Visual Designer ‣ Product Manager ‣ Project Manager ‣ QA Engineer

Slide 14

Slide 14 text

Deadlock.

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

A monolith is a mutex.

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

highly concurrent, distributed, & fault tolerant

Slide 19

Slide 19 text

http://tmblr.co/ZcvzqxsOM8 Teams Ingredients Initiatives KPIs

Slide 20

Slide 20 text

Initiatives & KPIs

Slide 21

Slide 21 text

Teams & Ingredients

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Hive Mind! vs Pen Pals! [^1] [^1]: http://livestre.am/3ZHDH

Slide 24

Slide 24 text

L O S A

Slide 25

Slide 25 text

Lots Of Small Applications

Slide 26

Slide 26 text

Fallacies of Distributed Computing Organizations 1. The network is reliable. 2. Latency is zero. 3. Bandwidth is infinite. 4. The network is secure. 5. Topology doesn’t change. 6. There is one administrator. 7. Transport cost is zero. 8. The network is homogeneous. http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computing

Slide 27

Slide 27 text

Consistency& Availability& Partition Tolerance.

Slide 28

Slide 28 text

Consistency& Availability& Partition Tolerance. [^2] [^2]: http://codahale.com/you-cant-sacrifice-partition-tolerance/

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

https://code.google.com/p/gerrit/

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

http://tomayko.com/writings/adopt-an-open-source-process-constraints

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

Slide 36

Slide 36 text

Appendix 1. http://www.melconway.com/Home/Conways_Law.html 2. http://en.wikipedia.org/wiki/Dining_philosophers_problem 3. http://en.wikipedia.org/wiki/Sleeping_barber_problem 4. Scaling Agile at Gilt → http://tmblr.co/ZcvzqxsOM8 5. Code as Craft: Coda Hale → http://livestre.am/3ZHDH 6. The Eight Fallacies of Distributed Computing → http:// nighthacks.com/roller/jag/resource/Fallacies.html 7. http://codahale.com/you-cant-sacrifice-partition-tolerance/ 8. http://tomayko.com/writings/adopt-an-open-source-process- constraints