Our customer provides an online platform allowing its clients to run individually branded auctions.
An auction is a periodical event, so the system receives a large number of requests only during the auction; at any other time system is quite idle and does not use much resources.
There should be a way to adjust the application's resources dynamically to handle the massive load during the auction time and to save money for the rest of the time.
Typically, an auction consists of many lots. Every lot contains a number of high-quality images; the other challenge is to make the web servers handle that amount of images and at the same time keep client-side performance at a good level.
In order to dynamically adjust the power of the website, it was decided to migrate it to the Amazon Web Services (AWS). AWS Elastic Compute Cloud (EC2) service is used to host the website. It provides a number of options to manage server performance in a very flexible way: during the auction, the administrator can scale it in (by increasing CPU and RAM) and scale it out by adding new server instances.
When the auction is over, the administrator scales the application down by removing web servers instances and decreasing CPU and RAM on the remaining web server.
The client-side performance has been improved a lot. At the same time, computing resources are not wasted when there is no auction. Elastic compute capacity of the server provides a good way to adapt to the business needs, which saves the customer money and improves the user experience.