Transcript

The Art of the Spike

Aaron BedraPrincipal, Relevance, Inc.

Copyright 2007-2010 Relevance, Inc. This presentation is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. See http://creativecommons.org/licenses/by-nc-sa/3.0/us/

Saturday, May 15, 2010

Saturday, May 15, 2010

DRY

Saturday, May 15, 2010

Do you have 10 years of

experience or the same year 10

times?Saturday, May 15, 2010

So you’re starting a new project...

Saturday, May 15, 2010

Yes but why?

Saturday, May 15, 2010

Business value

Saturday, May 15, 2010

“Faster”

Saturday, May 15, 2010

“Better”

Saturday, May 15, 2010

“Easier”

Saturday, May 15, 2010

A Jedi craves not these things

Saturday, May 15, 2010

Making money

Saturday, May 15, 2010

Preserving reputation

Saturday, May 15, 2010

Saturday, May 15, 2010

We’ve just been assigned a new

project

Saturday, May 15, 2010

Credit card authorization

Saturday, May 15, 2010

Very lean information set

Saturday, May 15, 2010

Number, available credit, per charge

limit

Saturday, May 15, 2010

Lookup by card number

Saturday, May 15, 2010

Web service for charges

Saturday, May 15, 2010

Transaction speed is essential

Saturday, May 15, 2010

Ok let’s get down to planning

Saturday, May 15, 2010

We’ve decided to use clojure as a

language

Saturday, May 15, 2010

And PostgreSQL as a database

Saturday, May 15, 2010

But wait!

Saturday, May 15, 2010

Has anyone heard about Redis?

Saturday, May 15, 2010

It might be a good fit for this

Saturday, May 15, 2010

We should spike it out!

Saturday, May 15, 2010

Research time

Saturday, May 15, 2010

Record everything!

Saturday, May 15, 2010

Time-box everything!

Saturday, May 15, 2010

Getting started

Saturday, May 15, 2010

All technology you are about to

encounter should be treated as a first

class citizen!

Saturday, May 15, 2010

Download and install

Saturday, May 15, 2010

How did it go?

Saturday, May 15, 2010

Should we keep going?

Saturday, May 15, 2010

Interfacing

Saturday, May 15, 2010

Is there an SDK or API?

Saturday, May 15, 2010

In the language you are using?

Saturday, May 15, 2010

Does it work?

Saturday, May 15, 2010

Should we keep going?

Saturday, May 15, 2010

Prototype code

Saturday, May 15, 2010

Simple CRUD

Saturday, May 15, 2010

How long did it take?

Saturday, May 15, 2010

Should we keep going?

Saturday, May 15, 2010

Reference Example

Saturday, May 15, 2010

What does my team think?

Saturday, May 15, 2010

Should we keep going?

Saturday, May 15, 2010

Operations

Saturday, May 15, 2010

How do we deploy it?

Saturday, May 15, 2010

How do we monitor it?

Saturday, May 15, 2010

Should we keep going?

Saturday, May 15, 2010

Performance

Saturday, May 15, 2010

How fast can a single instance go?

Saturday, May 15, 2010

Can it scale?

Saturday, May 15, 2010

How does it compare to our

original idea?

Saturday, May 15, 2010

Does it help us meet our “why”

Saturday, May 15, 2010

Should we keep going?

Saturday, May 15, 2010

Management / Client

Saturday, May 15, 2010

We did a spike and here’s what

we found

Saturday, May 15, 2010

Easy to install

Saturday, May 15, 2010

Easy to use

Saturday, May 15, 2010

The dev team has a reference

Saturday, May 15, 2010

Dev team feels they can be

productive on day one

Saturday, May 15, 2010

Easy deployment

Saturday, May 15, 2010

Easy monitoring

Saturday, May 15, 2010

In memory

Saturday, May 15, 2010

Outperforms our RDBMS

Saturday, May 15, 2010

Easy and fast scaling

Saturday, May 15, 2010

?Saturday, May 15, 2010

Questions?

Saturday, May 15, 2010

Contact

• aaronbedra.com (blog)

• @abedra (twitter)

• aaron@thinkrelevance.com

• github.com/abedra

• speakerrate.com/talks/3252

Saturday, May 15, 2010

top related