Too many simultaneous users on a server that was not prepared for this can lead to overloading it, resulting in the unavailability of a website, online store or other application.
So what can be done to ensure that servers can withstand a load increase of more than 1000%? How to make the speed as fast as possible for people from all over the world when launching applications and save on transfer at the same time?
These questions were posed to us when we worked with AimControllers, for whom we designed the infrastructure. AimControllers is a leading supplier of personalized game pads in the European and American markets.
The company specializes in improving game controllers. Projects are carried out both for professional players, but also for ordinary users. The appearance of the pads can be completely customized to your requirements, as the company realizes the craziest designs. In addition, AimControllers sets itself apart from the competition by offering a lifetime warranty on its products.
The company was preparing for a marketing campaign, during which it partnered with a popular youtuber. The increasing popularity of their business meant that a traditional dedicated server was no longer sufficient. In addition, AimControllers had plans for the largest marketing campaign in its history. It was supposed to significantly increase traffic to the site. So there was a good chance that , the current infrastructure could not withstand the influx of a large number of users at the same time. So they asked us to help, and we took up the challenge to help AimControllers prepare for the campaign.
The campaign was to work with PewDiePie, who at the time was one of the most famous and popular youtubers in the world. According to Time magazine’s PewDiePie ranking in 2016. has rocketed into the list of the 50 most influential people in the world. Its placement in the ranking was based on the number of its followers at the time, which was more than 97 million people.
AimControllers therefore predicted that the traffic would be huge. In addition, we were limited to a dozen days. As a result, work on migrating the service continued until the last minute.
Our task was not only to prepare a tailored infrastructure, but also to optimize the servers after the biggest wave of traffic, so that AimControllers would not incur unnecessary costs.
The intercontinental market was also a challenge. The campaign took place in Europe and America. We used two AWS regions at this point. Each AWS region connects to a geographic region, and such solutions are used to keep computing resources and storage as close as possible to end users. In addition, our proposed solution had to take into account the latency in communication for clients from two continents.
The first step was to conduct an infrastructure audit. We analyzed the client’s current environment and application history. We checked such parameters as the disk space occupied by the selected data and the directory structure in which the application is maintained. In addition, we analyzed the transfer consumed by HTTP/S traffic in selected domains.
After the audit, we offered the client a solution that would keep the application running continuously, regardless of the traffic it would generate. Our proposal was to move the client’s infrastructure to the Amazon Web Services cloud.
The newly designed architecture was based on Amazon’s EC2 service, which provides auto-scaling. Scaling is based on Amazon’s Cloudwatch service, which sends information to the auto-scaling group. Based on previous rules and scripts, it then adjusts resources to meet current demand. This gives confidence that the architecture is being used optimally and that the infrastructure will be available regardless of the number of users.
In addition, the use of one of AWS’ services, the Amazon Aurora Serverless service, has made the infrastructure scalable. At the same time, it allowed us to optimize costs.
This service offers relational databases with autonomous scaling. And the amount of available computing power (ACU) depends on the current server load. Introducing appropriate rules allows you to add and subtract server resources as needed. According to Amazon Web Services, the Amazon Aurora service is 5 times faster, compared to standard MySQL databases.
During the design, we also used Cloudflare technology as part of the infrastructure. It acts as a CDN (Content Delivery Network), which is tasked with caching static files. In this way, we saved on transfer, which is one of the fees when using cloud solutions.
Another service we used was ELB (Elastic Load Balancer). ELB was responsible for evenly distributing traffic across its instances and the region in which the user resided.
To prevent a possible failure, we used the Amazon S3 service to quickly restore the infrastructure to its last saved state. The Disaster Recovery policy we have implemented gives a sense of security and confidence that the monitored infrastructure will be able to return to its pre-disaster state.
The number of services used can be overwhelming, however, all of the services run on Amazon Web Services, and they make it possible to manage the servers so efficiently, regardless of site traffic and other factors. Amazon AWS allows for an individual approach to each customer by tailoring services according to the needs the customer has. In this way, we reduce unnecessary expenses, since we do not overpay for entire packages, but select services ourselves.
By migrating to the AWS public cloud, the client was ready for heavy traffic to its site. In addition, we improved the performance of its servers on a daily basis, making them work better regardless of website traffic.
The marketing campaign was a success. The online store’s website was prepared for large numbers of people at a time. Thanks to advance planning, the customer was able to enjoy total server availability without worrying that something would go wrong.
During the marketing campaign period, the servers saw an increased, more than 20-fold, number of requests. In addition, the number of users increased by more than 1,300%. Cloudflare, in turn, reduced transfer costs by about 95%.
Thanks to fruitful cooperation, AimControllers’ servers were secured for the entire campaign as well as afterwards. The end of the campaign naturally comes with a drop in traffic, so the infrastructure has been scaled down to save on expenses.
If necessary, during the conduct of the next marketing campaign, there is, of course, the possibility of incurring the infrastructure to the desired level.