Serverless Batch Scheduling with AWS Batch and AWS Fargate

Posted on: Dec 3, 2020

Today AWS Batch introduced the ability for customers to specify AWS Fargate as a compute resource for their AWS Batch jobs. With AWS Batch support for AWS Fargate, customers now have a way to run jobs on serverless compute resources, fully managed from job submission to completion. Now, you only need to submit your analytics, map reduce, and other batch workloads and let AWS Batch and AWS Fargate handle the rest.  

Customers can simply specify Fargate or Fargate Spot as a compute resource type in Batch, submit a Fargate-compatible job definition, and immediately gain the advantages of serverless computing: automatic patching, VM boundary isolation, and always right-sized compute. With Fargate, every job receives the exact amount of CPU and memory that it requests (within allowed Fargate SKU’s), so there is no wasted resource time or need to wait for EC2 instance launches.  

If you are currently an AWS Fargate user, AWS Batch provides you with a managed batch queue, complete with the ability to specify priority, dependencies, and retries. For example, Batch allows you to queue up thousands of jobs, and Batch will handle submitting those jobs to Fargate, retry any jobs that fail according to your specification, and launching any dependent jobs as necessary. It provides an additional layer of management, so even if you have tens of thousands of jobs you don’t need to worry about building infrastructure.  

If you’re a current Batch user, Fargate allows for an additional layer of separation away from EC2. There’s no need to manage or patch AMI’s, and with Fargate you can spend even less time thinking about resources and capacity. You can submit your Fargate-compatible jobs to Batch, and don’t have to worry about maintaining two different services if you have workloads that run on EC2, and others that run on Fargate. Fargate also provides security benefits that come with no added effort (e.g., SOX, PCI compliance), and isolation between compute resources for every job.  

Together, AWS Batch gives you a fully managed, serverless batch scheduling solution with simplicity and visibility using AWS Fargate resources. To learn more, visit our blog.