Which solution will rehost the application on AWS with the LEAST development effort?
Set up and provision an Amazon Workspaces virtual desktop for every employee. Implement authentication by using Amazon Cognito identity pools. Instruct employees to run the application from their provisioned Workspaces virtual desktops.
Create an Auto Scaling group of Windows-based Amazon EC2 instances. Join each EC2 instance to the company’s Active Directory domain. Implement authentication by using the Active Directory that is running on premises. Instruct employees to run the application by using a Windows remote desktop.
Use an Amazon AppStream 2.0 image builder to create an image that includes the application and the required configurations. Provision an AppStream 2.0 On-Demand fleet with dynamic Fleet Auto Scaling policies for running the image. Implement authentication by using AppStream 2.0 user pools. Instruct the employees to access the application by starting browser-based AppStream 2.0 streaming sessions.
Refactor and containerize the application to run as a web-based application. Run the application in Amazon Elastic Container Service (Amazon ECS) on AWS Fargate with step scaling policies. Implement authentication by using Amazon Cognito user pools. Instruct the employees to run the application from their browsers.
Explanations:
Although Amazon Workspaces can provide a Windows environment and reduce the need for rehosting, using Amazon Cognito identity pools with Workspaces is not the ideal method for Active Directory integration. Managing multiple Workspaces per user also incurs higher costs and complexity.
While using Windows-based EC2 instances with Active Directory integration allows seamless authentication, this solution requires setting up and managing remote desktops, which is less efficient and requires higher operational overhead and cost for each user.
Amazon AppStream 2.0 allows streaming of Windows applications from AWS without requiring major changes to the application. The AppStream 2.0 user pools also simplify authentication, while dynamic scaling helps manage resources effectively, offering an efficient rehosting solution with minimal effort.
Refactoring and containerizing the application would require significant development effort, which goes against the goal of minimal development effort. Additionally, implementing a web-based version could involve architectural changes not needed for rehosting the application.