When you're building your serverless application, you must separate your deployment environments to test new changes without impacting your production. Therefore, having multiple versions of your Lambda functions makes sense.
Versions and aliases
Versioning
A version represents a state of your function's code and configuration in time. By default, each Lambda function has the $LATEST version pointing to the latest changes of your function, as shown in the following screenshot:
In order to create a new version from the $LATEST version, click on Actions and Publish new version. Let's call it 1.0.0, as shown in the next screenshot:
The new version will be created with an ID=1 (incremental). Note the ARN Lambda...