Which scenario below will provide full site functionality, while helping to improve the ability of your application in the short timeframe required?
Failover environment: Create an S3 bucket and configure it for website hosting. Migrate your DNS to Route53 using zone file import, and leverage Route53 DNS failover to failover to the S3 hosted website.
Hybrid environment: Create an AMI, which can be used to launch web servers in EC2. Create an Auto Scaling group, which uses the AMI to scale the web tier based on incoming traffic. Leverage Elastic Load Balancing to balance traffic between on-premises web servers and those hosted in AWS.
Offload traffic from on-premises environment: Setup a CIoudFront distribution, and configure CloudFront to cache objects from a custom origin. Choose to customize your object cache behavior, and select a TTL that objects should exist in cache.
Migrate to AWS: Use VM Import/Export to quickly convert an on-premises web server to an AMI. Create an Auto Scaling group, which uses the imported AMI to scale the web tier based on incoming traffic. Create an RDS read replica and setup replication between the RDS instance and on-premises MySQL server to migrate the database.
Explanations:
While using S3 for static website hosting can provide high availability, it does not support dynamic content or full site functionality as required by a multi-tier PHP application. DNS failover to an S3 bucket would not accommodate the application logic and database interactions necessary for complete functionality.
This scenario allows for immediate scaling of the web tier in response to traffic increases by creating an AMI and an Auto Scaling group. This enables the application to handle unpredictable bursts in traffic while maintaining full site functionality through the Elastic Load Balancer, which distributes incoming traffic across both on-premises and AWS web servers.
Setting up a CloudFront distribution would help with caching static content, reducing load on the web servers. However, it does not directly increase the application’s capacity to handle traffic spikes as it does not scale the web servers themselves or provide full functionality for dynamic content or database interactions.
Migrating to AWS and setting up Auto Scaling with an RDS read replica is a more extensive solution that might not be achievable in the short timeframe required. While it would ultimately provide scalability and resilience, the immediate need for traffic handling is better served by the hybrid environment in option B. Additionally, this option involves more complex migration and setup processes, which may not be feasible quickly.