Need advice about which tool to choose?Ask the StackShare community!

AWS Batch

65
186
+ 1
4
AWS Lambda

16.8K
12.6K
+ 1
418
Add tool

AWS Batch vs AWS Lambda: What are the differences?

Developers describe AWS Batch as "Fully Managed Batch Processing at Any Scale". It enables developers, scientists, and engineers to easily and efficiently run hundreds of thousands of batch computing jobs on AWS. It dynamically provisions the optimal quantity and type of compute resources (e.g., CPU or memory optimized instances) based on the volume and specific resource requirements of the batch jobs submitted. On the other hand, AWS Lambda is detailed as "Automatically run code in response to modifications to objects in Amazon S3 buckets, messages in Kinesis streams, or updates in DynamoDB". AWS Lambda is a compute service that runs your code in response to events and automatically manages the underlying compute resources for you. You can use AWS Lambda to extend other AWS services with custom logic, or create your own back-end services that operate at AWS scale, performance, and security.

AWS Batch and AWS Lambda belong to "Serverless / Task Processing" category of the tech stack.

Decisions about AWS Batch and AWS Lambda

When adding a new feature to Checkly rearchitecting some older piece, I tend to pick Heroku for rolling it out. But not always, because sometimes I pick AWS Lambda . The short story:

  • Developer Experience trumps everything.
  • AWS Lambda is cheap. Up to a limit though. This impact not only your wallet.
  • If you need geographic spread, AWS is lonely at the top.
The setup

Recently, I was doing a brainstorm at a startup here in Berlin on the future of their infrastructure. They were ready to move on from their initial, almost 100% Ec2 + Chef based setup. Everything was on the table. But we crossed out a lot quite quickly:

  • Pure, uncut, self hosted Kubernetes — way too much complexity
  • Managed Kubernetes in various flavors — still too much complexity
  • Zeit — Maybe, but no Docker support
  • Elastic Beanstalk — Maybe, bit old but does the job
  • Heroku
  • Lambda

It became clear a mix of PaaS and FaaS was the way to go. What a surprise! That is exactly what I use for Checkly! But when do you pick which model?

I chopped that question up into the following categories:

  • Developer Experience / DX 🤓
  • Ops Experience / OX 🐂 (?)
  • Cost 💵
  • Lock in 🔐

Read the full post linked below for all details

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of AWS Batch
Pros of AWS Lambda
  • 2
    Scalable
  • 2
    Containerized
  • 127
    No infrastructure
  • 82
    Cheap
  • 69
    Quick
  • 57
    Stateless
  • 47
    No deploy, no server, great sleep
  • 9
    AWS Lambda went down taking many sites with it
  • 6
    Event Driven Governance
  • 5
    Auto scale and cost effective
  • 5
    Extensive API
  • 5
    Easy to deploy
  • 4
    VPC Support
  • 2
    Integrated with various AWS services

Sign up to add or upvote prosMake informed product decisions

Cons of AWS Batch
Cons of AWS Lambda
  • 1
    More overhead than lambda
  • 1
    Image management
  • 5
    Cant execute ruby or go
  • 0
    Can't execute PHP w/o significant effort

Sign up to add or upvote consMake informed product decisions

What is AWS Batch?

It enables developers, scientists, and engineers to easily and efficiently run hundreds of thousands of batch computing jobs on AWS. It dynamically provisions the optimal quantity and type of compute resources (e.g., CPU or memory optimized instances) based on the volume and specific resource requirements of the batch jobs submitted.

What is AWS Lambda?

AWS Lambda is a compute service that runs your code in response to events and automatically manages the underlying compute resources for you. You can use AWS Lambda to extend other AWS services with custom logic, or create your own back-end services that operate at AWS scale, performance, and security.

Need advice about which tool to choose?Ask the StackShare community!

What companies use AWS Batch?
What companies use AWS Lambda?
See which teams inside your own company are using AWS Batch or AWS Lambda.
Sign up for Private StackShareLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with AWS Batch?
What tools integrate with AWS Lambda?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

GitHubPythonNode.js+47
50
69396
GitHubDockerAmazon EC2+23
12
6359
JavaScriptGitHubPython+42
52
19886
What are some alternatives to AWS Batch and AWS Lambda?
Beanstalk
A single process to commit code, review with the team, and deploy the final result to your customers.
Airflow
Use Airflow to author workflows as directed acyclic graphs (DAGs) of tasks. The Airflow scheduler executes your tasks on an array of workers while following the specified dependencies. Rich command lines utilities makes performing complex surgeries on DAGs a snap. The rich user interface makes it easy to visualize pipelines running in production, monitor progress and troubleshoot issues when needed.
Kubernetes
Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.
Serverless
Build applications comprised of microservices that run in response to events, auto-scale for you, and only charge you when they run. This lowers the total cost of maintaining your apps, enabling you to build more logic, faster. The Framework uses new event-driven compute services, like AWS Lambda, Google CloudFunctions, and more.
Azure Functions
Azure Functions is an event driven, compute-on-demand experience that extends the existing Azure application platform with capabilities to implement code triggered by events occurring in virtually any Azure or 3rd party service as well as on-premises systems.
See all alternatives