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

  • 186 views
Uploaded 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 …

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.

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
186
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
4
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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