AWS Certified Solutions Architect Associate SAA-C03 Practice Question
A company is looking to improve the resilience and distribution of its monolithic, on-premise Java application. The goal is to leverage cloud services to enable horizontal scaling and simplify the operational overhead. What approach should be taken to adapt the application for optimal deployment in a containerized environment?
You selected this option
Straightforward migration to a managed relational database service with high availability configurations
You selected this option
Transform the application into a set of intercommunicating functions managed by a serverless platform
You selected this option
Rehost the current application on scalable, cloud-based virtual machines with automated elasticity
You selected this option
Adjust the codebase for a stateless operation and use a managed container service for deployment
The correct approach involves refactoring the application to adopt a stateless design, which allows any container instance to serve any incoming request, independent of the instance's state. This facilitates both horizontal scaling and redundancy, as the application instances do not rely on local state, and it's easier to manage the operational aspects using a container service like Amazon Elastic Container Service (ECS), which orchestrates container deployment, scaling, and management. Directly moving the application to a relational database service using a Multi-AZ setup, without addressing the stateless requirement, would not align with container best practices. Placing the application onto virtual servers with auto-scaling would not leverage the full benefits of containerization. Refactoring for a serverless execution model, such as using Lambda, requires a different architectural approach suited for event-driven, short-lived processes, which may not be compatible with all monolithic applications without substantial changes.
Ask Bash
Bash is our AI bot, trained to help you pass your exam. AI Generated Content may display inaccurate information, always double-check anything important.
What does it mean to have a stateless design in my application?
Open an interactive chat with Bash
What is a managed container service like Amazon ECS?
Open an interactive chat with Bash
Why is it important to adopt horizontal scaling for applications?