Our customer provides an online platform allowing its clients to run individually branded auctions.
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 resources dynamically to handle 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 and the other challenge is to make the web servers handle that amount of images and at the same time keep client-side performance at good level.
In order to dynamically adjust the power of the web site, it was decided to migrate it to the Amazon Web Services (AWS). AWS Elastic Compute Cloud (EC2) service is used to host the web site. 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 server instances and decreasing CPU and RAM on the remaining web server.
The client-side performance has improved a lot. At the same time, computing resources are not wasted when there is no auction. Elastic computing capacity of the server provides a good way to adopt to the business needs, which saves the customer money and improves user experience.