netlify / cli

Netlify Command Line Interface
http://cli.netlify.com
MIT License
1.58k stars 358 forks source link

make netlify dev more bug-compatible with AWS #4318

Open fool opened 2 years ago

fool commented 2 years ago

Is your feature request related to a problem? Please describe.

Folks who use netlify dev to do local development for functions often discover differences between what netlify dev permits and what AWS permits. Unfortunately, this discovery comes after they have done the local development, potentially after much work done / expectations set that these should work in prod identically.

Describe the solution you'd like

We should at a minimum warn about this, but could consider failing requests (in netlify dev) which we can tell would not work in production as well.

Describe alternatives you've considered

current situation: force people to discover and react on their own. One example from our slack / helpdesk (only available to Netlify employees: https://netlify.slack.com/archives/C027XN8MH4G/p1645030164647629 / https://netlify.zendesk.com/agent/tickets/83804

Additional context

https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html are the well-documented, non-changeable limits. In particular, this request was about payload size, but there are other similar/related situations such as https://github.com/netlify/cli/issues/4304 that we should also strive to protect people from.

Can you submit a pull request?

no

fool commented 2 years ago

I'll ask @overlordofmu to review this during their next pairing with the team that manages this. This fix is clearly not required, but would be a good user experience. If they decide WONTFIX on this, we should create an issue with the docs team to document this non-parity instead.

overlordofmu commented 2 years ago

@erezrokah and I discussed this and it belongs to the serverless pod.

minivan commented 2 years ago

@khendrikse I'm assigning this issue because it would get you to explore the proxy implementation in the CLI. I suggest that you timebox the exploration because there are high chances that what we're trying to achieve here is too difficult to do in the CLI.

For now, let's focus on the limit in the response payload of a Function (as indicated in the Zendesk ticket). The CLI should forbid a > 6 MB response size from a Function, for it to be consistent with the AWS Lambda implementation.

If I would test it, I would start with something like included_files and test with a 6mb movie (since that doesn't compress very well). I tried generating videos here: https://github.com/netlify/large-functions-test , so that might be useful too. Good luck!

minivan commented 2 years ago

update here. After reevaluating priorities on our side, I'd like to mark this as a WONTFIX for now.