When you start deploying multiple applications, they will need to communicate each other.
2 types of communication: 1- Synchronous: Application to application
- It can be problematic in sudden spikes of traffic
- If too much spike, it is better to decouple your apps 2- Asynchronous / Event Based: Application to queue to application
- SQS: Queue Model
- SNS: pub/sub model
- Kinesis: Real-time streaming model