Ferrero WAF, The Need to Retest All Stories
April 14, 2025
Ferrero WAF, The Need to Retest All Stories
In the previous part, we discussed the challenges and experiences of building the "Let's Story" feature in the Applaydu application. However, with the introduction of Ferrero WAF (Web Application Firewall), a new requirement emerged: we needed to thoroughly retest all the stories.

This was no small feat, as we had to test over 40,000 stories, each available in 13 languages, and each language containing around 250 files. Moreover, we had to come up with a solution within 7 days before the live release.

Proposed Solutions: Script 1 + Script 2

To tackle this challenge, we proposed two approaches:

Script 1: Testing All Data in S3

The first script focused on testing all the data stored in Amazon S3. The advantage of this approach was its speed, as it allowed us to quickly validate the stories before the devops team updated the pipeline.

Script 2: Testing All APIs for Stories

The second script involved testing all the APIs required for the stories. This approach was slower compared to Script 1, as it relied on the end-user rate limit set by Ferrero WAF. We had to run the tests gradually until all the stories were covered.

Challenges with Ferrero WAF

During the testing process, we encountered a roadblock when we got blocked by Ferrero WAF. This was due to our initial lack of understanding of Ferrero's rate limit setup.

After discussing with the Ferrero team and analyzing their rate limit configuration, we gained a better understanding of how it worked. We realized that we needed to adjust our testing approach to comply with the rate limits in both the pre-live and live environments.

Cost Calculation for Cloudfront, Akamai, and AWS

One important aspect of this testing process was estimating the costs associated with using services like Cloudfront, Akamai, and AWS. We created a detailed spreadsheet to calculate the projected expenses based on the number of requests, data transfer, and storage requirements.

This cost analysis helped us make informed decisions about resource allocation and optimization, ensuring that we could efficiently test the stories while keeping the costs under control.

Setting Up Linux Machine and Code Processing

To streamline the testing process, we decided to set up a dedicated Linux machine. This machine served as the central hub for running the testing scripts and processing the code.

We carefully configured the Linux environment, installed the necessary dependencies, and optimized the system for performance. This setup allowed us to efficiently execute the testing scripts and handle the large volume of stories and files.

Conclusion

Retesting all the stories in the "Let's Story" feature after the introduction of Ferrero WAF was a significant challenge. However, by proposing two testing approaches (Script 1 and Script 2), understanding the rate limit setup, calculating the associated costs, and setting up a dedicated Linux machine, we were able to overcome the obstacles and ensure the quality and reliability of the stories.

This experience taught us valuable lessons about adaptability, collaboration, and the importance of thorough testing in the face of changing requirements. It also highlighted the need for effective communication with external teams, such as Ferrero, to align our efforts and find solutions together.

As we move forward, we will continue to apply these lessons learned and strive to deliver the best possible experience to our users through the "Let's Story" feature in the Applaydu application.

Stay tuned for more insights and stories from our development journey!

Discussion (0)

Loading...

Recommended articles

More articles ➜
Event-Driven Architecture

Event-Driven Architecture

Event-driven architecture, Reactive programming, and technologies like NodeJS, Play, and

Architecture
Beiryu

Beiryu

Contributor

0
Sự thật thú vị: Không phải code đẹp mới là code tốt

Sự thật thú vị: Không phải code đẹp mới là code tốt

Làm việc trong ngành phát triển phần mềm được một thời gian, tôi nhận ra một điều thú vị: không phải lúc nào code đẹp cũng đồng nghĩa với thành công về mặt kinh doanh. Hãy cùng tôi đi sâu vào một vài ví dụ điển hình và bài học từ thực tế.

Side hustle
Personal Stories
Beiryu

Beiryu

Contributor

1
Subscribe to the newsletter
Get emails from me about web development, tech, and early access to new articles.