Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Diagnosability versus The Cloud, Toronto 2011-04-21

1,438 views

Published on

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.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Diagnosability versus The Cloud, Toronto 2011-04-21

  1. 1. Diagnosability  versus  The  CloudCary  MillsapMethod  R  Corporationcary.millsap@method-­‐r.com  /  @CaryMillsapOTN  Architect  Day,  Toronto10:00a–10:30a  Thursday  21  April  2011  
  2. 2. Cary  MillsapTeaching Consulting Business Method Software 1985–1987 1988–1989 1990–1992 1993–1995 1996–1999 2000–2003 2004–2008 2009–2010 2011–201x 0 25 50 75 100
  3. 3. Q What  does The  Cloud mean  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....
  4. 4. Q What  does Diagnosability mean  to  you?You  can  find  problems  efficiently.You  can  fix  problems  efficiently.
  5. 5. What  is  “easy  to  diagnose”?
  6. 6. It’s  easy  to  diagnose  when  it’s  easy  to  answer… Which  system? Which  program? ... Which  line  of  source  code?
  7. 7. Q How  many  of  you  are performance  people?Here’s  how  you  can  tell...
  8. 8. Q Do  you  prefer  a  fast  system? Or  a  slow  system?Then  you’re  a  performance  person.
  9. 9. One  goal  of  The  Cloud  is  to  hide  detail. But...
  10. 10. If  the  details  of  where  time  is  being  spentare  concealed  from  your  technical  people,it’s  a  problem.
  11. 11. (You  do  still  have  technical  people,  right?)
  12. 12. Some  of  diagnosability’s  natural  enemies: n-­‐tier  architectures multiplexing  architectures connection  pooling,  session  pooling,  ... service-­‐X  architectures X  ∈  {bus,  oriented,  …} The  Cloud
  13. 13. http://en.wikipedia.org/wiki/File:ESB.svg
  14. 14. SOA http://en.wikipedia.org/wiki/File:SOA_Metamodel.svg
  15. 15. http://en.wikipedia.org/wiki/File:Cloud_computing.svg
  16. 16. 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.
  17. 17. The  sequence  diagram  helps  you conceptualize  time  flow... http://en.wikipedia.org/wiki/File:Restaurant-­‐UML-­‐SEQ.gif
  18. 18. The  key  to  accounting  for  time  flow:Instrumentation
  19. 19. Instrumentation  is  codethat  marks  each  task  so  you  can 1.  identify  it 2.  measure  its  time
  20. 20. 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
  21. 21. Diagnosability  begins  with  the  Oracle  Database’s  superb  tools  for  marking  tasks.
  22. 22. My  message…
  23. 23. 1 /6No  matter  how  much  you  test,  you  can’t  know  how  an  application  is  going  to  behave  until  after  you’re  using  it  in  production.
  24. 24. 2 /6You  can  reduce  your  operational  costs  significantly  if  you  can  make  your  application  easy  to  diagnose.
  25. 25. 3 /6The  Oracle  Database  has  superb  diagnostic  hooks  built  in,  but  your  application  has  to  be  designed  to  use  them.
  26. 26. 4 /6If  you’re  using  prepackaged  software,  diagnosability  is  a  feature  on  which  you  need  to  insist.
  27. 27. 5 /6If  you’re  building  your  own  software,  diagnosability  is  not  that  difficult;  it’s  just  another  software  feature.
  28. 28. 6 /6Forethought  and  understanding  about  instrumentation  saves  you  money  and  yields  better  performance  and  availability.
  29. 29. Instrumentation  saves  you  money  and  yields  better  performance  and  availability.
  30. 30. http://method-­‐r.comhttp://carymillsap.blogspot.comhttp://twitter.com/CaryMillsap

×