Implementing Self-Healing Architecture for AWS Application

Self-Healing Architecture Methods

Prev Question Next Question

Question

You have an application consisting of a stateless web server tier running on Amazon EC2 instances behind a load balancer and using Amazon RDS with read replicas.

Which of the following methods should you use to implement a self-healing architecture? Choose 2 answers from the options given below.

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D. E.

Answer - B and E.

The scaling of EC2 Instances in the Autoscaling group is normally done with the metric of the CPU utilization of the current instances in the Autoscaling group.

For more information on scaling in your Autoscaling Group, please refer to the below link:

http://docs.aws.amazon.com/autoscaling/latest/userguide/as-scaling-simple-step.html

Amazon RDS Multi-AZ deployments provide enhanced availability and durability for Database (DB) Instances, making them a natural fit for production database workloads.

When you provision a Multi-AZ DB Instance, Amazon RDS automatically creates a primary DB Instance and synchronously replicates the data to a standby instance in a different Availability Zone (AZ)

Each AZ runs on its own physically distinct, independent infrastructure and is engineered to be highly reliable.

In case of an infrastructure failure, Amazon RDS performs an automatic failover to the standby (or to a read replica in the case of Amazon Aurora), so that you can resume database operations as soon as the failover is complete.

For more information on RDS Multi-AZ, please refer to the below link:

https://aws.amazon.com/rds/details/multi-az/

Option A is incorrect because the database CPU usage should not be used to scale the web tier.

Option C is incorrect because increasing the instance size does not always guarantee that the solution will not become unhealthy.

Option D is incorrect because increasing Read-Replica's will not suffice for write operations if the primary DB fails.

To implement a self-healing architecture for an application consisting of a stateless web server tier running on Amazon EC2 instances behind a load balancer and using Amazon RDS with read replicas, we can use the following methods:

A. Set up an Auto Scaling group for the web server tier along with an Auto Scaling policy that uses the Amazon RDS DB CPU utilization CloudWatch metric to scale the instances.

This method involves creating an Auto Scaling group for the web server tier and setting up an Auto Scaling policy that uses the Amazon RDS DB CPU utilization CloudWatch metric to scale the instances. This metric measures the percentage of CPU utilization for the RDS instance, and if it exceeds a certain threshold, the Auto Scaling group will automatically add more instances to the web server tier.

B. Set up an Auto Scaling group for the web server tier along with an Auto Scaling policy that uses the Amazon EC2 CPU utilization CloudWatch metric to scale the instances.

This method involves creating an Auto Scaling group for the web server tier and setting up an Auto Scaling policy that uses the Amazon EC2 CPU utilization CloudWatch metric to scale the instances. This metric measures the percentage of CPU utilization for the EC2 instance, and if it exceeds a certain threshold, the Auto Scaling group will automatically add more instances to the web server tier.

C. Use a larger Amazon EC2 instance type for the web server tier and a larger DB instance type for the data storage layer to ensure that they don't become unhealthy.

This method involves using larger Amazon EC2 instance types for the web server tier and larger DB instance types for the data storage layer to ensure that they do not become unhealthy. While this can help prevent instances from becoming unhealthy, it does not provide automatic scaling capabilities.

D. Set up an Auto Scaling group for the database tier along with an Auto Scaling policy that uses the Amazon RDS read replica lag CloudWatch metric to scale out the Amazon RDS read replicas.

This method involves creating an Auto Scaling group for the database tier and setting up an Auto Scaling policy that uses the Amazon RDS read replica lag CloudWatch metric to scale out the Amazon RDS read replicas. This metric measures the amount of lag between the master and the read replica, and if it exceeds a certain threshold, the Auto Scaling group will automatically add more read replicas to the database tier.

E. Use an Amazon RDS Multi-AZ deployment.

This method involves using an Amazon RDS Multi-AZ deployment, which automatically replicates data to a standby instance in a different Availability Zone. If the primary instance fails, the standby instance is promoted to the primary instance automatically.

In summary, the two methods that can be used to implement a self-healing architecture for an application consisting of a stateless web server tier running on Amazon EC2 instances behind a load balancer and using Amazon RDS with read replicas are:

  • Setting up an Auto Scaling group for the web server tier along with an Auto Scaling policy that uses the Amazon RDS DB CPU utilization CloudWatch metric to scale the instances.
  • Setting up an Auto Scaling group for the database tier along with an Auto Scaling policy that uses the Amazon RDS read replica lag CloudWatch metric to scale out the Amazon RDS read replicas.

Using an Amazon RDS Multi-AZ deployment can also provide automatic failover capabilities.