Client background & business context

  • Client: Retail company with 1.21 bill EUR revenue in 2019  
  • Project: Migration validation from On-Premise to Google Cloud from a Performance Metrics perspective 

Challenges

  • Capacity limitation: during the daily peaks, the client’s solution platform was able to handle a maximum of 24 orders per second, while pushing the CPU Usage to 100%. This affected the application Response Time, pointing at potential business risks, as it became clear it couldn’t handle the user traffic surplus. 
  • Lack of any performance test measurement: without any performance profiling ever run, there was no track for possible bottlenecks, whose fix could have led to a potentially higher number of processed orders, by maximizing the number of TPS (Transactions per Second) 
  • Migration to Google Cloud planned to start with future flexibility in mind and infrastructure cost optimization, as part of the Digital Transformation program, the client decided to perform a lift & shift to GCP. Unfortunately, this also came with some degree of uncertainty, due to the license model that remained unchanged. Hence, there was no guarantee GCP would process faster than the existing on-premise environment.

Our approach

Caught amid ongoing Digital Transformation, with the COVID-19 pandemic already a hot topic, the client started facing software limitations caused by the legacy license model for the adopted enterprise eCommerce solution. Basically, the client could no longer scale out hardware capacity, as there was a “per number of CPU cores” policy in the license model. Critical performance issues started to surface when that hardware limitation was hit. 

Finding the current bottlenecks was by far, the most urgent action. As a first step, we developed a complex JMeter framework, correlated with a realistic usage profile, extracted from the existing analytics.  

By simulating real-life scenarios, with a scalable load injecting mechanism and full coverage over the exposed users flows, we’ve developed a sustainable approach for performance testing, repeatable in identical test conditions, which enabled us to measure all the vital metrics and assess application behavior after every code build or new environment setup. 

Technologies

  • JMeter 
  • Java 
  • C++ 
  • Groovy 
  • Jenkins 
  • Docker 
  • Git 

Results

The biggest achievement was migrating the application to the Google Cloud Platform while keeping all its capabilities, without the need for extra development. In addition to that, we’ve managed to include the performance tests in the CI/CD pipeline, which offered the customer the mechanism to spot further issues from early stages. Here are but a few of the reaped benefits achieved through our work and close collaboration with the development teams:  

  • Identifying the bottlenecks: during our collaboration we’ve helped identify pain-points, by spotting issues the likes of poor database indexing triggering heavy resource utilization, high cache miss rates due to improper cache size or duplicate HTTP transactions, to name a few. We’ve delivered all of them via comprehensive reports, to client’s teams in charge of fixing. Our contribution enabled the existing hardware platform to increase its funnel by 45%, going from 24 Orders per Second to more than 35, clocked on the final measurement.  
  • Full test coverage: Test scenarios and reporting mechanisms are in place, assessing 100% emulated user-behavior, with integrated real user monitoring (RUM) and application performance monitoring (APM) solutions.  
  • Cloud Migration Validation: by building the testing framework to be easily switchable across environments, with a custom plugin framework that extracts test-data from multiple sources, we were able to help identify the best Google Cloud Platform hardware configuration (CPU types, number of cores per VM, RAM memory size). This way, we’ve ensured the maximum computing power with a fixed number of cores, but at the same time keeping paramount the KPIs referring to Response Time and Number of Checkouts per Second. 

Related case studies

Accounts Payable Process Automation

Cloud-based, automated invoice processing software solutio ...

Cloud-First Strategy: Microsoft Exchange to Office 365 Mig ...

On-premises Microsoft Exchange infrastructure migration to ...

Performance testing for continuous volume testing

Implementing and documenting a long-term, sustainable appr ...

München

Mies-van-der-Rohe-Strasse 6, c/o Design Offices
80807 München, Germany
E-mail: hello (at) accesa.eu

Cluj-Napoca

Constanta 12, Platinia
400158 Cluj-Napoca, Romania
E-mail: hello (at) accesa.eu

Oradea

Cetatii Square 1, Oradea Plaza
410520 Oradea, Romania
E-mail: hello (at) accesa.eu