Which architecture should a solutions architect recommend for this situation?
Configure two AWS Lambda functions to run the applications. Create an Amazon EC2 instance with an instance store volume to store the data.
Configure two AWS Lambda functions to run the applications. Create an Amazon EC2 instance with an Amazon Elastic Block Store (Amazon EBS) volume to store the data.
Configure one memory optimized Amazon EC2 instance to run both applications simultaneously. Create an Amazon Elastic Block Store (Amazon EBS) volume with Provisioned IOPS to store the data.
Configure two Amazon EC2 instances to run both applications. Configure Amazon Elastic File System (Amazon EFS) with General Purpose performance mode and Bursting Throughput mode to store the data.
Explanations:
AWS Lambda functions are not suitable for applications that require low-latency file access for large sets of files. Additionally, using an instance store volume would not provide the necessary durability and accessibility across multiple instances.
While AWS Lambda can handle parallel processing, it is not ideal for applications requiring low-latency access to a shared file system. An Amazon EBS volume attached to a single EC2 instance cannot be simultaneously accessed by multiple instances, which limits concurrent processing.
Running both applications on a single memory-optimized EC2 instance may lead to resource contention. Although an EBS volume with Provisioned IOPS offers improved performance, it still cannot support concurrent access by multiple applications in the low-latency manner required here.
Configuring two EC2 instances allows both applications to run simultaneously, and using Amazon EFS enables shared access to files with low latency. The General Purpose performance mode and Bursting Throughput mode of EFS are suitable for workloads with variable performance needs, providing the necessary concurrent access and scalability.