Your company has an on-premises multi-tier PHP web application, which recently experienced downtime due
to a large burst In web traffic due to a company announcement Over the coming days, you are expecting
similar announcements to drive similar unpredictable bursts, and are looking to find ways to quickly improve
your infrastructures ability to handle unexpected increases in traffic.
The application currently consists of 2 tiers A web tier which consists of a load balancer and several Linux
Apache web servers as well as a database tier which hosts a Linux server hosting a MySQL database.
Which scenario below will provide full site functionality, while helping to improve the ability of your
application in the short timeframe required?
A.
Offload traffic from on-premises environment Setup a CloudFront 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.
B.
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.
C.
Failover environment: Create an S3 bucket and configure it tor website hosting Migrate your DNS to
Route53 using zone (lie import and leverage Route53 DNS failover to failover to the S3 hosted website.
D.
Hybrid environment Create an AMI which can be used of launch web serfers 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.
Hi,
I would say A or D….
Since C (S3) does not support PHP (question is to provide full site functionality)
Any thoughts are welcome.
Regards,
Frank
Hi Frank,
D would be incorrect : “Leverage Elastic Load Balancing to balance traffic between on-premises web servers and those hosted in AWS.”. Not sure if AWS ELB has such capacity.
I have to agree that ‘A’ seems the most appropriate.
a
A is correct. Cloud front can be used as a cache to an on prom solution.
A
Why not B? I feel B has the best fit here.
A
Although I am not sure about “A”, all others seem to be wrong
D: Cannot have LBs from AWS to on-premise system
C: S3 with PHP is a tough cookie or may be even a bad coookie
B: Not a chance
This leaves us with A
why not B? i select B
I will choose B
A. Can’t be as cloudfront is for caching and php needs server
B. Best fit
C. PHP needs server not a bucket
D.Elastic Load Balancing does not support on-premise
A …is the correct answer. Cloudfront caches content, the server which is the origin could be your PHP web server or S3(if you want to cache S3 assets) You get the cloudfront URL after configuring the distribution and you then Alias your web address to the URL..
A. correct… You can have CloudFront sit in front of your on-prem web environment, via a custom origin (the origin doesn’t have to be in AWS). This would protect against unexpected bursts in traffic by letting CloudFront handle the traffic that it can out of cache, thus hopefully removing some of the load from your on-prem web servers.
B. incorrect for two reasons… First, there is nothing in the question to say that the existing Apache web servers are VMs. They might be physical servers, for all we can tell from the question, so VM import/export may not be usable at all. Second, you wouldn’t want just a read replica out in AWS. If your website instances in AWS are taking the brunt of the incoming burst of traffic, they may have to do both reads and writes, and you don’t want to force them to talk all the way back to your on-prem DB to do writes. That’s just going to add a lot of latency. And even after the writes are made to your on-prem DB, they still have to replicate back out to the read replica in AWS, which is asynchronous, and could lead to inconsistencies. (User has just clicked to add an item to their shopping cart, and master DB is aware, but read replica DB hasn’t been informed by the master DB yet, so the user doesn’t see it in their cart.)
C. incorrect for two reasons… First, because it doesn’t provide any ability to absorb unexpected bursts in traffic, it merely provides you a failover refuge if your on-prem environment falls over dead from the load. Second, nothing in the question indicates 100% of the content is static content. If you have any dynamic content at all (which you probably do have, since there’s a back-end database there for some reason), S3 wouldn’t get it done.
D. incorrect because you cannot (currently) use an ELB to share load with an on-prem web server. (You have to specially configure an ELB to even be able to share load across AZs. On-prem is right out.) In theory, you could configure a weighted load-sharing entry in Route53, with a portion of the traffic going to your on-prem load-balancer, and the remainder of the traffic going to your ELB. But that’s not what D is stating.
B is incorrect simply because you cant create a read replica from an on-prem database – its from an RDS instance. If the q said use an RDS instance and and replicate to the on-prem DB (via data pipeline or native replication tools) that could work. But you’ve no idea how big the DB is and the q is around doing this quickly so A is clearly the obvious answer
B is the Answer:
The question is about auto-scaling on both tiers.
The web tier (Apache which is a static web server) is scaled using auto-scaling group
Once the DB is migrated to RDS, the scaling is taken care by AWS since it’s a managed service.
The DB is read-only because the website is static hence the use of Read Replicas
Did anyone gave the exam recently ..????
B appears very appealing answer , reason being
Keywords: Dynamic burst (Can happen at all levels not just Web) , PHP applicaion (hints dynamic webpages hence caching may hardly help)
What goes against B is …nowhere it is explictly mentioned that current workloads are on virtual
You cannot create a read replica of an on premise database
A
keyword here is “short term”
full migration isnt “short term”