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.
1
Loosely-Coupled
Architecture
How to get rid of the domino effect
2
3
4
radblog.pl @RadekMaziarkaobjectivity.co.uk
Radek Maziarka
5
Loosely-Coupled ArchitectureIn 1 sentence
... is one in which each of its components has, or makes
use of, little or no ...
6
SHOULD
YOU
EVEN
CARE?
7
Technology changes so fast...
8
9
10
„A loosely coupled, well-encapsulated
architecture drives IT performance.
In the 2017 dataset, this was the
biggest con...
11
Architecture / deploys per developersBased on “Accelerate – The science of Lean Software and DevOps”
0.1
1
10
100
1000
...
12
Loosely-Coupled Architecture
Large scale changes
Less coordination / communication
Deploy during normal hours
Testing o...
13
What is
Loosely-Coupled Architecture?
14
Microservices
15
16
Loosely-Coupled Architecture2 important factors which lead you to it
(Low) Coupling(High) Cohesion
17
Payroll department
3
SALARY INFORMATION NOT
AVAILABLE OUTSIDE
DEPARTMENT
ANNEX AS A FORM OF COMMUNICATION
YOU DON’T CHA...
18
Low Cohesion
Measures of cohesion
TemporalCoincidental Logical
Parts are grouped by when they
are processed.
The only r...
19
High Cohesion
Measures of cohesion
FunctionalInformationalSequential
Parts all contribute to a single well-
defined tas...
20
PresentationDomainDataLayering https://martinfowler.com/bliki/PresentationDomainDataLayering.html
21
PresentationDomainDataLayering https://martinfowler.com/bliki/PresentationDomainDataLayering.html
Vertical Slice Archit...
22
High Coupling
Measures of coupling
ControlContent Common
One module controlling the flow of
another, by passing it info...
23
Low Coupling
Measures of coupling
NoData Message
Modules do not communicate at all
with one another.
One module modifie...
24
MicroservicesBad signs of not applying Loosely-Coupled Architecture
3
GLOBAL STATE
KNOWLEDGE OF
INTERNAL BEHAVIOR
INTEG...
25
26
Lease applicationModules in system to lease cars
PAYMENTSCONFIG LEASE INVOICES LEGAL
27
Lease applicationModules in system to lease cars and computers
PAYMENTSCONFIG LEASE INVOICES LEGAL
CAR
COMPUTER
CAR
COM...
28
29
Lease applicationModules in system to lease cars and computers
PAYMENTSCONFIG LEASE INVOICES LEGAL
CAR
COMPUTER
CAR
COM...
30
CAR
Lease applicationModules in system to lease cars and computers
PAYMENTSCONFIG LEASE INVOICES LEGAL
COMPUTER
PAYMENT...
31
HOW
TO
FAIL?
32
Don’t Repeat Yourself
Every piece of knowledge must have a single, unambiguous, authoritative
representation within a s...
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
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
Unit.net
36
RailsConf 2014 - All the Little Things by Sandi Metz https://www.youtube.com/watch?v=8bZh5LMaSmE
37
Real example – notesImplementational differences within single context
PRODUCT ORDER DELIVERY USER
MGMT
PAYROLL
NOTES
38
Don’t Repeat Yourself
Every piece of knowledge must have a single, unambiguous,
authoritative representation within a s...
39
HOW
TO
ACHIEVE
IT?
40
DOMAIN
DRIVEN
DESIGN
41
How to split into modules?Few examples of good division heuristic
3
DEPARTMENTS
BUSINESS PROCESSESS
DOMAIN EXPERTS2
1
6...
42
43
Event StormingWorkshops of Alberto Brandolini
44
Event Storming - exampleWorkshops in Objectivity
45
Context mapApproaches of communications between contexts
Orders
Store
Shipping
Notifications
Down
Up
Shared Kernel
Laye...
46
Upcoming SlideShare
Loading in …5
×

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

362 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

×