> For the complete documentation index, see [llms.txt](https://huy312100.gitbook.io/software-development/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://huy312100.gitbook.io/software-development/cloud-service/aws/certificate/clf-c02/cloud-technology-and-services/cloud-integration/overview.md).

# Overview

• When we start deploying multiple applications, they will inevitably need to communicate with one another

• There are two patterns of application communication

<figure><img src="https://1722711354-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwNXdoUkfmcozr29fRrfb%2Fuploads%2F5Ui3nlIoU0OYwjzPKZNo%2FScreenshot%202023-12-24%20at%2000.08.38.png?alt=media&amp;token=63979dfb-7b8c-43d8-b8ec-a924be20662f" alt=""><figcaption></figcaption></figure>

* Synchronous between applications can be problematic if there are sudden spikes of traffic
* What if you need to suddenly encode 1000 videos but usually it’s 10?
* In that case, it’s better to decouple your applications:
  * using SQS: queue model
  * using SNS: pub/sub model
  * using Kinesis: real-time data streaming model
* These services can scale independently from our application!
