Which solution will meet these requirements?
Use an Amazon Aurora DB cluster as the database for the subscriber data. Deploy Amazon EC2 instances in an Auto Scaling group across multiple Availability Zones for the Java backend application.
Use MongoDB on Amazon EC2 instances as the database for the subscriber data. Deploy EC2 instances in an Auto Scaling group in a single Availability Zone for the Java backend application.
Configure Amazon DocumentDB (with MongoDB compatibility) with appropriately sized instances in multiple Availability Zones as the database for the subscriber data. Deploy Amazon EC2 instances in an Auto Scaling group across multiple Availability Zones for the Java backend application.
Configure Amazon DocumentDB (with MongoDB compatibility) in on-demand capacity mode in multiple Availability Zones as the database for the subscriber data. Deploy Amazon EC2 instances in an Auto Scaling group across multiple Availability Zones for the Java backend application.
Explanations:
Amazon Aurora is a relational database, not suitable for a MongoDB-based application without significant changes. This option does not meet the requirement of keeping the application unchanged.
While using MongoDB on EC2 instances may seem feasible, it does not provide the high availability needed across multiple Availability Zones unless a complex setup is created, which could lead to data consistency issues and increased operational overhead.
Amazon DocumentDB is compatible with MongoDB and can be deployed across multiple Availability Zones, providing high availability and durability. Additionally, EC2 instances in an Auto Scaling group across multiple Availability Zones ensure the Java backend application is also highly available.
While Amazon DocumentDB supports high availability and can be deployed in multiple Availability Zones, the mention of “on-demand capacity mode” is misleading since DocumentDB does not have a capacity mode like DynamoDB, and it could imply a lack of provisioned resources for consistent performance in a production environment.