- English
- français
- Deutsche
- Contact us
- Docs
- Login

This blog is based on an Upsun livestream discussion featuring Guillaume Moigneu, Field Engineer, and Thomas di Luccio, Product Manager at Upsun. The conversation was moderated by Greg Qualls. We utilized AI tools for transcription and to enhance the structure and clarity of the content.
When Black Friday approaches, the stakes are high for eCommerce businesses. While marketing teams dream of record-breaking sales, technical teams face a different reality: ensuring the infrastructure can handle unprecedented traffic without collapsing. In a recent conversation between developers Greg, Guillaume, and Thomas, the group shared hard-won lessons from managing high-traffic events.
Guillaume's experience paints a vivid picture of what's at stake. Having worked for eCommerce agencies that manage 30-40 major European retailers, primarily in the fashion sector, he has seen both triumphs and disasters. "It's always a lot of pressure and trying to react as much as we can," he explained, recalling the stress of teams working around the clock during peak sales periods.
Tomas shared his own cautionary tale from the ticketing industry. When his company secured a deal with a significant new venue, the season announcement brought a flood of eager buyers. "Everybody was taking the frequent buyers buying tickets, a lot of tickets at the same time, big rush on the website, every app was eating the same API, and everything collapsed," he recalled. The lesson was clear: preparation isn't optional.
Both experts emphasized that successful Black Friday preparation begins months ahead, not weeks. Guillaume recommended a specific approach: "Every time you go for Black Friday, especially if that's a new application or something you haven't really battle tested before, you need to take a few months actually to slow down on the new development and new features."
This doesn't mean implementing a complete code freeze, but it does require shifting priorities. Development teams need time to establish comprehensive testing processes, implement application performance monitoring tools like Blackfire or New Relic, and profile their code to identify potential bottlenecks before they become critical failures.
One of Tomas's key recommendations centers on creating accurate testing conditions. "You need to be able to create the same conditions, so create a clone of your production application—same setup, same version of everything, same level of resources," he explained.
This principle extends beyond just hardware specifications. Teams should test with production-scale databases rather than small development datasets. As Tomas noted, testing with a couple of hundred entries bears no resemblance to querying a production database with complex, real-world data. The differences in performance can be dramatic and revelatory.
For load testing, the discussion highlighted tools like Locust, which can simulate thousands of concurrent users. However, Guillaume emphasized an important consideration: generating realistic traffic requires substantial resources. "Most of the big eCommerce websites want to handle like 10,000 transactions or users at the same time, so leveraging software and solutions like Locust Cloud could actually be helpful because you don't want to set up like dozens of AWS instances to send traffic to that site."
The challenge isn't just technical; it's about defining realistic testing scenarios. Users behave unpredictably: some browse catalogs for hours, others add hundreds of products to their cart only to use it as a wishlist. Working with analytics teams to understand actual user patterns is time-consuming but essential.
When asked what single action developers should take if time is limited, Guillaume didn't hesitate: focus on caching. "Caching can be amazing, caching can remove a lot of bottlenecks in your application when it's done right," he said, referencing the famous computer science saying about the two hard things: "caching and naming."
Properly implemented caching serves two critical functions. First, it dramatically improves user experience through faster loading times. Guillaume cited the often-quoted Amazon statistic about losing significant revenue for every 100 milliseconds of additional loading time. Second, caching reduces the strain on backend resources and databases, preventing overload during traffic spikes.
Tomas's top recommendation was investing in observability tools. "Give yourself the ability to witness your application, your infrastructure behaving, and try to learn from this," he advised. However, investment isn't purely financial; it requires time to learn how to utilize these tools effectively and comprehend the data they provide.
The beauty of observability, according to Tomas, is its guidance: “It will tap you on the shoulder and say, "Look at this, look in this direction." Rather than guessing where problems might occur, observability tools reveal actual bottlenecks, slow requests, and resource-hungry processes, enabling targeted optimization.
Greg raised an often-overlooked point: load testing isn't just about validating technology—it also tests people and processes. Regular testing helps new team members understand emergency procedures before a crisis occurs, ensuring they are prepared. It also reveals how seemingly minor changes can have unexpected impacts across the system.
Guillaume emphasized the importance of backup processes: "You should have backup processes in place, the same way you should have backups for your data." Things inevitably go wrong—staff may be unavailable, marketing may request last-minute changes, products may sell out, requiring updates. Having documented processes and clear communication channels becomes critical.
The conversation highlighted how modern cloud infrastructure has transformed the preparation for Black Friday. Gone are the days of driving to data centers at 4 AM to physically add servers. However, new challenges have emerged. During the COVID-19 pandemic, when eCommerce demand skyrocketed, some cloud providers struggled to provision new instances due to chip shortages.
Guillaume now works for a cloud application platform and has seen clients scale to 1,200 CPUs for a single day. "That's always a challenge because, like those applications, sometimes they are not really meant to scale that high," he noted. The discovery that caching solutions like Redis are single-threaded can come as a surprising revelation when scaling to unprecedented levels.
Sometimes the most significant challenges come from completely unforeseen circumstances. Guillaume recalled being featured on France's main TV channel without any warning: "Everything crashed obviously because we were not ready for it." This highlights the importance of effective communication across departments, particularly between marketing and technical teams, regarding upcoming campaigns and their anticipated impact.
As Guillaume put it: "There is no worse feeling than your CEO coming and saying, 'Hey, we've missed I don't know, $1 million in revenue because the site was down.'" The key is remembering that these situations call for shared responsibility rather than blame. Looking back should be about learning; looking forward should be about improvement.
A frequently overlooked challenge is managing feature requests that can compromise performance. Guillaume emphasized fighting unnecessary customization: "Try to stick with what your solution is actually doing. If you're using Magento, don't try to over-engineer it and rework everything because you're going to struggle with updates, maybe security, but the performance is going to be so bad."
Tomas highlighted the insidious nature of incremental degradation. A feature that requires only two SQL queries may seem harmless in isolation. "Two SQL queries don't make a difference, it's true," Tomas acknowledged. "But it's the same thing every other week, and when Black Friday comes, you have 200 more SQL queries."
While some view automated testing as controversial, both experts advocated for it as a critical safeguard. Automated tests catch not just functional regressions but performance regressions, ensuring that new features don't inadvertently harm existing functionality.
However, Tomas warned about a common pitfall: teams under pressure sometimes comment out failing tests to meet deployment deadlines, only to forget to address the underlying issues. "You should not have fixed it by tricking it, but fix the reason why your test is failing," he cautioned.
When discussing JavaScript frameworks, both developers advised pragmatism over trendiness. Guillaume uses Svelte and SvelteKit personally, but acknowledges that React and Next.js are more widely adopted due to their established ecosystems and extensive component libraries. Angular remains prevalent in enterprise environments due to the support of corporations.
The key principle: "If you want to release stuff and be stable and keep releasing it, stick to the basics for now at least," Guillaume advised. Experimenting with emerging technologies like Bun or Turbo is fine for side projects, but production applications benefit from mature, well-supported frameworks.
Tomas took this philosophy further: "I've used React for many years and I simply don't want to change because I'm not using—well, I'm more of a backend guy." His pragmatic approach resonates with many developers: use what you know unless there's a compelling reason to change. As he noted, if one day Facebook stops supporting React, "I would have to move, but till now React is good."
Preparing for Black Friday requires a holistic approach that balances technical preparation, team readiness, and cross-departmental communication. The worst strategy, as Tomas bluntly put it, is doing nothing: "Do not if one Black Friday went bad, do not wait one year hoping that everything will be better in one year."
Success comes from treating high-traffic events as the best-case scenario they represent for business, while simultaneously preparing for the worst-case technical scenarios. Start testing months in advance, invest in observability, implement aggressive caching, create realistic testing environments, and ensure your entire organization understands the stakes and their role in the process.
Most importantly, design your entire setup with worst-case scenarios in mind—because in eCommerce, the best day for business can quickly become the worst day for technology if preparation falls short.
Join our monthly newsletter
Compliant and validated