I trying to architect a webserver set up for a certain event. This site will get a rapid spike of traffic around 1.5 million requests at the start of the event (ex: 00:00 UTC) and then die down after 5 minutes or so.
Infrastructure is in AWS and I would like some pointers on how to handle traffic in this situation. I am currently using Cloudflare as CDN and am open to using Cloud Front if required.
Happy to provide more info if needed.
What is your main worry ?
To me I would find the main worry is if the application servers & DB servers can handle the load.....then lastly the cost of the servers (EC2 instances). If you are using conventional web servers instead of AWS elastic beanstalk, I would include that into the above lists of worry.
what will the "requests" be? because 1/5 million hits is small, but 1.5 million sessions to register and perform some backend task is much more significant. either way it sounds like horizontal scaling of some sort will be required and as you expect the load then you need to test and start with enough to handle as 5 mins is too short of a period to ramp up, it will be over before it expands in time.
The next critical factor is how the site is built - if it is designed with auto provision in mind then it will be simple to expand and contract, but if manual then not.
Do you need to build this? For one offs it is often more cost effective to use an existing hosted service.