measuring rest

30
Measuring REST Subbu Allamaraju http://www.subbu.org http://twitter.com/sallamar

Upload: subbu-allamaraju

Post on 03-Jul-2015

580 views

Category:

Technology


1 download

DESCRIPTION

Slides from my talk at restfest 2011.

TRANSCRIPT

Page 1: Measuring REST

Measuring REST

Subbu Allamarajuhttp://www.subbu.org

http://twitter.com/sallamar

Page 2: Measuring REST

My (Im)Maturity

Level 1: What is REST?Level 2: Wow! … What? … Aha!Level 3: Explain, rationalizeLevel 4: Build stuff

Page 3: Measuring REST
Page 4: Measuring REST

Hypermedia and Media Types

 

Page 5: Measuring REST

How to measure REST?

What to measure?

Page 6: Measuring REST
Page 7: Measuring REST
Page 8: Measuring REST
Page 9: Measuring REST
Page 10: Measuring REST

Performance – network performance, user perceived performance, and network efficiency

ScalabilitySimplicity Modifiability – evolvability, extensibility, customizability, configurability, and reusability

VisibilityPortabilityReliability

REST Constraints

100  %  REST?  

Page 11: Measuring REST
Page 12: Measuring REST

•  But “glory” is not a systemic quality.

•  Glory is not measurable•  Does not lead to $$$

Page 13: Measuring REST
Page 14: Measuring REST

Show me 100% RESTful apps

Page 15: Measuring REST

Is REST a hoax then?

Page 16: Measuring REST

Question #1: Is this a marketing or messaging problem?

Page 17: Measuring REST

Question #2: Can you prove that sum(constraints) leads to

sum(qualities)?

Page 18: Measuring REST

Hand-waveReason out and rationalize in the abstract

Nah, we need to put some engineering back into software

Page 19: Measuring REST

Question #3: Can you prove that any given constraint leads to

any quality?

Page 20: Measuring REST

Hand-waveAdvocate: “Make judicious tradeoffs”

But how do I know if I’m making judicious tradeoffs?

Page 21: Measuring REST

Step #1: Agree on a set of qualities that matter for your app

Page 22: Measuring REST
Page 23: Measuring REST

Ex:•  Performance•  Ease of use •  Adoption

Roy’s list is not the super-set

Page 24: Measuring REST

Step #2: Contextualize the qualities into scenarios

Page 25: Measuring REST

•  Performance•  Serve a photo in “t” msec•  Process “n” photos per hour

•  Ease of use •  A developer should be able to build

a client app in 30 minutes•  Adoption

•  Must gain “y00” developers in 3 months after launch

Page 26: Measuring REST

Step #3: Prioritize qualities and scenarios

Page 27: Measuring REST

•  Adoption•  Must gain “y00” developers in 3

months after launch•  Performance

•  Serve a photo in “t” msec•  Process “n” photos per hour

•  Ease of use •  A developer should be able to build

a client app in 30 minutes

Page 28: Measuring REST

Step #4: Pick solutions among alternatives that you think meet

the scenarios

Page 29: Measuring REST

•  Adoption•  Must gain “y00” developers in 3

months after launch•  Performance

•  Serve a photo in “t” msec•  Process “n” photos per hour

•  Ease of use •  A developer should be able to build

a client app in 30 minutes

Page 30: Measuring REST

What should you measure?

$$$$$$,$$$

$$$,$$$,$$$

Make the case for REST constraints based on specific scenarios and priorities