What CI/CD configuration meets all of the requirements?
Configure CodePipeline with a deploy stage using AWS CodeDeploy configured for in-place deployment. Monitor the newly deployed code, and, if there are any issues, push another code update
Configure CodePipeline with a deploy stage using AWS CodeDeploy configured for blue/green deployments. Monitor the newly deployed code, and, if there are any issues, trigger a manual rollback using CodeDeploy.
Configure CodePipeline with a deploy stage using AWS CloudFormation to create a pipeline for test and production stacks. Monitor the newly deployed code, and, if there are any issues, push another code update.
Configure the CodePipeline with a deploy stage using AWS OpsWorks and in-place deployments. Monitor the newly deployed code, and, if there are any issues, push another code update.
Explanations:
In-place deployments using CodeDeploy may cause downtime during the update process and do not provide a straightforward rollback mechanism. If a new deployment fails, it could lead to extended downtime while a fix is deployed. This option does not fully meet the requirement for minimal downtime.
Blue/green deployments allow for a seamless switch between the old and new versions of the application, ensuring minimal downtime. If issues are detected after deployment, a manual rollback can be triggered easily to revert to the previous stable version, which meets the requirement for quick rollbacks.
Using CloudFormation to create pipelines for test and production stacks does not directly address the need for quick rollbacks and minimal downtime. Although CloudFormation can manage infrastructure as code, it does not inherently provide mechanisms for rapid application versioning or rollback without additional configurations.
AWS OpsWorks is not the best fit for CI/CD as it is more focused on configuration management rather than deployment. In-place deployments with OpsWorks can also lead to downtime during the update process, and the mechanism for rolling back changes is not as streamlined as with CodeDeploy’s blue/green deployments.