Learn how to use AWS Amplify Console to deploy and maintain static websites on AWS from various version control systems. Discover how to implement phased releases with Git branches and enable HTTPS for secure data exchange.
Table of Contents
Question
A company wants to deploy and maintain static websites on AWS. Each website’s source code is hosted in one of several version control systems, including AWS CodeCommit, Bitbucket, and GitHub.
The company wants to implement phased releases by using development, staging, user acceptance testing, and production environments in the AWS Cloud. Deployments to each environment must be started by code merges on the relevant Git branch. The company wants to use HTTPS for all data exchange. The company needs a solution that does not require servers to run continuously.
Which solution will meet these requirements with the LEAST operational overhead?
A. Host each website by using AWS Amplify with a serverless backend. Conned the repository branches that correspond to each of the desired environments. Start deployments by merging code changes to a desired branch.
B. Host each website in AWS Elastic Beanstalk with multiple environments. Use the EB CLI to link each repository branch. Integrate AWS CodePipeline to automate deployments from version control code merges.
C. Host each website in different Amazon S3 buckets for each environment. Configure AWS CodePipeline to pull source code from version control. Add an AWS CodeBuild stage to copy source code to Amazon S3.
D. Host each website on its own Amazon EC2 instance. Write a custom deployment script to bundle each website’s static assets. Copy the assets to Amazon EC2. Set up a workflow to run the script when code is merged.
Answer
A. Host each website by using AWS Amplify with a serverless backend. Conned the repository branches that correspond to each of the desired environments. Start deployments by merging code changes to a desired branch.
Explanation
The correct answer is A. Host each website by using AWS Amplify with a serverless backend. Connect the repository branches that correspond to each of the desired environments. Start deployments by merging code changes to a desired branch.
This solution will meet the requirements with the least operational overhead because it will allow the company to deploy and maintain static websites on AWS without managing any servers. AWS Amplify is a set of tools and services that enables developers to build full-stack web and mobile applications using a serverless backend. AWS Amplify supports hosting static websites from various version control systems, including AWS CodeCommit, Bitbucket, and GitHub. AWS Amplify also supports creating multiple environments for different stages of the development workflow, such as development, staging, user acceptance testing, and production. The company can connect the repository branches that correspond to each environment and start deployments by merging code changes to a desired branch. AWS Amplify will automatically build and deploy the website to a globally available content delivery network (CDN). AWS Amplify also provides HTTPS support for all data exchange.
The other options are not optimal because:
- Option B: Hosting each website in AWS Elastic Beanstalk with multiple environments will require more operational overhead, as it will involve managing servers and scaling resources. AWS Elastic Beanstalk is a service that automates the deployment and management of web applications on AWS. However, it still requires the company to choose an underlying platform, such as Amazon EC2, Amazon ECS, or AWS Lambda, to run the web applications. The company will also need to use the EB CLI to link each repository branch and integrate AWS CodePipeline to automate deployments from version control code merges.
- Option C: Hosting each website in different Amazon S3 buckets for each environment will not provide HTTPS support for all data exchange, as it will require additional configuration and services. Amazon S3 is a service that provides object storage for any type of data. The company can host static websites in Amazon S3 buckets and configure AWS CodePipeline to pull source code from version control and add an AWS CodeBuild stage to copy source code to Amazon S3. However, to enable HTTPS for all data exchange, the company will also need to use other services, such as Amazon CloudFront, AWS Certificate Manager, and Amazon Route 53.
- Option D: Hosting each website on its own Amazon EC2 instance will require the most operational overhead, as it will involve managing servers, writing custom deployment scripts, and setting up workflows. Amazon EC2 is a service that provides virtual servers in the cloud. The company can host static websites on Amazon EC2 instances and write a custom deployment script to bundle each website’s static assets and copy them to Amazon EC2. However, the company will also need to set up a workflow to run the script when code is merged, as well as monitor, patch, and scale the Amazon EC2 instances.
Therefore, option A is the best solution for deploying and maintaining static websites on AWS with the least operational overhead.
The latest AWS Certified Developer – Associate DVA-C02 certification actual real practice exam question and answer (Q&A) dumps are available free, which are helpful for you to pass the AWS Certified Developer – Associate DVA-C02 exam and earn AWS Certified Developer – Associate DVA-C02 certification.