leandromoreira/cdn-up-and-running

CDN Up and Running - Building a CDN from Scratch to Learn about CDN, Nginx, Lua, Prometheus, Grafana, Load balancing, and Containers.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 46 minutes ago
Added to GitGenius on September 18th, 2026
Created on December 23rd, 2021
Open Issues & Pull Requests: 2 (+0)
GitHub issues: Enabled
Number of forks: 240
Total Stargazers: 3,697 (+0)
Total Subscribers: 31 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

CDN Up and Running is a tutorial project that teaches how content delivery networks work by building one from scratch using nginx, Lua, Docker, Prometheus, and Grafana.

The project addresses the challenge of understanding CDN architecture and operation through hands-on implementation. It starts with a single backend service and progressively expands to a multi-node system with latency simulation, observability, and load testing. The approach uses nginx as a reverse proxy with caching capability, Lua scripting to add custom logic, Prometheus for metrics collection, and Grafana for visualization. This stack demonstrates how CDNs improve loading times, handle traffic spikes, reduce costs, and achieve scalability by placing cached content closer to users through intelligent routing.

This project suits developers and operators who want to understand CDN internals rather than use a production CDN service. It works well for learning purposes, as a reference architecture, or as a foundation for building custom content delivery solutions. The tutorial format with progressive complexity makes it accessible to those new to CDN concepts while covering real operational concerns like trade-offs in caching, routing decisions, and system observability.

The project maintains a structured educational approach with clear progression through each concept, supported by concrete examples and configuration files that readers can run locally. The inclusion of monitoring and metrics from early stages reflects attention to operational visibility as a core learning objective.