Understanding the Requirement: The company needs to redesign the architecture to be highly available and use AWS managed solutions for hosting a web application with static content, PHP application, and Redis for user sessions.
Analysis of Options:
AWS Elastic Beanstalk: Suitable for simplifying deployment but may not provide the desired flexibility and control for complex architectures.
AWS Lambda and API Gateway: Not ideal for hosting a stateful PHP application and handling static content.Adding complexity without significant benefit.
EC2 instance with ElastiCache and S3: Provides some high availability but involves managing EC2 instances, which increases operational overhead.
CloudFront with S3, ALB, ECS with Fargate, and ElastiCache: This solution leverages fully managed AWS services for each component, ensuring high availability and scalability.
Best Solution:
CloudFront with S3, ALB, ECS with Fargate, and ElastiCache: This combination of services meets the requirements for a highly available and managed solution, ensuring optimal performance and minimal operational overhead.
[References:, Amazon CloudFront, Amazon S3, Amazon ECS with Fargate, Amazon ElastiCache for Redis, , , , ]