Master System Design with Real Infrastructure

Stop simulating. Start building. Practice system design with live, containerized environments. Deploy databases, load balancers, and caches in seconds.

Real Infrastructure
Work with actual Docker containers. No simulations - experience real latency, throughput, and system behavior.
Live Metrics
Monitor CPU, memory, and network I/O in real-time. See exactly how your architectural decisions impact performance.
Guided Challenges
Tackle structured problems from basic load balancing to complex distributed database sharding scenarios.

Complete Development Environment

Everything you need to design, build, and optimize distributed systems - all in your browser

workspace/database-sharding
Problem
Monitoring
API Stats

Database Sharding

Medium5 minutes

Learn to scale databases horizontally using sharding. You'll implement a hash-based sharding strategy to distribute user data across multiple database instances, improving performance and enabling horizontal scalability.

shard_router.py
config.yml
1# Database Sharding Implementation
2import hashlib
3
4class ShardRouter:
5def __init__(self, num_shards=4):
6self.num_shards = num_shards
7self.shards = {}
8
9def get_shard(self, user_id):
10# Consistent hashing
11hash_val = int(
12hashlib.sha256(str(user_id).encode()).hexdigest(),
1316
14)
15shard_id = hash_val % self.num_shards
16return f"shard_{shard_id}"|
Live Monitoring

Real-Time Performance Monitoring

Watch your system's performance in real-time. See exactly how architectural decisions impact CPU, memory, disk I/O, and network utilization.

  • Per-Container Metrics

    Monitor each database shard, application instance, and load balancer independently

  • Live Graphs

    CPU, memory, disk, and network I/O visualized in real-time charts

  • Resource Alerts

    Instantly spot bottlenecks and optimization opportunities

Real-Time Monitoring
Shard 1
Shard 2
Flask-app
CPU Usage54.3%
Memory Usage67 MB
API Statistics
Total Requests
420
Success Rate
96.7%
Avg Latency
43ms
Request Rate Timeline
Success
Failure
API Analytics

Comprehensive API Analytics

Track every API request with detailed metrics. Understand traffic patterns, identify slow endpoints, and optimize your system's API layer.

  • Request Tracking

    Total requests, success rate, and failure analysis at a glance

  • Endpoint Performance

    See average response time, min/max latency, and error rates per endpoint

  • Traffic Timeline

    Visualize request patterns over time with interactive charts

Terminal

Fully Integrated Terminal

Direct shell access to your containers. Run commands, query databases, inspect cache contents, and debug in real-time.

  • Full Shell Access

    Execute any command: psql, redis-cli, curl, grep, or custom scripts

  • Multi-Container Support

    Switch between different containers to inspect and debug each service

  • Persistent Sessions

    Your terminal state is maintained throughout your workspace session

Terminal - Shard 1
$psql -h shard-1 -c "SELECT COUNT(*) FROM users;"
count: 25000
$redis-cli GET cache:user:1234
"{"name":"Alice","shard":1}"
$_