Moving a Long-Running Heavy Load Application to AWS: Best Services and Cost-Effective Solutions

AWS Architecture Design for a Long-Running Heavy Load Application

Prev Question Next Question

Question

Your company is currently hosting a long-running heavy load application on its On-premise environment.

The company has developed this application in-house.

Consulting companies then use this application via API calls, and each API call may take half an hour to finish.

You now need to consider moving this application to AWS.

Which of the following services would be best suited in the architecture design, which would also help deliver a cost-effective solution? Choose 2 answers from the options given below.

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Answer - B and D.

Option A might be a valid choice, but the question specifies heavy load application, leading to a need for time-out of API greater than 15min.

As per AWS documentation, AWS Lambda can handle a max time-out of up to 15 minutes.

In this case, the application may take more time to run.

Option B is correct because Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale.

With a few clicks in the AWS Management Console, you can create an API that acts as a “front door” for applications to access data, business logic, or functionality from your back-end services, such as workloads running on Amazon Elastic Compute Cloud (Amazon EC2), code running on AWS Lambda, or any web application.

Option C is incorrect since this is a configuration service available from AWS.

Option D is correct because EC2 would fit for using API calls for the application.

For more information on AWS EC2 and the API gateway, please refer to the below URLs-

https://aws.amazon.com/api-gateway/ https://aws.amazon.com/ec2

Based on the scenario described, the company's application appears to be a long-running, heavy-load application that is used by external clients via API calls. The API calls take up to half an hour to complete, indicating that the application requires significant compute resources to process each request. Moving this application to AWS could provide several benefits, including cost-effective scalability, better performance, and availability.

Out of the given options, the two services that are best suited for this scenario are AWS Lambda and AWS API Gateway. Here is a detailed explanation of each option and why they are suitable:

  1. AWS Lambda: AWS Lambda is a serverless computing service that allows you to run your code without having to provision or manage servers. With Lambda, you can write your code in several programming languages such as Java, Python, and Node.js, and then upload it to AWS Lambda. Once uploaded, AWS Lambda automatically scales your application in response to incoming requests, without requiring you to configure or manage any infrastructure.

In the given scenario, AWS Lambda could be used to host the application's code and handle API requests. With Lambda, you can set the amount of memory allocated to your function, which determines the amount of CPU and network resources that your function can use. This can be adjusted according to the load on the application to ensure that it can handle requests efficiently. Since Lambda charges based on the number of requests and the amount of compute resources used, it can be a cost-effective solution.

  1. AWS API Gateway: AWS API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale. With API Gateway, you can create APIs that act as a "front door" for your application, providing a unified interface for clients to access your application's functionality.

In the given scenario, AWS API Gateway could be used to manage the application's API calls. API Gateway provides several features such as request throttling, caching, and authentication, which can be used to improve the performance and security of the application. Additionally, API Gateway can integrate with several AWS services, such as Lambda, to create a serverless architecture that can scale automatically based on incoming requests. Since API Gateway charges based on the number of API requests and the amount of data transferred, it can be a cost-effective solution.

AWS Config and AWS EC2 are not suitable for this scenario. AWS Config is a service that provides a detailed view of the configuration of AWS resources in your account. It is used for compliance, auditing, and security purposes, but not for hosting applications. AWS EC2 is a virtual machine service that allows you to create and manage virtual machines in the cloud. While it can be used to host applications, it requires you to provision and manage servers, which can be costly and time-consuming. Additionally, EC2 does not offer the same scalability benefits as a serverless solution such as AWS Lambda.