aws / aws/chalice

AWS Batch Support

Open
#1,433 13 comments 12 reactions 0 assignees View on GitHub
feature-request
Dominant language
Python
Stars
11.1k
Forks
1k
Avg merge
1d 22h
Merged PRs (30d)
2

Description

One of the ways I would like to use chalice is for longer running serverless computations. This fits quite nicely into AWS Batch when your computations aren't splitable through a chain of writes and event triggered Lambdas.

This could be done by creating an interface to Batch that mimics the Lambda interface, but consequentially would not be able to return a response. This would probably involve creating a number of boilerplate Lambdas that trigger and pass on parameters to the Batch job and in the case of HTTP, responds to callers with a 201 response once the job has been scheduled.

Additionally, a Docker container would have to be referenced or built, as that is a requirement of AWS Batch. In order to make the interface as seamless as possible I would favour building an image and uploading it to ECR. I also believe the idea to bundle chalicelib (and potentially other directories) as layers in #1001 would complement this very nicely as it would enable larger deployments to Batch (through adding files to the Docker image) while preserving the ability to deploy the same content to Lambdas (through layers).

I am majorly splitballing in this post, so any corrections or ideas to refine this would be appreciated as I think this would be an amazing feature!

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or entry points. Start by reviewing Chalice's existing Lambda deployment flow and the AWS Batch, Docker, and ECR requirements; done would require an agreed interface and deployment design.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, docker, python
Domain
cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.