Tightly Coupled vs. Loosely Coupled Components in AWS Application

Tightly Coupled vs. Loosely Coupled Components in AWS Application
Tightly Coupled vs. Loosely Coupled Components in AWS Application

CLOUD LABS



Tightly Coupled vs. Loosely Coupled Components in AWS Application

In this Cloud Lab, you’ll learn how to use and transform between tightly coupled and loosely coupled architectures.

9 Tasks

intermediate

1hr 30m

Certificate of Completion

Desktop OnlyDevice is not compatible.
No Setup Required
Amazon Web Services

Learning Objectives

The ability to differentiate between tightly coupled and loosely coupled architectures
Hands-on experience transforming a tightly coupled architecture to a loosely coupled architecture
Working knowledge of SNS with SQS queues to migrate real-world, tightly coupled cloud applications to loosely coupled architectures
Hands-on experience deploying resources on AWS using AWS CLI and Boto3 SDK

Technologies
SNS logoSNS
SQS logoSQS
Lambda logoLambda
DynamoDB logoDynamoDB
CloudWatch logoCloudWatch
Cloud Lab Overview

In cloud applications, the degree of coupling between components directly affects scalability, flexibility, and resilience.

Tightly coupled architectures can slow development and complicate scaling because components depend heavily on each other. In contrast, loosely coupled architectures are ideal for the cloud as they enable independent scaling, simpler updates, and fault isolation, making it easier to build and maintain systems in cloud environments.

In this Cloud Lab, you’ll build a tightly coupled architecture for a ride-matching service using two AWS Lambda functions: one to handle ride requests, and another to match drivers. The architecture diagram below illustrates the provisioned, tightly coupled infrastructure that you’ll build in this lab.

Tightly coupled architecture for ride booking service
Tightly coupled architecture for ride booking service

As the Cloud Lab progresses, you’ll refactor this setup into a loosely coupled, asynchronous architecture.

You’ll create a dedicated SNS topic and an SQS queue for driver matching requests. You’ll also create a Lambda function for fare estimation and a DynamoDB table to store all the matched riders and ride requests. Finally, you’ll test your fully decoupled system by triggering ride requests and observing how each microservice executes independently and asynchronously.

By the end of this Cloud Lab, you’ll be well equipped to break down tightly coupled architectures into loosely coupled and discreetly differentiate between them.

Loosely coupled architecture for ride booking service
Loosely coupled architecture for ride booking service

Cloud Lab Tasks
1.Introduction
Getting Started
2.Tightly Coupled Architecture
Create an IAM Role
Create Lambda Functions
3.Loosely Coupled Architecture
Create the SQS Queue and SNS Topic
Create a DynamoDB Table
Modify Lambda Functions
Test the Application
4.Conclusion
Clean Up
Wrap Up
Labs Rules Apply
Stay within resource usage requirements.
Do not engage in cryptocurrency mining.
Do not engage in or encourage activity that is illegal.

Relevant Courses

Use the following content to review prerequisites or explore specific concepts in detail.

Hear what others have to say
Join 1.4 million developers working at companies like