Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace Lambda Layers with container images #1029

Open
shawncrawley opened this issue Jan 8, 2025 · 1 comment
Open

Replace Lambda Layers with container images #1029

shawncrawley opened this issue Jan 8, 2025 · 1 comment
Assignees
Labels
enhancement New feature or request Priority - Medium
Milestone

Comments

@shawncrawley
Copy link
Collaborator

shawncrawley commented Jan 8, 2025

AWS allows Lambda functions to be configured in one of two ways:

  1. On top of an AWS-provided python environment that can be customized with unique package requirements via a clunky, self-maintained "AWS Layers" mechanism
  2. As a fully self-maintained Docker image

In our current infrastructure, we use a combination of both methods extensively. In the case of number 1 above, there's a lot of undesirable maintenance overhead with managing the unique package requirements and difficulty in creating a reproducible execution environment.

@shawncrawley shawncrawley added enhancement New feature or request Priority - Medium labels Jan 8, 2025
@shawncrawley shawncrawley added this to the V2.1.x milestone Jan 8, 2025
@groutr
Copy link
Contributor

groutr commented Jan 8, 2025

The AWS layers system is nice for quickly deploying python code into production. However, beyond providing a basic execution environment, it has several severe shortcomings.

  1. Dependency management becomes unnecessarily complex. The layers system forces you to manually package and manage all of your dependencies. For complicated dependencies like GDAL, the maintenance burden is multiplied. It becomes very difficult to have a consistent execution environment where every dependency is correctly satisfied. Adding a new dependency becomes increasingly difficult and prone to mistakes.
  2. Size limits. I believe layers are limited to 50mb in size. Docker images have a 10gb limit.

@shawncrawley shawncrawley changed the title Create a standardized Docker image for HydroVIS as a whole Replace Lambda Layers with container images Jan 8, 2025
shawncrawley pushed a commit that referenced this issue Jan 22, 2025
Update raster processing image to use a new conda-managed environment.
Refs #1029
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Priority - Medium
Projects
None yet
Development

No branches or pull requests

2 participants