Learn how to migrate a multi-node Windows legacy application that uses a network shared folder as a centralized configuration repository to AWS. Compare different solutions and choose the most cost-effective one that provides high availability for the repository.
Table of Contents
Question
A company has a multi-node Windows legacy application that runs on premises. The application uses a network shared folder as a centralized configuration repository to store configuration files in .xml format. The company is migrating the application to Amazon EC2 instances. As part of the migration to AWS, a developer must identify a solution that provides high availability for the repository.
Which solution will meet this requirement MOST cost-effectively?
A. Mount an Amazon Elastic Block Store (Amazon EBS) volume onto one of the EC2 instances. Deploy a file system on the EBS volume. Use the host operating system to share a folder. Update the application code to read and write configuration files from the shared folder.
B. Deploy a micro EC2 instance with an instance store volume. Use the host operating system to share a folder. Update the application code to read and write configuration files from the shared folder.
C. Create an Amazon S3 bucket to host the repository. Migrate the existing .xml files to the S3 bucket. Update the application code to use the AWS SDK to read and write configuration files from Amazon S3.
D. Create an Amazon S3 bucket to host the repository. Migrate the existing .xml files to the S3 bucket. Mount the S3 bucket to the EC2 instances as a local volume. Update the application code to read and write configuration files from the disk.
Answer
C. Create an Amazon S3 bucket to host the repository. Migrate the existing .xml files to the S3 bucket. Update the application code to use the AWS SDK to read and write configuration files from Amazon S3.
Explanation
The correct answer is C. Create an Amazon S3 bucket to host the repository. Migrate the existing .xml files to the S3 bucket. Update the application code to use the AWS SDK to read and write configuration files from Amazon S3.
This solution will meet the requirement most cost-effectively because it will provide high availability for the repository without requiring any servers or additional storage volumes. Amazon S3 is a service that provides object storage for any type of data. The company can create an Amazon S3 bucket to host the repository and migrate the existing .xml files to the S3 bucket. The company can then update the application code to use the AWS SDK to read and write configuration files from Amazon S3. The AWS SDK provides methods for interacting with Amazon S3 programmatically from various programming languages, such as C#, Java, Python, and Ruby. The company can use the AWS SDK to list, download, upload, delete, and modify the .xml files in the S3 bucket. Amazon S3 provides high availability, durability, scalability, and security for the data stored in the bucket.
The other options are not optimal because:
- Option A: Mounting an Amazon Elastic Block Store (Amazon EBS) volume onto one of the EC2 instances and deploying a file system on the EBS volume will not provide high availability for the repository, as it will create a single point of failure. Amazon EBS is a service that provides block-level storage volumes for Amazon EC2 instances. The company can mount an EBS volume onto one of the EC2 instances and deploy a file system on the EBS volume. The company can then use the host operating system to share a folder and update the application code to read and write configuration files from the shared folder. However, this solution will not provide high availability for the repository, as it will depend on the availability of the EC2 instance and the EBS volume. If either of them fails or becomes unavailable, the repository will be inaccessible.
- Option B: Deploying a micro EC2 instance with an instance store volume and using the host operating system to share a folder will not provide high availability or durability for the repository, as it will create a single point of failure and risk data loss. An instance store volume is a type of storage that is physically attached to the host computer of an EC2 instance. The company can deploy a micro EC2 instance with an instance store volume and use the host operating system to share a folder. The company can then update the application code to read and write configuration files from the shared folder. However, this solution will not provide high availability or durability for the repository, as it will depend on the availability of the EC2 instance and the instance store volume. If either of them fails or becomes unavailable, the repository will be inaccessible. Moreover, instance store volumes are ephemeral, which means that they do not persist data across instance reboots or terminations. Therefore, any data stored on them will be lost if the EC2 instance is stopped or terminated.
- Option D: Creating an Amazon S3 bucket to host the repository and mounting the S3 bucket to the EC2 instances as a local volume will not be cost-effective, as it will require additional software and configuration. The company can create an Amazon S3 bucket to host the repository and migrate the existing .xml files to the S3 bucket. The company can then mount the S3 bucket to the EC2 instances as a local volume by using third-party software or tools, such as s3fs or goofys. The company can then update the application code to read and write configuration files from the disk. However, this solution will not be cost-effective, as it will require additional software and configuration to mount the S3 bucket to each EC2 instance. Moreover, this solution may introduce performance issues or inconsistencies due to network latency or eventual consistency of Amazon S3.
Therefore, option C is the best solution for providing high availability for the repository most cost-effectively.
The latest AWS Certified Developer – Associate DVA-C02 certification actual real practice exam question and answer (Q&A) dumps are available free, which are helpful for you to pass the AWS Certified Developer – Associate DVA-C02 exam and earn AWS Certified Developer – Associate DVA-C02 certification.