liveBook · Manning

Coupling

As explained in Amazon Web Services in Action, Third Edition: An in-depth guide to AWS

Decoupling is the architectural separation of components so they communicate through an intermediary or interface rather than depending directly on each other.

Decoupling separates architectural components so they communicate through an intermediary rather than depending directly on one another. It reduces dependencies and helps one component continue operating when another is unavailable. section 14.3 section 16.0

Two practical forms are useful in AWS architectures:

  • Synchronous decoupling keeps the interaction immediate while allowing the participants to remain unaware of each other. Elastic Load Balancing routes requests to healthy application instances and stops using failed ones. section 14.3 section 16.1.2
  • Asynchronous decoupling uses a message queue so producers and consumers do not need to be available simultaneously. Amazon SQS requires application code to communicate through an SDK. section 14.3 section 16.1.2

Fault-tolerant web application

Place multiple EC2 instances in subnets across two Availability Zones behind an Elastic Load Balancer. If an instance fails, the load balancer stops routing requests to it and an Auto Scaling group replaces it. For background work, place messages in SQS and let EC2 workers process them asynchronously. section 16.1.2

Figure 16.3 Fault-tolerant EC2 instances with an Auto Scaling group and an Elastic Load Balancer

Use the architecture diagram to trace synchronous decoupling between clients, an Elastic Load Balancer, redundant subnets, and EC2 instances; compare it with the SQS model when asynchronous processing is needed. section 16.1.2

Decoupling supports fault tolerance but does not remove every design concern. Redundancy must cover Availability Zones, subnets, and compute instances, while managed ELB and SQS provide fault-tolerant intermediaries. section 16.1.2

How Amazon Web Services in Action, Third Edition: An in-depth guide to AWS covers it

How deep it goes
Explains synchronous and asynchronous patterns through ELB, SQS, health checks, redundancy, and failure replacement.
Examples
Uses redundant EC2 instances behind ELB and asynchronous EC2 workers consuming SQS messages.
What it assumes
Assumes basic application and EC2 concepts while teaching synchronous and asynchronous communication patterns from their architectural purpose.
What you can do after
Apply it via Elastic Load Balancing or SQS to separate components and continue serving through instance failures.
How it connects
Connects decoupling with Elastic Load Balancing, Amazon SQS, redundancy, Auto Scaling, Availability Zones, and fault tolerance.

Also explained in

Compare how 17 books explain coupling →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Amazon Web Services in Action, Third Edition: An in-depth guide to AWS. The section links point to the parts of the book it draws on.