Josip Stuhli
Scaling: from 0 to 20 million users
#1about 2 minutes
An overview of scaling a sports app to millions of users
The initial single-server architecture for a sports results app struggled with exponential user growth, leading to frequent server crashes under load.
#2about 6 minutes
Using proactive and manual caching to survive traffic spikes
Early scaling involved using Memcached with proactive caching to pre-load live data, culminating in a manual static HTML file hack to handle a massive event.
#3about 3 minutes
Moving to the cloud and implementing Varnish cache
The first cloud migration to AWS introduced Varnish for superior HTTP caching and request coalescing, alongside stateless AMIs for effective auto-scaling.
#4about 2 minutes
Migrating from MongoDB to Postgres for data reliability
After encountering data type errors and a lack of locking in MongoDB, a live migration to Postgres was performed to gain stability and analytical power.
#5about 2 minutes
Optimizing cache efficiency with a dedicated sharded layer
To solve cache inefficiency from auto-scaling, the architecture was changed to a dedicated, sharded Varnish layer in front of application servers.
#6about 2 minutes
Migrating from cloud to on-premise to reduce costs
High AWS traffic costs prompted a move back to an over-provisioned on-premise data center, drastically reducing infrastructure expenses relative to user growth.
#7about 4 minutes
Solving global latency with a distributed cache network
To improve performance for international users, a globally distributed cache was implemented with geo-routing, reducing average latency from 500ms to 80ms.
#8about 2 minutes
Adopting Kubernetes for multi-datacenter redundancy
After a provider's data center fire, a second data center was added and managed with Kubernetes to ensure high availability and simplify deployments.
#9about 1 minute
Implementing real-time updates with NATS messaging
To eliminate polling delays and deliver instant updates, a pub/sub architecture using NATS messaging was implemented for millions of concurrent client connections.
#10about 2 minutes
Managing petabyte-scale analytics data with ClickHouse
To power AI/ML models and analyze nearly a petabyte of data on-premise, ClickHouse was chosen for its high-performance analytical capabilities.
#11about 2 minutes
Key principles for building scalable and efficient infrastructure
The core lessons learned include prioritizing statelessness, aggressive caching, using queues for slow tasks, and choosing the right tool for each specific job.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
13:32 MIN
Migrating from local hosting to a cloud architecture
Covid-19 - A crowdsourced map for checking supermarket wait times worldwide
15:01 MIN
Managing explosive growth and scaling challenges
Building a Privacy-First Social Platform at Mastodon - Andy Piper
03:02 MIN
Managing a complex mix of old and new infrastructure
Hosting a modern justice system
51:53 MIN
Q&A on shared systems and scaling productivity
Forget Developer Platforms, Think Developer Productivity!
18:52 MIN
Results of the migration and Q&A
Swapping Low Latency Data Storage Under High Load
21:27 MIN
Scaling SSE applications for thousands of concurrent users
Streaming AI Responses in Real-Time with SSE in Next.js & NestJS
26:29 MIN
Q&A on migration strategy and stakeholder management
AWS Migration within 3 months
23:30 MIN
Preparing for success by architecting for flexibility
The Lifehacker's Guide to Software Architecture
Featured Partners
Related Videos
Single Server, Global Reach: Running a Worldwide Marketplace on Bare Metal in a Cloud-Dominated World
Jens Happe
Database Magic behind 40 Million operations/s
Jürgen Pilz
Scaling Databases
Tobias Petry
Swapping Low Latency Data Storage Under High Load
George Asafev
Reliable scalability: How Amazon.com scales on AWS
Florian Mair
AWS Migration within 3 months
Steffen Heilmann
Maximising Cassandra's Potential: Tips on Schema, Queries, Parallel Access, and Reactive Programming
Hartmut Armbruster
Advanced Caching Patterns used by 2000 microservices
Natan Silnitsky
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.

Lead Backend Engineer (m/f/d)
Peter Park System GmbH
München, Germany
Senior
Python
Docker
Node.js
JavaScript

Senior DevOps Engineer - Search & Services - (f/m/x)
AUTO1 Group SE
Berlin, Germany
Intermediate
Senior
ELK
Terraform
Elasticsearch

Senior Backend Developer - AWS/Node - (f/m/x)
doinstruct Software GmbH
Berlin, Germany
Intermediate
Senior
Node.js

Architect / Staff Python Engineer (m/f/d)
CONTIAMO GMBH
Berlin, Germany
Senior
Python
Docker
TypeScript
PostgreSQL

Senior Backend & DevOps Engineer (m/f/d)
Peter Park System GmbH
München, Germany
Intermediate
Senior
Python
Node.js
JavaScript

Senior Backend Engineer Java/Spring
iov42
Vienna, Austria
Senior
Java
Spring
Ethereum
PostgreSQL
Blockchain
+3

Backend Engineer (TypeScript - Cloudflare Workers, TimescaleDB & AI Infrastructure)
nono
€75-120K
Intermediate
Node.js
Grafana
GraphQL
Terraform
+7


Kubernetes Lifecycle & Security Engineer / Distributed Cloud - STACKIT (gn)
Webseite STACKIT
Intermediate
Kubernetes