AWS Services for Transitioning Stateful-Based Web Applications to AWS - SEO for Exam Question

AWS Services for Transitioning Stateful-Based Web Applications to AWS

Prev Question Next Question

Question

Your team is transitioning a stateful-based web application to AWS.

You need to decide the AWS services based on the functionalities that will help to design the required architecture.

Select TWO from the options given below.

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Answer - A and C.

The below example from the AWS Documentation shows how DynamoDB can be used to store session data.

And the application load balancer can be used to distribute traffic for the application.

Option B is incorrect since this service is a Compute Service.

Option D is incorrect since this is an API management service.

For more information on AWS Cloud Best practices, please refer to the below URL-

https://d1.awsstatic.com/whitepapers/AWS_Cloud_Best_Practices.pdf
DynamoDB Session Handler

Introduction

The DynamoDB Session Handler is a custom session handler for PHP that allows developers to use Amazon DynamoDB as a session store. Using
DynamoDB for session storage alleviates issues that occur with session handling in a distributed web application by moving sessions off of the local file
system and into a shared location. DynamoDB is fast, scalable, easy to setup, and handles replication of your data automatically.

The DynamoDB Session Handler uses the session_set_save_handler() function to hook DynamoDB operations into PHP's native session functions to
allow for a true drop in replacement. This includes support for features like session locking and garbage collection which are a part of PHP's default
session handler.

For more information on the Amazon DynamoDB service, please visit the Amazon DynamoDB homepage.

When transitioning a stateful-based web application to AWS, it's crucial to choose the right AWS services that can cater to the application's needs.

Option A: DynamoDB to store the session data. DynamoDB is a fully managed NoSQL database service that can provide a scalable and high-performance database solution. It can be an excellent choice to store session data since it can support high-traffic workloads and handle large amounts of data. With DynamoDB, you can easily manage and scale the session data store, providing seamless user experiences.

Option B: AWS Lambda to store the session data. AWS Lambda is a serverless compute service that allows you to run code without managing servers. While it's possible to store session data using Lambda, it's not the most efficient solution. Since Lambda functions have a maximum execution time limit, they may not be suitable for long-lived session data.

Option C: An Application Load balancer to distribute traffic. An Application Load Balancer (ALB) is a fully managed service that can efficiently distribute traffic across multiple instances, containers, and microservices. When combined with Auto Scaling, it can provide a scalable and highly available architecture. By distributing traffic, you can ensure that the application can handle high-traffic loads without downtime.

Option D: An API Gateway to distribute traffic. An API Gateway is a fully managed service that can provide secure and reliable access to backend services, including HTTP-based APIs and non-HTTP backend services. By distributing traffic using an API Gateway, you can ensure that the backend services can handle high-traffic loads, providing a seamless user experience.

Therefore, the two best options to design the required architecture would be Option A: DynamoDB to store the session data and Option C: An Application Load balancer to distribute traffic.