AWS Certified Solutions Architect - Professional Exam: Integrating Systems with DynamoDB

Integrating Systems with DynamoDB

Prev Question Next Question

Question

You tried to integrate two systems including both the frontend and backend in a stack.

These systems don't store any state inside.

All of the state information is stored in a DynamoDB table.

You have launched each of the systems with separate AMIs.

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D. E.

Answer - B and C.

Option A is incorrect because Route53 cannot be used to deploy the fixes.

Option B is CORRECT because Blue/Green deployment strategy can deploy new versions of AMIs without service disruption.

Option C is CORRECT because you can modify the AMI used by the Auto Scaling group and adjust the desired number of the ASG to launch new instances with the new AMI.

Option D is incorrect because deploying CloudFront is not needed in this situation.

Option E is incorrect because SQS does not help to deploy the new fix.

Reference:

https://d1.awsstatic.com/whitepapers/AWS_Blue_Green_Deployments.pdf

Based on the given scenario, where two systems including frontend and backend are integrated into a stack, and all state information is stored in a DynamoDB table, there are several options to ensure smooth integration.

Option A - Use Route53:

Route53 is a DNS service that routes traffic between internet resources. Using Route53, you can create DNS records that direct traffic to specific servers or endpoints. While Route53 can be used to balance traffic between systems, it is not the best solution for this scenario, as it does not provide any specific features for integrating frontend and backend systems.

Option B - Use Blue/Green deployment strategy by creating new Auto Scaling groups with the new AMIs:

The Blue/Green deployment strategy involves deploying a new version of an application, referred to as the "Green" version, alongside the existing, or "Blue" version. Once the Green version is fully tested and ready, traffic is shifted from the Blue version to the Green version. This can be done by creating new Auto Scaling groups with the new AMIs, testing them, and then redirecting traffic to them. This option is a good choice because it allows the testing of the new systems before redirecting traffic to them.

Option C - Modify the AMIs used by the existing Auto Scaling groups and adjust the desired number of Auto Scaling group to deploy the new AMIs in the new instances:

Modifying the AMIs used by the existing Auto Scaling groups and adjusting the desired number of Auto Scaling groups to deploy the new AMIs in the new instances is a viable option. This approach requires careful consideration of the effects of making the changes and ensuring that the systems are fully tested before deploying them in production.

Option D - Use Amazon CloudFront with access to the frontend server with origin fetch:

Amazon CloudFront is a content delivery network that caches and distributes content from an origin server to multiple locations worldwide. In this scenario, CloudFront can be used to cache the frontend server and serve it to end-users. This option is not the best choice, as CloudFront does not provide any specific features for integrating frontend and backend systems.

Option E - Use Amazon SQS between the frontend and backend subsystems:

Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables decoupling and scaling microservices, distributed systems, and serverless applications. This option can be used to decouple the frontend and backend subsystems, making it easy to integrate them into the stack. However, this option requires additional work to ensure that the messages are processed correctly and that the systems are integrated seamlessly.

Overall, Option B - Use Blue/Green deployment strategy by creating new Auto Scaling groups with the new AMIs is the best option as it provides the ability to test the new systems before redirecting traffic to them, ensuring smooth integration with the existing stack.