I assume you’re referring to how I’m using a global variable to track correlation IDs in part 3?
The thing to understand here is that concurrency is managed by the platform, and there’s no concurrent invocations in the same container.
If a concurrent request arrives at API G it is queued (for up to some threshold before API G decides to spawn a new container to execute the request) before the previous invocation is finished. For SNS, every concurrent message gets its own container. For Kinesis streams, every shard gets a dedicated container and records (from this particular shard) are pushed to the container sequentially.