AWS Fargate can be used either with AWS Batch or with ECS. In both cases, you provide Fargate with a Docker Image, it executes it, and then stops. Hence, could someone help me understand the advantages/disadvantages of using either of these services?
AWS Batch is an overlay on top of ECS that handles a few things for you that are important for non-interactive tasks. These include (not a complete list):
There may be other benefits that are specific to your workloads but the above should give you a good idea of why Batch over native ECS Fargate for these types of requests.
As Mark B mentioned, if you are running a stable service, then Batch is not the right solution and you should opt for direct use of ECS Fargate.