
Ultimate access to all questions.
A company is seeking to reduce costs for a set of 20 business-critical applications that are used infrequently, by migrating them to AWS. These applications, which include both Java and Node.js, are currently distributed across various instance clusters. The company aims to minimize expenses while adopting a uniform deployment strategy. The applications primarily serve month-end processing tasks with low user concurrency, but they are occasionally utilized at other times. On average, these applications consume less than 1 GB of memory, although some may reach up to 2.5 GB during peak operations. The key application among them is a Java-based billing report that accesses multiple data sources and often runs for extended periods. What is the most cost-effective solution for deploying these applications on AWS?
A
Deploy a separate AWS Lambda function for each application. Utilize AWS CloudTrail logs and Amazon CloudWatch alarms to confirm the completion of critical tasks.
B
Deploy Amazon ECS containers on Amazon EC2 instances with Auto Scaling configured for 75% memory utilization. Set up an ECS task for each application being migrated and enable ECS task scaling. Monitor services and hosts using Amazon CloudWatch.
C
Deploy AWS Elastic Beanstalk for each application with Auto Scaling to ensure adequate resources for all requests. Monitor each AWS Elastic Beanstalk deployment using CloudWatch alarms.
D
Deploy a new Amazon EC2 instance cluster to co-host all applications using EC2 Auto Scaling and Application Load Balancers. Scale the cluster size based on a custom metric set for instance memory utilization. Purchase 3-year Reserved Instance reservations equivalent to the GroupMaxSize parameter of the Auto Scaling group.