World Congress 2023 Sep 21, 2023

Scaling: from 0 to 20 million users

Josip Stuhli

To survive 1.7 million concurrent connections, SofaScore abandoned the cloud. Discover how migrating from AWS to bare-metal servers slashed their infrastructure costs to just 0.8% of revenue.

Pause
Mute Enter Fullscreen
#1 about 2 min

Overview of application scale and exponential growth

How an exponentially growing sports app handles billions of requests with a PHP backend.

#2 about 1 min

Surviving traffic spikes on a single shared server

A basic shared server setup crashes when overwhelmed by thousands of live users.

#3 about 2 min

Adding Memcached and experiencing cache stampede problems

Adding memory caching improved user capacity but led to backend crashes during cache expiration.

#4 about 2 min

Using proactive caching to compute data before expiration

Background workers recalculate and cache live data before expiration to prevent extreme database load.

#5 about 3 min

Scaling huge traffic spikes with static HTML files

Rendering pages as static files over FTP handles overwhelming server load before major sporting events.

#6 about 3 min

Migrating to AWS and utilizing Varnish for caching

Moving to AWS involves deploying stateless application images and using Varnish for request coalescing.

#7 about 2 min

Realizing the limitations of MongoDB for live statistics

Data type errors, poor analytics capabilities, and lack of locking plague the initial MongoDB deployment.

#8 about 2 min

Live migration to PostgreSQL for relational analytics features

Switching the primary database to PostgreSQL on the fly grants advanced SQL capabilities, foreign keys, and stability.

#9 about 2 min

Shifting caching layers in front of backend servers

Deploying load balancers and sharding techniques ensures cache efficiency and protects backend databases during upgrades.

#10 about 2 min

Moving from AWS to on-premise servers for cost reduction

Migrating out of the public cloud to private data center servers eliminates excessively high bandwidth pricing.

#11 about 2 min

Mitigating traffic spikes generated by real-time push notifications

Custom Cloudflare rules whitelist massive inbound traffic waves caused by millions of devices opening simultaneous push notifications.

#12 about 2 min

Monitoring application load and supplementing with virtual machines

Application performance monitoring tools reveal bottlenecks while dynamic virtual machines handle temporary capacity shortages.

#13 about 3 min

Utilizing global edge nodes and geo-routing strategies

Caching content at international edge nodes drastically decreases global load times for users outside the primary data center.

#14 about 1 min

Setting up bare-metal Kubernetes for multi-datacenter redundancies

On-premise Kubernetes deployments ease infrastructure updates and ensure failover safety after datacenters experience severe outages.

#15 about 2 min

Broadcasting lightning fast application updates using NATS messaging

Transitioning clients from long polling to NATS pub/sub networks delivers lightning fast dashboard updates.

#16 about 2 min

Powering machine learning models using ClickHouse database scale

The ClickHouse database efficiently stores and analyzes petabytes of analytical sports data locally at minimal hardware costs.

#17 about 2 min

Emphasizing statelessness, caching, and delayed processing architectures

Core scaling takeaways include keeping infrastructure stateless, personalizing cached data effectively, and actively queuing slow tasks.

#18 about 2 min

Handling metrics pipelines, geo-routing, and Kubernetes workload isolation

Monitoring live systems requires pipelines to InfluxDB, while stateful endpoints like databases remain outside the bare-metal Kubernetes cluster.

Matching moments

3:42 min

Managing high-traffic infrastructure without chasing technology hype

Josip Stuhli Josip Stuhli · Coffee With Developers

1:52 min

Boosting scale and lowering latency natively with NoSQL

Tim Faulkes · LIVE

1:38 min

Handling unexpected traffic spikes without proper load testing

Andreas Taranetz Andreas Taranetz · World Congress 2024

4:36 min

Hiring passionate software engineers to tackle unprecedented scaling challenges

Dana Lawson Dana Lawson +1 · World Congress 2026 Europe

3:32 min

Overcoming traffic burst challenges in hyperscale web applications

Marco Plaul Marco Plaul +1 · World Congress 2023

6:36 min

Overcoming scaling bottlenecks caused by commercial database limitations

Werner Vogels Werner Vogels · World Congress 2025

Upcoming sessions on this topic

Open session

World Congress 2026 North America

September 24, 2026 · 14:10–14:40

Stage 3

Real-Time Data Platforms at Trillion-Event Scale

Diptamay Sanyal

Principal Engineer | Data, AI & Cybersecurity Platforms

Diptamay Sanyal
Open session

World Congress 2026 North America

September 25, 2026 · 16:50–17:20

Stage 4

Engineering Moneyball: How We Benchmarked Google vs Meta

Jirka Bachel

Co-Founder & CEO

Jirka Bachel
Open session

World Congress 2026 North America

September 24, 2026 · 14:50–15:20

Stage 9

How to generate business value through performance optimizations

Nikolai Sidiropulo

Software Engineer at Meta

Nikolai Sidiropulo
Open session

World Congress 2026 North America

September 24, 2026 · 17:30–18:00

Stage 4

Boring Failover: Predictable Region Recovery Across 5,000 Microservices

Garvit Kataria, Sahil Sabharwal

Garvit Kataria
Sahil Sabharwal
Open session

World Congress 2026 North America

September 24, 2026 · 15:30–16:00

Stage 1

KV Cache Is Not About Speed: It's About Surviving Inference Costs

David vonThenen

AI/ML Leader | Keynote Speaker | OSS Engineer & Developer Advocate | Agentic AI, Deep Learning, Production AI | Python, Go, C++

David vonThenen
Open session

World Congress 2026 North America

September 24, 2026 · 17:30–18:00

Stage 3

Scaling Distributed Queues for AI workloads

Jasmit Kaur Saluja

Software Engineer at Meta Platforms Inc

Jasmit Kaur Saluja