SAP-C02 practice question 20 of 35

A company is modernizing a legacy.NET Frameworkapplication backed by SQL Server. Requirements: Containerize into microservices. Control OS patches and storage. Add load balancing. Ensure high availability.Which solution meets all of these with minimal refactoring?

Full set: 689 questions

Domain Design Solutions for Organizational Complexity

Answer options
A: Use App2Container to deploy on ECS EC2 with ALB and RDS for SQL Server. Correct answer
B: Use App2Container on ECS EC2 with NLB and Aurora MySQL.
C: Use Porting Assistant and EKS with Fargate and Aurora MySQL.
D: Use Porting Assistant and EKS with Fargate and RDS SQL Server.
Correct Answer:
A. Use App2Container to deploy on ECS EC2 with ALB and RDS for SQL Server.
Explanation

This solution meets all requirements with minimal refactoring. AWS App2Container (A2C) is designed to lift-and-shift existing applications, including .NET Framework on Windows, into containers with minimal code changes. Using the Amazon ECS with the EC2 launch type allows the company to retain full control over the underlying instances for OS patching and storage management. An Application Load Balancer (ALB) is ideal for distributing HTTP/S traffic to containerized microservices. Finally, using Amazon RDS for SQL Server provides a managed, highly available database service using the same engine as the legacy application, thus avoiding a complex and costly database migration and satisfying the minimal refactoring requirement.

Why Incorrect

B: Migrating from SQL Server to Aurora MySQL is a significant database re-platforming effort that requires extensive code refactoring, violating the core requirement. C: Porting Assistant is for refactoring .NET Framework code to .NET Core, which is not minimal. AWS Fargate abstracts the OS, preventing control over patching and storage. D: Porting Assistant implies a code refactoring effort. The AWS Fargate launch type removes the required control over the underlying OS for patching and storage management.

References

1. AWS App2Container User Guide: "What is AWS App2Container?" states, "App2Container (A2C) is a command-line tool for modernizing .NET and Java applications into containerized applications. A2C analyzes and builds an inventory of all applications running in virtual machines... and packages the application artifact and identified dependencies into container images." This supports using A2C for minimal-change containerization.

2. Amazon ECS Developer Guide, "Amazon ECS launch types": "With the EC2 launch type, you have server-level control over the infrastructure that your tasks run on... you are responsible for patching and updating the servers." This confirms EC2 launch type provides the required OS control, unlike Fargate which is serverless.

3. Amazon RDS User Guide, "Amazon RDS for Microsoft SQL Server": This documentation details how Amazon RDS manages SQL Server deployments, making it the direct, managed equivalent for a self-hosted SQL Server instance, thus minimizing refactoring for the database layer.

4. Porting Assistant for .NET User Guide, "What is Porting Assistant for .NET?": "Porting Assistant for .NET is an analysis tool that scans .NET Framework applications and generates a .NET Core compatibility assessment... This reduces the manual effort involved in modernizing applications to Linux." This confirms the tool's purpose is for porting/refactoring, not simple containerization.

Scroll to Top