From the course: AWS Essential Training for Architects

Unlock this course with a free trial

Join today to access over 25,300 courses taught by industry experts.

Architecting loosely coupled applications with SNS and SQS

Architecting loosely coupled applications with SNS and SQS - Amazon Web Services (AWS) Tutorial

From the course: AWS Essential Training for Architects

Architecting loosely coupled applications with SNS and SQS

A key architectural design that makes applications fault-tolerant is loose coupling. Coupling refers to the interdependence between different components in a system. Loose coupling aims to minimize the dependencies between components. This means changes to one component are less likely to have a cascading effect on other components. Let's look at an example. Imagine we have a monolithic web application. The different components of the application, such as the front-end or the web tier, the application tier and the database tier are all hosted on a single server. In this case, if the server fails, the entire application fails. This is an example of a tightly coupled application. To reduce coupling or interdependence, we can separate the tiers. We can host the web application and database tiers on different servers. While this is an improvement from the previous design, it is still not highly available. If any of the tiers fails, the web application fails. We can solve this problem by…

Contents