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.

Architecture, what does it even mean?


Published on

Everyone seems to have an intuitive understanding of ‘architecture’ as the process and product of planning, designing, and constructing. The problem is most people don’t have the same understanding which leads to disagreements about what the process and product entails. The transition from software shipped on physical media to software delivered as services further complicated the conversation as operating services introduces other factors that must be considered on an ongoing basis. These misunderstandings have only been exacerbated as greater speed and scale create new problems necessitating novel emergent solutions. This presentation will attempt to highlight the need for new language with dense semantics about the emerging architectures (because just saying ‘microservices’ is causing more problems than it solves) while also pointing out that many of the struggles people have delivering software are rooted in architecture.

Published in: Technology

Architecture, what does it even mean?

  1. 1. Architecture I do not think it means what you think it means Andrew Clay Shafer @littleidea
  2. 2. Microservices you keep using that word @littleidea
  3. 3. You are going to need it the last responsible moment was 12 months ago @littleidea
  4. 4. Sympathy for the Machine pleased to meet you, hope you guessed my name @littleidea
  5. 5. We are missing language we have no timeless way of building @littleidea
  6. 6. Story Time With Uncle Andrew this is fine @littleidea
  7. 7. @littleidea tl;dr there is a new thing better than the old thing local rationality rules everything we have not yet developed the words
  8. 8. @littleidea Agenda • Introduction • Influences • Assertions • Meandering • Bikeshedding • Conflate Things • More Meandering • Call to Action
  9. 9. Andrew Clay Shafer
  10. 10. Andrew Clay Shafer @littleidea
  11. 11. @littleidea
  12. 12. My Formative Journey
  13. 13. @littleidea Models, Mechanisms, Machines
  14. 14. @littleidea Assertions
  15. 15. Principles > Practices >Tools
  16. 16. devops, continuous delivery, microservices… words
  17. 17. These things are all one…
  18. 18. @littleidea how, why, what
  19. 19. @littleidea everyone wants to continuously devops microservices buzzword compliance™
  20. 20. faster and safer OODA LOOPSMALL BATCHES
  21. 21. Continuous Delivery?
  22. 22. A Quantum of Delivery
  23. 23. continuously delivered microservices
  24. 24. @littleidea if the per service cost of deployment and management of each service is not negligible… gl;hf the best way to drive down the cost of deployment… architecture
  25. 25. @littleidea improved architecture >> ad hoc automation
  26. 26. @littleidea more problems are architectural than people seem to realize most problems don’t manifest in slides
  27. 27. @littleidea deployment problems operational problems scaling problems resilience problems
  28. 28. @littleidea non-functional requirements requirements, which if not met, will make a system non-functional
  29. 29. @littleidea failure modes matter
  30. 30. @littleidea where were we?
  31. 31. @littleidea Towns, Buildings, Construction
  32. 32. @littleidea prelude: relate to coarse patterns declaration: a statement of value narrative: prose about the pattern continuity: relate to fine grain patterns A Pattern Language
  33. 33. @littleidea If I had an hour to solve a problem I'd spend 55 minutes thinking about the problem and 5 minutes thinking about solutions. — Albert Einstein
  34. 34. @littleidea What is the problem?
  35. 35. @littleidea So Obvious? So What?
  36. 36. @littleidea what even is architecture?
  37. 37. @littleidea what even is an architect?
  38. 38. @littleidea • Software Architecture? • System Architecture? • Service Architecture?
  39. 39. Differentiated Value Line Databases Monitoring Userland glibc kernel hardware
  40. 40. Software Software Software Software Software Software not Software
  41. 41. Differentiated Value Line Someone Else’s Problem Someone Else’s Problem Someone Else’s Problem Someone Else’s Problem Someone Else’s Problem Someone Else’s Problem
  42. 42. @littleidea I’d rather be able to fix a bug in the kernel and not need to, than need to fix a bug in the kernel and not be able to
  43. 43. @littleidea What do you need to deliver a service?
  44. 44. @littleidea When you draw a hexagon connected to a database what did you actually decide?
  45. 45. @littleidea What can actually be implemented?
  46. 46. @littleidea prelude: relate to big picture declaration: a statement of value narrative: prose about the pattern continuity: relate to details A Pattern Language
  47. 47. @littleidea Qualitative and Quantitative
  48. 48. @littleidea What promises does the architecture help you make and keep?
  49. 49. @littleidea How does it relate to the people?
  50. 50. @littleidea Inside and Outside the ‘Software’? System? Service?
  51. 51. How do people gain confidence about their work? What do they enjoy? What do they dread? How do people perceive the difficulty of their work? What do they learn through conversation alone? How do engineers learn “on-the-job”? Bonus Allspaw Slide
  52. 52. “Well”-adapted work occurs with a facility that belies the difficulty of the demands resolved and the dilemmas balanced. Joint Cognitive Systems, Patterns in Cognitive Systems Engineering. Woods, Hollnagel, 2006 Law of Fluency Bonus Allspaw Slide
  53. 53. @littleidea we need shared metaphors
  54. 54. @littleidea we need a sociolect
  55. 55. @littleidea we need sociolects
  56. 56. @littleidea minimally viable formalism
  57. 57. @littleidea In Summary • This cloud thing is really going to be changing everything • We develop pop cultures as practitioners • Architecture is generally poorly understood • Qualitative and quantitative understanding would benefit everyone
  58. 58. @littleidea Call To Action • Continuously Expand Your Understanding • Share Your Understanding With The Global Community of Practice • Develop Shared Metaphors and Sociolects • Please Someone Write This Book For Me (So I don’t have to)
  59. 59. Thank You @littleidea
  60. 60. Differentiated Value Line Someone Else’s Problem Someone Else’s Problem Someone Else’s Problem Someone Else’s Problem Someone Else’s Problem Someone Else’s Problem