diagnosability versus the cloud, redwood shores 2011-08-30

31
Diagnosability versus The Cloud Cary Millsap Method R Corporation [email protected] / @CaryMillsap OTN Architect Day, Redwood Shores 10:00a–10:30a Tuesday 30 August 2011

Upload: cary-millsap

Post on 29-Nov-2014

287 views

Category:

Technology


3 download

DESCRIPTION

In our increasingly virtualized environments, it's ever more difficult to diagnose application defects—especially performance defects that affect response time or throughput expectations. Runtime diagnosis of defects can be an unbearably complicated problem to solve once the application is sealed up and put into production use. But having excellent runtime diagnostics is surprisingly easy if you design the diagnostic features into the application from its inception, as it is being grown, like you would with any other desired application feature.

TRANSCRIPT

Page 1: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

Diagnosability  versus  The  Cloud

Cary  MillsapMethod  R  Corporationcary.millsap@method-­‐r.com  /  @CaryMillsap

OTN  Architect  Day,  Redwood  Shores10:00a–10:30a  Tuesday  30  August  2011  

Page 2: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

1985–19871988–19891990–19921993–19951996–19992000–20032004–20082009–20102011–

0 25 50 75 100

Teaching Consulting Business Method Software

Cary  Millsap

Page 3: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

Q What  does

The  Cloudmean  to  you?

Somebody  else’s  capital  expenditure.Somebody  else’s  hardware.Somebody  else’s  so8ware.Somebody  else  backs  it  up.Somebody  else  upgrades  it.Somebody  else  fixes  it  when  it  breaks....

Page 4: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

Q What  does

Diagnosabilitymean  to  you?

You  can  find  problems  efficiently.

You  can  fix  problems  efficiently.

Page 5: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

What  is  “easy  to  diagnose”?

Page 6: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

It’s  easy  to  diagnose  when  it’s  easy  to  answer…

Which  system?Which  program?

...Which  line  of  source  code?

Page 7: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

Q How  many  of  you  areperformance  people?

Here’s  how  you  can  tell...

Page 8: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

Q Do  you  prefer  a  fast  system?

Or  a  slow  system?

Then  you’re  a  performance  person.

Page 9: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

To  do  implement  a  successful  application  system,(whether  in  The  Cloud  or  otherwise,  but  especially  in  The  Cloud)

there  is  a  list  of  specific  technical  tasksthat  you  have  to  do  well.

I  will  talk  about  one  of  those  today.

Page 10: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

One  goal  of  The  Cloud  is  to  hide  detail.

But...

Page 11: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

If  the  details  of  where  time  is  being  spentare  concealed  from  your  technical  people,it’s  a  problem.

Page 12: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

(You  do  still  have  technical  people,  right?)

Page 13: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

Some  of  diagnosability’s  natural  enemies:

n-­‐tier  architectures

multiplexing  architecturesconnection  pooling,  session  pooling,  ...

service-­‐X  architecturesX  ∈  {bus,  oriented,  …}

The  Cloud

Page 14: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

http://en.wikipedia.org/wiki/File:ESB.svg

Page 15: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

SOA

http://en.wikipedia.org/wiki/File:SOA_Metamodel.svg

Page 16: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

http://en.wikipedia.org/wiki/File:Cloud_computing.svg

Page 17: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

No  matter  how  your  software  fits  together,  to  manage  performance,  you  must  be  ableto  follow  how  time  flows  through  all  the  code  that  services  your  requests.

Page 18: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

http://en.wikipedia.org/wiki/File:Restaurant-­‐UML-­‐SEQ.gif

The  sequence  diagram  helps  youconceptualize  time  flow...

Page 19: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

The  key  to  accounting  for  time  flow:

Instrumentation

Page 20: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

Instrumentation  is  codethat  marks  each  task  so  you  can

1.  identify  it2.  measure  its  time

Page 21: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

The  Oracle  Database  gets  it  right.

mark...dbms_session,  dbms_application_info,  OCIAttrSet,  setEndToEndMetrics,  ...

measure...dbms_monitor,  ASH,  AWR,  ADDM,  ...

http://www.method-­‐r.com/downloads/doc_details/72-­‐mastering-­‐performance-­‐with-­‐extended-­‐sql-­‐trace

Page 22: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

Diagnosability  begins  with  the  Oracle  Database’s  superb  tools  for  marking  tasks.

Page 23: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

My  message…

Page 24: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

1/6

No  matter  how  much  you  test,  you  can’t  know  how  an  application  is  going  to  behave  until  after  you’re  using  it  in  production.

Page 25: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

2 /6

You  can  reduce  your  operational  costs  significantly  if  you  can  make  your  application  easy  to  diagnose.

Page 26: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

3 /6

The  Oracle  Database  has  superb  diagnostic  hooks  built  in,  but  your  application  has  to  be  designed  to  use  them.

Page 27: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

4 /6

If  you’re  using  prepackaged  software,  diagnosability  is  a  feature  on  which  you  need  to  insist.

Page 28: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

5 /6

If  you’re  building  your  own  software,  diagnosability  is  not  that  difficult;  it’s  just  another  software  feature.

Page 29: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

6 /6

Forethought  and  understanding  about  instrumentation  saves  you  money  and  yields  better  performance  and  availability.

Page 30: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

Instrumentation  saves  you  money  and  yields  better  performance  and  availability.

Page 31: Diagnosability versus The Cloud, Redwood Shores 2011-08-30

http://method-­‐r.com

http://carymillsap.blogspot.com

http://twitter.com/CaryMillsap