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.

Loosely-Coupled Architecture - how to get rid of the domino effect

148 views

Published on

Traditionally, while creating our system, you don't focus on creating our components separated from each other. As a result, one problem can lead you to the domino effect - the whole system stops working. How to counteract it?

"Loosely coupled architecture" is recognized as the main factor to create a highly-scalable system. It allows you to make changes in your application which won't effect on their other part. See yourself what are the criteria of this architecture to be able to introduce it to your solution from the very beginning.

Published in: Internet
  • DOWNLOAD FULL BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Loosely-Coupled Architecture - how to get rid of the domino effect

  1. 1. 1 Loosely-Coupled Architecture How to get rid of the domino effect
  2. 2. 2
  3. 3. 3
  4. 4. 4 radblog.pl @RadekMaziarkaobjectivity.co.uk Radek Maziarka
  5. 5. 5 Loosely-Coupled ArchitectureIn 1 sentence ... is one in which each of its components has, or makes use of, little or no knowledge of the definitions of other separate components.
  6. 6. 6 SHOULD YOU EVEN CARE?
  7. 7. 7 Technology changes so fast...
  8. 8. 8
  9. 9. 9
  10. 10. 10 „A loosely coupled, well-encapsulated architecture drives IT performance. In the 2017 dataset, this was the biggest contributor to continuous delivery.”
  11. 11. 11 Architecture / deploys per developersBased on “Accelerate – The science of Lean Software and DevOps” 0.1 1 10 100 1000 1 10 50 100 Numberofdeploys/day Number of developers HIGHLY MODERATELY LOOSELY
  12. 12. 12 Loosely-Coupled Architecture Large scale changes Less coordination / communication Deploy during normal hours Testing on without E2E High number of deploys Better / faster scaling
  13. 13. 13 What is Loosely-Coupled Architecture?
  14. 14. 14 Microservices
  15. 15. 15
  16. 16. 16 Loosely-Coupled Architecture2 important factors which lead you to it (Low) Coupling(High) Cohesion
  17. 17. 17 Payroll department 3 SALARY INFORMATION NOT AVAILABLE OUTSIDE DEPARTMENT ANNEX AS A FORM OF COMMUNICATION YOU DON’T CHANGE YOUR OWN SALARY2 1 4 NO SHARING ABOUT INTERNAL DETAILS Good example of Loosely-Coupled Architecture
  18. 18. 18 Low Cohesion Measures of cohesion TemporalCoincidental Logical Parts are grouped by when they are processed. The only relationship between the parts is that they have been grouped together. Parts are logically categorized to do the same thing even though they are different by nature. SHARED Coupling And Cohesion https://files-cdn.cnblogs.com/files/younggift/Cohesion&Coupling.pdf DATA ACCESS ON INIT
  19. 19. 19 High Cohesion Measures of cohesion FunctionalInformationalSequential Parts all contribute to a single well- defined task of the module. Multiple functions represented by entry points deal with a single data structure. Output from one part is the input to another part like an assembly line. ORDER MGMT.BUILDER PAYMENT CALCULATOR Coupling And Cohesion https://files-cdn.cnblogs.com/files/younggift/Cohesion&Coupling.pdf
  20. 20. 20 PresentationDomainDataLayering https://martinfowler.com/bliki/PresentationDomainDataLayering.html
  21. 21. 21 PresentationDomainDataLayering https://martinfowler.com/bliki/PresentationDomainDataLayering.html Vertical Slice Architecture https://jimmybogard.com/vertical-slice-architecture/
  22. 22. 22 High Coupling Measures of coupling ControlContent Common One module controlling the flow of another, by passing it information on what to do. One module modifies or relies on the internal workings of another module (e.g. data, logic). Two modules share the same global data. Coupling And Cohesion https://files-cdn.cnblogs.com/files/younggift/Cohesion&Coupling.pdf DB 1 1 2 DB 2 1 2 flag
  23. 23. 23 Low Coupling Measures of coupling NoData Message Modules do not communicate at all with one another. One module modifies or relies on the internal workings of another module (e.g. data, logic). Modules use a public interface to exchange parameter-less messages. Coupling And Cohesion https://files-cdn.cnblogs.com/files/younggift/Cohesion&Coupling.pdf 1 21 2 ID Data Message Bus 1 2
  24. 24. 24 MicroservicesBad signs of not applying Loosely-Coupled Architecture 3 GLOBAL STATE KNOWLEDGE OF INTERNAL BEHAVIOR INTEGRATION BY DATABASE2 1 4 SERVICES ARE OVERLY CHATTY
  25. 25. 25
  26. 26. 26 Lease applicationModules in system to lease cars PAYMENTSCONFIG LEASE INVOICES LEGAL
  27. 27. 27 Lease applicationModules in system to lease cars and computers PAYMENTSCONFIG LEASE INVOICES LEGAL CAR COMPUTER CAR COMPUTER CAR COMPUTER CAR COMPUTER CAR COMPUTER
  28. 28. 28
  29. 29. 29 Lease applicationModules in system to lease cars and computers PAYMENTSCONFIG LEASE INVOICES LEGAL CAR COMPUTER CAR COMPUTER CAR COMPUTER CAR COMPUTER CAR COMPUTER
  30. 30. 30 CAR Lease applicationModules in system to lease cars and computers PAYMENTSCONFIG LEASE INVOICES LEGAL COMPUTER PAYMENTSCONFIG LEASE INVOICES LEGAL
  31. 31. 31 HOW TO FAIL?
  32. 32. 32 Don’t Repeat Yourself Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.
  33. 33. 33 Cost of a new featureComparision between DRY and not-DRY not-DRYDRY A B C A B C FUN FUN FUN FUN X X X X FUN
  34. 34. 34 Cost of new different featuresComparision between DRY and noT-DRY not-DRYDRY A B C A B C FUN FUN FUN FUN ? X Z Y
  35. 35. 35 Unit.net
  36. 36. 36 RailsConf 2014 - All the Little Things by Sandi Metz https://www.youtube.com/watch?v=8bZh5LMaSmE
  37. 37. 37 Real example – notesImplementational differences within single context PRODUCT ORDER DELIVERY USER MGMT PAYROLL NOTES
  38. 38. 38 Don’t Repeat Yourself Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.
  39. 39. 39 HOW TO ACHIEVE IT?
  40. 40. 40 DOMAIN DRIVEN DESIGN
  41. 41. 41 How to split into modules?Few examples of good division heuristic 3 DEPARTMENTS BUSINESS PROCESSESS DOMAIN EXPERTS2 1 6 DATA OWNERSHIPS RATE OF CHANGE USER EXPERIENCE5 4
  42. 42. 42
  43. 43. 43 Event StormingWorkshops of Alberto Brandolini
  44. 44. 44 Event Storming - exampleWorkshops in Objectivity
  45. 45. 45 Context mapApproaches of communications between contexts Orders Store Shipping Notifications Down Up Shared Kernel Layer Partnership Legacy Reporting Separate Ways
  46. 46. 46

×