How can the developer achieve this goal with the LEAST operational overhead?
Use AWS OpsWorks to perform blue/green deployments.
Use a function alias with different versions.
Maintain deployment packages for older versions in Amazon S3.
Use AWS CodePipeline for deployments and rollbacks.
Explanations:
AWS OpsWorks is a configuration management service for deploying applications and managing their lifecycle but is not specifically designed for AWS Lambda functions. It introduces unnecessary complexity for managing Lambda versions and deployments.
Using a function alias with different versions allows developers to point to specific versions of the Lambda function easily. This facilitates quick rollbacks and switching between versions with minimal operational overhead, as aliases can be updated to point to different versions without changing the function configuration itself.
Maintaining deployment packages for older versions in Amazon S3 adds operational overhead, as the developer must manually manage these packages and implement a mechanism to retrieve and deploy them, which is less efficient than using Lambda’s built-in versioning and alias features.
While AWS CodePipeline can automate deployments and rollbacks, it introduces more operational overhead compared to using Lambda’s versioning and aliases. The setup and management of pipelines require additional configuration and maintenance that may not be necessary for simply rolling back versions of a Lambda function.