Core Concept: Loose Coupling. Instead of App A talking directly to Database B (where if B crashes, A crashes), you put a messenger in the middle.
Amazon SQS (Simple Queue Service): A “waiting line” for messages. If your database is overwhelmed, SQS holds the user requests safely until the database is ready. Prevents data loss and app crashes. (Standard vs. FIFO queues).
Amazon SNS (Simple Notification Service): A “megaphone.” Publish a message once, and it broadcasts to multiple subscribers (Emails, SMS, Lambda functions, SQS queues).
AWS Step Functions: A visual workflow builder. Lets you chain Lambda functions and AWS services together into a step-by-step process with built-in error handling (e.g., Step 1: Process payment -> Step 2: If fail, send refund email).
Scenario Spotlight
Prevent lost user signups if the database temporarily fails? ➔ SQS (holds the signups in a queue until the DB recovers).
Build a visual onboarding workflow for new customers? ➔ Step Functions.
Send an SMS and an Email simultaneously when a server crashes? ➔ SNS.