, you get credits if they don't meet the SLA
You pay for the execution time of your function, rounded to 100 ms.
As event source you can have (just a few examples) S3 buckets, SES, SNS, DynamoDB and API Gateway or ALB (web requests), complete list here
, both synchronous and asynchronous.
Your function runs in one of the available runtimes
((versions of) languages)
The code you write does not have to be reentrant, "If the function is invoked again while a request is still being processed, another instance is provisioned, increasing the function's concurrency."