(Disclaimer: I work for AWS, but this is strictly my personal opinion/observation.)
That’s the only major difference I can see, though. The rest is convention/standardization on what’s put into the image (an executable that speaks HTTP over its stdio; separately-namespaced projects under /opt rather than use of the global namespace; etc.)
1. https://aws.amazon.com/about-aws/whats-new/2018/08/aws-farga...
Per-event invocation of a docker container instead of a specific bundle of code seems much more flexible, especially with the Firecracker tech they announced.
Create a simple ping/pong HTTP service in both and you'll quickly see difference in everything from billing to startup time.
If you're gonna use containers, use containers. If you want someone else to manage the container for you, use Lambda.
On the other you're saying "you can make fargate spin up a container for an event, but it would be too slow for any useful event driven computing", which is the truth, but it contradicts your initial comment.
If you're gonna use containers, use containers. If you want someone else to manage the container for you, use Lambda.