MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
Telefonica
1. The Care & Feeding of Software
Brendan McAdams
10gen, Inc.
brendan@10gen.com
@rit
Tuesday, November 27, 12
2. Open Source Scales
150,000
125,000
100,000
75,000
50,000
May ‘10
Jul ‘10
Sep ‘10 25,000
Nov ‘10
Jan ‘11
Mar ‘11
May ‘11
Jul ‘11
Sep ‘11
Nov ‘11
0
Jan ‘12
Mar ‘12
Tuesday, November 27, 12
3. "In short, software is eating the world."
- Marc Andreesen
Wall Street Journal, Aug. 2011
http://on.wsj.com/XLwnmo
Tuesday, November 27, 12
4. Software is Eating the World
• Amazon.com (and .uk, .es, etc) started as a bookstore
• Today, they sell just about everything - bicycles,
appliances, computers, TVs, etc.
• In some cities in America, they even do home grocery
delivery
• No longer as much of a physical goods company -
becoming fixated and surrounded by software
• Pioneering the eBook revolution with Kindle
• EC2 is running a huge percentage of the public
internet
Tuesday, November 27, 12
5. Software is Eating the World
• Netflix started as a company to deliver DVDs to the home...
Tuesday, November 27, 12
6. Software is Eating the World
• Netflix started as a company to deliver DVDs to the home...
• But as they’ve grown, business has shifted to an
online streaming service
• They are now rolling out rapidly in many countries
including Ireland, the UK, Canada and the Nordics
• No need for physical inventory or postal distribution ...
just servers and digital copies
Tuesday, November 27, 12
7. Disney Found Itself Forced To Transform...
From This...
Tuesday, November 27, 12
8. Disney Found Itself Forced To Transform...
... To This
Tuesday, November 27, 12
9. But What Does All This Software Do?
• Software always eats data – be it text files, user form input,
emails, etc
• All things that eat, must eventually excrete...
Tuesday, November 27, 12
10. Ingestion = Excretion
+ =
Yeast Ingests Sugars,
and Excretes Ethanol
Tuesday, November 27, 12
11. Ingestion = Excretion
=
Cows, er...
well, you get the point.
Tuesday, November 27, 12
12. So What Does Software Eat?
• Software always eats data – be it text files, user form input,
emails, etc
• But what does software excrete?
• More Data, of course...
• This data gets bigger and bigger
• The solutions become narrower for storing &
processing this data
• Data Fertilizes Software, in an endless cycle...
Tuesday, November 27, 12
13. Feed & Cultivate Your Software
• If we think of Software & Data this way, cultivation, care &
feeding become crucial
• The way we cultivate good software and data?
• Good Practices
• Good Skills
• Hard Work
Tuesday, November 27, 12
15. ... Or Shave Too Many Yaks
Tuesday, November 27, 12
16. Don’t Tilt At Windmills...
• It is easy to get distracted in today’s environment
• Keep it simple
• Use tools you (and your team) can understand
• Use tools and techniques that can scale
• Try not to reinvent the wheel
Tuesday, November 27, 12
17. ... And Definitely Don’t Bite Off More Than You Can Chew
• Break work into smaller pieces
• You can’t fit a whole pig into your mouth...
• ... slice it into small parts that you can consume.
Tuesday, November 27, 12
28. Eating Your Own Dog Food
for (i <- 1 to ∞)
println(“Tests. Matter.”)
• 15 years as a developer taught me this:
“Tests seem like a really good idea...
I’m tired of fixing my broken crap in production”
Tuesday, November 27, 12