support c o n s t a n t change change change
play

sUpPORt c O n S T a N t cHAnGe cHAnGe cHAnGe nealford.com - PowerPoint PPT Presentation

cHAnGe sUpPORt c O n S T a N t cHAnGe cHAnGe cHAnGe nealford.com @neal4d to make di ff erent in some particular to undergo a modi fi cation of to give a di ff erent position, course, or direction to cHAnGe to replace with another to make a


  1. cHAnGe sUpPORt c O n S T a N t cHAnGe cHAnGe cHAnGe nealford.com @neal4d

  2. to make di ff erent in some particular to undergo a modi fi cation of to give a di ff erent position, course, or direction to cHAnGe to replace with another to make a shift from one to another to make radically di ff erent

  3. cHAnGe

  4. bUSineSs dRiVEn

  5. bUSineSs dRiVEn

  6. tEcHnoLoGy DriVEn bUSineSs dRiVEn

  7. dYNaMic eqUiLiBRiuM

  8. dYNaMic eqUiLiBRiuM ¯

  9. How is long term planning possible when things constantly unEXpECtEd unEXpECtEd change in unEXpECtEd ways?

  10. everything in architecture is a tradeo ff

  11. code use, reuse, & abuse reuse

  12. Software reuse is more like an organ transplant than snapping together Lego blocks. John D. Cook http://www.johndcook.com/blog/2011/02/03/lego-blocks-and-organ-transplants/

  13. two reuse solutions

  14. ESB-driven SOA

  15. customer customer auto and life homeowners insurance insurance division division customer customer commercial disability customer insurance insurance service division division customer customer casualty travel insurance insurance division division

  16. The more re usable something is, the less usable it is.

  17. reuse coupling

  18. ESB-driven SOA

  19. microservices architecture client requests client requests client requests api layer service component module module

  20. service service component component module module module module

  21. service templates/sidecars logging monitoring service component module module A&A http://www.dropwizard.io/ https://projects.spring.io/spring-boot/

  22. the rise of service meshes

  23. the rise of service meshes

  24. the rise of service meshes

  25. the rise of service meshes service service component component module module module module

  26. the rise of service meshes

  27. everything in architecture is a tradeo ff

  28. Last 10% Trap “Users always want 100% of what they want (& are never satis fi ed with less).” 80% 10% 10% what the user wants

  29. What Happened to the 4GLs? DSL

  30. see also: Vendor King Anti-pattern

  31. Current 10% Trap? ? serverless ! “low code” environments

  32. sUpPORt cOnSTaNt cHAnGe

  33. ConStRAinT

  34. Not a good kind snowflake servers of vAriABiLitY

  35. reMoVe vAriAbiLitY

  36. kNigHt cApiTaL

  37. dougseven.com/2014/04/17/knightmare-a-devops-cautionary-tale/ “bankrupt in 45 minutes”

  38. Architectural governance

  39. @neal4d @rebeccaparsons @patkua nealford.com

  40. Evolutionary Architecture An evolutionary architecture supports guided, incremental change across multiple dimensions.

  41. Evolutionary Architecture An evolutionary architecture supports guided, guided incremental change across multiple dimensions.

  42. guided An architectural fi tness function provides an objective integrity assessment of some architectural characteristic(s).

  43. Cyclic Dependencies application clarkware.com/software/JDepend.html

  44. Governing Layered Architecture

  45. ArchUnit https://www.archunit.org/

  46. ArchUnit https://www.archunit.org/ layer dependency

  47. Legality of Open Source Libraries Penultima ⬆e

  48. Legality of Open Source Libraries Penultima ⬆e

  49. Legality of Open Source Libraries Penultima ⬆e

  50. Legality of Open Source Libraries Penultima ⬆e

  51. incremental commit/ functional UAT staging unit test test 01001001010101 improved 01010101010101 star rating 00101010010010 00100100010001 unit functionally tested tested star rating code code database deployed code shipping survey catalog Production

  52. Deployment Pipeline + Fitness Functions holistic atomic commit/ functional fitness fitness UAT unit test test functions functions 01001001010101 01010101010101 00101010010010 00100100010001 unit functionally architecturally tested tested tested code code code database deployed quantum integration environment

  53. evolutionary architecture governance Security fitness atomic holistic functions replicating containerize deploy to fitness fitness CI & deploy production functions functions EA 01001001010101 fitness 01010101010101 functions 00101010010010 00100100010001 database database database

  54. sUpPORt cOnSTaNt cHAnGe

  55. incremental commit/ functional UAT staging unit test test 01001001010101 improved 01010101010101 star rating 00101010010010 00100100010001 unit functionally tested tested star rating code code database deployed code shipping survey catalog Production

  56. moVe faSt & fi X tHiNgs

  57. https://github.com/github/scientist

  58. ▫︎ It decides whether or not to run the try block, ▫︎ Randomizes the order in which use and try blocks are run, ▫︎ Measures the durations of all behaviors, ▫︎ Compares the result of try to the result of use, ▫︎ Swallows (but records) any exceptions raised in the try block ▫︎ Publishes all this information.

  59. 4 days 24 hours/ no mismatches or slow cases > 10,000,000 > 10,000,000 comparisons comparisons

  60. sUpPORt cOnSTaNt cHAnGe

  61. sUpPORt cOnSTaNt cHAnGe remove needless variability

  62. sUpPORt cOnSTaNt cHAnGe automation = platform

  63. sUpPORt cOnSTaNt cHAnGe everything is a tradeoff

  64. sUpPORt cOnSTaNt cHAnGe

  65. nealford.com @neal4d nealford.com/videos www.oreilly.com/software-architecture-video-training-series.html nealford.com/books

Recommend


More recommend