PS: Localstack is awesome! Also in combination with Testcontainers.
Another example to add to your list - the new AWS CLI v2:
> don't force me to download a 30MB binary with embedded Python interpreter baked in, please just give us a pip package instead!
;)
Most of the code is just a thin veneer over that information...
I guess it's generally hard to find the right balance, if you're catering to customers of different level of technical expertise/maturity.
(Btw, the previous comment was in reference to: https://github.com/aws/aws-cli/issues/4947)
i think they'd be better served by letting me develop more quickly, so I can help my company grow, and presumably need (and have the budget for!) more resources in our production environment.
if i'm mistaken, i think it's reasonable to have some sort of built in time limit to how long the appliance will run for, or some other way of preventing it being used for non-development purposes.
You invoke it via the command line
`sam local invoke [OPTIONS] [FUNCTION_LOGICAL_ID]`
Behind the scenes it is running an attached docker container and feeding you the output. I found that it works actually very well and mimics the cloud invocation environment perfectly.
The problem is that it stubs out any other services you run. So if your Lambda adds something to SQS or SNS or SES or S3 or anything else, it simply stubs those out. So advanced functions do get difficult to test locally. But This Localstack emulator may solve those problems (but I haven't used it yet)
Details: https://docs.aws.amazon.com/serverless-application-model/lat...
I found it useful when updating some existing old ruby scripts we had. (Of course they had little to no testing before that.)
they have local dynamo, but i believe that's the only official appliance they provide.
I think it's especially necessary for the proprietary products -- dynamo being a great example.
I'll take a moment to call out snowflake for this as well -- it's really frustrating to not be able to quickly (within milliseconds) and easily (i shouldn't need to get credentials from elsewhere in my org) setup & teardown databases while under test.