We use Fargate in order to scale data processing for retail data. The company I am working for processes data for retail customers like consumer packaged goods producers that sell through Walmart, and other retail chains.
The company I work for processes sales, inventory, and order data from those retail chains. We use Fargate to scale the data processing for those kinds of files.
For microservices, we mostly use a combination of Fargate within Lambda.
Previously, we had this kind of processing in Docker containers deployed on EC2 instances. To scale that, the operation was pretty hard. So, we made a change in the architecture, and instead of deploying those containers on EC2 instances, we deployed them on Fargate. So, the application scales pretty easily.
The application autoscaling within Fargate simplifies the application scaling process.
The application is pretty simple, so we're not using any complex or added integration features. We're just using it to deploy the containers. We trigger the processes by directly calling the services already exposed by the container. The only service we integrated with Fargate was Amazon EventBridge to ensure we have both on-demand and scheduled capacities to handle peak hours. That's pretty much it. We do not integrate it with SQS or any other queuing system.