Home » Case Studies » INTERTOP

60% cost optimization on autoscaling and 70% savings on renting spot instances

Client’s result

0,05% from online profit on Black Friday spent on AWS resources
0,2 s website response time
60% cost savings on autoscaling

Industry |

Retail Fashion

Company size |

1K-5K employees

Service | Migration to AWS, autoscaling configuration, AWS infrastructure support

Location | Ukraine

About INTERTOP

INTERTOP Ukraine is the leader of Ukrainian fashion retail that has been present for 30 years on the market, managing 14 retail chains of multi-brand and mono-brand stores. These include INTERTOP, Armani Exchange, Emporio Armani, EA7, Ecco, Geox, Marc O’Polo, Napapijri, Skechers, Timberland, The North Face, Vans, Kiko Milano cosmetics chain, and INTERTOP Outlet. The intertop.ua platform offers 130,000 products from more than 500 brands in the categories of shoes, clothes, accessories, and cosmetics. The main goal of INTERTOP Ukraine is to become a highly technological fashion company that meets market trends and provides its clients with exciting shopping experiences. The company has achieved full integration between the website, mobile application, 157 offline stores, terminals, warehouses, suppliers, and accounting systems.

Main challenges

Challenge 1

Stop system downtime and issues with stability during peak load periods

Challenge 2

Optimize infrastructure cost

Challenge 3

Speed up the work of the software development team

What we did

Solution 1

Migration from on-premises to the cloud

As on-premises servers were unable to cope with the growing load on the system, we offered cloud migration.

Our advice was to migrate to AWS at once. However, due to some budget constraints and hesitations, the client chose a small virtual hosting.

Its competitive price was a great advantage but it had limited server capacity, its service ecosystem and integration opportunities weren’t extensive, and its reliability and uptime lagged behind the standards of the leading global providers.

Using this small hosting, it was impossible to resize resources automatically. The team had to wait for the provisioning of additional servers for a few hours and pay the full rate for idle servers. Still, there were crashes several times a month, sometimes even with data loss, and we had to restore it from backups. All this was inconvenient and inefficient, so migration to AWS was a rescue.

We chose the lift-and-shift migration model to move to AWS as is. This is the least time and cost-consuming model that offers a quicker solution with opportunities for further infrastructure improvement and optimization. It took us 2 weeks to migrate to AWS using this approach instead of a potential 2-3 months in case of rearchitecting.

Lift and shift Migration

We moved the system to EC2 instances, configured scalability and load balancing, and set up CI/CD pipelines.

Migration to AWS was done before Black Friday in 2019. This solution helped cope with the upcoming loads and the overall positive growth dynamics of peak loads on the website.

Since then, the website load has grown yearly, and INTERTOP’s AWS system has been stable, durable, and scalable.

INTERTOP’s Peak Loads Year by Year

Due to the AWS-based solution, INTERTOP successfully went through Black Friday 2019 with the following results:

Solution 2

System rightsizing and adaptation to the growing website load

There were three main tasks defined within this solution: adapt resources to the growing traffic load, prepare the system, and carry out load testing.

Adapting resources to the load increase consisted of the following steps:

Autoscaling tuning
According to AWS official recommendations, scaling should be based on processor loads. However, in real life, it turns out to be not enough. The complexity of modern applications requires a combined approach that is applied in the solution for INTERTOP.

We considered not only processor loads, but also the number of occupied and available PHP workers, and the number of connections to one server.

Adding and upgrading database nods
This became a must before big and important events like sales. It was observed that during sales the load on the database grew abruptly, so we also considered it reasonable to keep some power in reserve for peak loads.

Creating separate web server groups for the admin panel and API
The admin panel influenced the website greatly. It contained a lot of heavy parts, requests, and pieces of code, and when operators used it intensely, it slowed down the website. When we isolated the admin panel, the problem ended.

It was a very successful decision due to which the total number of servers was reduced.

INTERTOP’s Average Load

Compare the numbers before dividing servers into logical parts:
Night – 4 servers
Day – up to 35 servers
Peak load – up to 70 servers

Increasing the performance of the web cluster
Software developers noted that a piece of PHP code ran slowly on the production cluster. Performance in the test environment was 30% faster. When we compared the environments, we noticed that we partially used T3A instances on AMD processors. These processors reduced the performance in production. When we removed them from the cluster, the issue was fixed.
However, later we tested Intel and AMD processors once more and it turned out that AMD processors worked 30% slower, so we had to return to Intel.
The use of software code optimization and constant profiler to search for bottlenecks in the code
This work was done non-stop. A profiler was used to find such places and developers analyzed and eliminated them with our assistance if necessary.

System preparation consisted of the following parts:

We conducted load testing after every change in the system and checked everything until we received the expected result.

All the changes and improvements made it possible to normalize system provisioning, which also led to significant cost optimization as INTERTOP requested.

Here are the benefits the client received:

Solution 3

Infrastructure support on an hourly basis

We offered hourly paid infrastructure support services that would cover all client’s needs and requests with no fixed monthly budget commitment. Within this agreement, we worked on regular and emergency tasks, infrastructure optimization, security improvement, etc.

Examples of what we did within our infrastructure support services:

We still provide infrastructure support services to INTERTOP but now they have an in-house DevOps engineer. Their full-time specialist usually does regular tasks and our team provides more complex services, and overall architecture guidance and consulting.

Key Results and Business Value:

1. 100% system scalability

2. 60% cost savings on autoscaling

3. Up to 70% cost saving via renting Spot Instances

4. Saving about 30% by purchasing Reserved Instances

5. 0,05% from online profit spent on AWS

6. 0,2 s website response time

7. Increased system reliability (only 2 critical issues happened within 4 years)

Features Delivered:

1. AWS-based infrastructure

2. Improved system performance and reliability

3. System autoscaling

Technologies we used

Amazon EC2

Amazon EC2

for scalable computing capacity in the AWS cloud.

Amazon RDS

Amazon RDS

for simplified setup, operation, and scaling of relational databases in the cloud.

Aurora

Amazon Aurora

a MySQL and PostgreSQL-compatible relational database, built for the cloud with high performance and availability.

Amazon Aurora

Amazon Aurora Serverless

for automatic database capacity scaling up or down based on application needs.

Amazon ECS

Amazon ECS

for the deployment and management orchestration of Docker containers.

Amazon Elasticsearch service

Amazon Elasticsearch service

for real-time search, analytics, and logging capabilities.

Amazon SQS

Amazon SQS

for a reliable, highly scalable hosted queue for storing messages as they travel between computers.

Docker

Docker

for application deployment automation inside lightweight, portable containers.

Amazon ElastiCache

Amazon ElastiCache

for the deployment and operation of in-memory data stores in the cloud.

Redis

for an in-memory key-value storage known for high performance and flexibility.

Memcached

Memcached

for a high-performance, distributed memory object caching system.

Client’s feedback

“Partnering with IT-Magic has transformed our technological landscape. Their expertise in AWS cloud migration and infrastructure optimization has significantly improved our system’s stability and performance while reducing costs. The flexible support model has seamlessly complemented our in-house team, accelerating our development process and enabling us to provide our customers with an unparalleled shopping experience. We highly recommend their services to any business looking to scale and optimize their infrastructure.”

Scroll to Top