Q13 — AWS SAA-C03 Ch.10

Question 13 of 100 | ← Chapter 10

Q613. A company wants to build a web application on AWS. Client access requests to the website are not predictable and can be idle for a long time. Only customers who have paid a subscription fee can have the ability to sign in and use the web application.Which combination of steps will meet these requirements MOST cost-effectively? (Choose three.)

Correct Answer: A. Create an AWS Lambda function to retrieve user information from Amazon DynamoDB. Create an Amazon API Gateway endpoint to accept RESTful APIs. Send the API calls to the Lambda function., C. Create an Amazon Cognito user pool to authenticate users., E. Use AWS Amplify to serve the frontend web content with HTML, CSS, and JS. Use an integrated Amazon CloudFront configuration.

Explanation

The combination of steps that will meet the requirements of building a web application on AWS, with cost-effectiveness in mind, includes the following three options: A. Create an AWS Lambda function to retrieve user information from Amazon DynamoDB. Create an Amazon API Gateway endpoint to accept RESTful APIs. Send the API calls to the Lambda function. C. Create an Amazon Cognito user pool to authenticate users. E. Use AWS Amplify to serve the frontend web content with HTML, CSS, and JS. Use an integrated Amazon CloudFront configuration. Explanation: Option A suggests using AWS Lambda to retrieve user information from Amazon DynamoDB. This serverless approach allows for cost-effective and scalable execution of code. The Lambda function can be triggered by API calls sent through an Amazon API Gateway endpoint, providing a RESTful API for accessing user information. Option C recommends creating an Amazon Cognito user pool to authenticate users. Amazon Cognito provides a fully managed user directory to handle user sign-up, sign-in, and authentication. It integrates well with other AWS services and allows you to manage user access to your web application efficiently. Option E suggests using AWS Amplify to serve the frontend web content. AWS Amplify is a development platform that simplifies the process of building web and mobile applications. It provides hosting capabilities for static web content and can integrate with Amazon CloudFront for content delivery and caching, improving performance and reducing costs. Advantages of this combination of steps include: \1. Cost-Effectiveness: Utilizing serverless components like AWS Lambda and AWS Amplify allows you to pay only for the actual usage of resources, eliminating the need for provisioning and managing infrastructure that may sit idle for long periods. \2. Scalability: AWS Lambda and Amazon Cognito can scale automatically based on the demand, ensuring that your web application can handle unpredictable client access requests effectively. \3. Managed Services: Amazon DynamoDB, Amazon Cognito, AWS Amplify, and Amazon API Gateway are all fully managed services that handle the underlying infrastructure and management tasks, reducing the operational burden on your end. Compared to the other options, this combination provides the most cost-effective solution for meeting the requirements: B. Using Amazon Elastic Container Service (Amazon ECS) with Amazon RDS: This option introduces containerization and Amazon ECS, which may add complexity and cost compared to the serverless approach of AWS Lambda. It may also result in more idle resources if the client access requests are unpredictable. D. Creating an Amazon Cognito identity pool: While an identity pool is useful for granting temporary AWS credentials to access AWS services, it may not be necessary for the web application's user authentication requirements. F. Using Amazon S3 static web hosting with PHP, CSS, and JS: This option suggests using Amazon S3 for static web hosting, but it does not provide the serverless capabilities and authentication features required by the web application. In summary, to build a web application on AWS that meets the requirements of unpredictable client access requests, user authentication, and cost-effectiveness, the recommended combination of steps includes creating an AWS Lambda function with Amazon DynamoDB, an Amazon Cognito user pool, and using AWS Amplify with an integrated Amazon CloudFront configuration (Options A, C, and E). This combination leverages serverless components, managed authentication, and scalable hosting to provide a cost-effective and scalable solution.