A company is running a stateless web application with the following components An Elastic Load Balancer. 4 Web/Application servers on EC2. A MySQL RDS database with 2000 provisioned IOPS.
After observing the cloudwatch metrics , it is observed that the CPU of the web servers is reaching around 92% and the CPU of the database server is around 20%
Which of the below 2 options can be used to alleviate the load on the entire infrastructure.
Click on the arrows to vote for the correct answer
A. B. C. D.Answer - C and D.
Since the load on the Web/Application servers is high , it should be considered to make use of Autoscaling and increase the number of Web/Application servers or just increase the Instance type of the existing Web/Application servers.
For more information on Autoscaling, please visit the link:
https://aws.amazon.com/autoscaling/Based on the provided information, the CPU utilization of the web/application servers is high at 92%, whereas the database server's CPU utilization is much lower at 20%. To alleviate the load on the entire infrastructure, we need to identify the best solution that will help balance the load across all components effectively.
A. Create a read replica for the database: This solution is primarily focused on reducing the load on the primary database server by offloading some of the read traffic to a replica database. This solution can be useful if the web/application servers are performing a lot of read operations on the database. However, it is not the best solution in this scenario because the CPU utilization of the database server is relatively low at 20%, and the issue is mainly with the web/application servers.
B. Enable Multi-AZ for the database: Multi-AZ is a feature in RDS that allows the creation of a secondary database instance in a different Availability Zone (AZ) for disaster recovery purposes. When Multi-AZ is enabled, data is automatically replicated to the secondary database instance, and failover can occur automatically in the event of a primary database instance failure. Enabling Multi-AZ does not directly address the high CPU utilization of the web/application servers, and it is not the best solution in this scenario.
C. Make use of Autoscaling and launch more Web/Application servers: Autoscaling is a feature in AWS that allows automatic scaling of EC2 instances based on predefined scaling policies. In this scenario, the high CPU utilization of the web/application servers indicates that the workload on these servers is too high, and additional instances are needed to handle the load. By enabling autoscaling, EC2 instances can be added or removed dynamically based on the current demand. This solution is a good option to consider in this scenario.
D. Consider increasing the instance type of the Web/Application Servers: Increasing the instance type of the web/application servers can help to increase the processing power and capacity of the servers, which can help to handle the increased workload. This solution is useful if the current instance types are not powerful enough to handle the current workload. However, it is not the best solution if the workload is expected to continue increasing in the future.
In summary, options A and B are not the best solutions for alleviating the load on the entire infrastructure, whereas options C and D are better options to consider. Option C, which involves enabling autoscaling and launching more web/application servers, is the best solution to address the high CPU utilization of the web/application servers in this scenario.