Published: October 18, 2025
102
464
6.6k

Until ~2015, GitHub Pages hosted over 2 million websites on 2 servers with a multi-million-line nginx.conf, edited and reloaded per deploy. This worked incredibly well, with http://github.io ranking as the 140th most visited domain on the web at the time.

people really are out here complicating things

the talented Hailey Somerville eventually replaced this setup with: https://github.blog/news-insig...

@isamlambert They also wrote their own sshd that used MySQL as the backend for authorized_keys instead of a file. Early days of GitHub were wild. And I’m sure @holman has some more stories.

@alexpotato i know i worked there

@isamlambert is this a shitpost

@skydotcs no 100% serious

@isamlambert Don't let the secrets of us old timers out! Static content, frequent SIGHUP.. ah it was such a breath of fresh air compared to the heaviness of Apache or (I might get judged by some) IIS.

@wjsimmonds it was a great time. it's incredibly how complex things have gotten.

@isamlambert How did they manage that?

@essonam_m what do you mean? that is how we managed it

@isamlambert It’s wild how the mighty have fallen. What was the turning point?

@kylegalbraith reloads got very slow in the end and it became pretty brittle. it was amazing how long it lasted though.

@isamlambert Wouldn't the nginx reload cause disruption for everyone though?

@SubinSiby yes and in the end they got pretty slow but it’s amazing how long it lasted

@isamlambert Were the reloads relatively fast?

@matthewcp i vaguely recall they got pretty slow

@isamlambert And Fastly, no?

@isamlambert what finally made them move away from this setup?

@isamlambert reminds me of figma using a single postgres instance until 2020. As a contractor, I worked in multiple companies running a single database per service. These examples help me argue for simplicity. Each component that persists data is a liability πŸ˜„

@isamlambert don't bet against simplicity. people never learn from the monolithic web era. i like revisiting articles like this: https://danluu.com/simple-arch... nginx is battle-hardened btw.

@isamlambert multi million line nginx.conf? i had no idea this would work

@isamlambert Oh hilarious, we did this for...a while as well! Worked great, would recommend (We no longer do this, just so we're clear)

@isamlambert oh and since it was all static this can be infinitely scaled horizontally? nice, nice

@isamlambert Architecture astronauts hate this kind of simplicity. Most companies have at least a few blocking simple solutions like this

@isamlambert I was going to ask if there was a link to read about it but found it in your replies πŸ™‚ That's wild. And yes totally agree, people massively and unnecessarily complicate things. Most projects can live and die on a single VPS.

@isamlambert This is proof that scalability used to be more about understanding systems than stacking tools

@isamlambert How much disk space did those two servers need?

@isamlambert What if we went back and discovered someone hid an entire novel in the file and nobody noticed πŸ˜‚

@isamlambert they need to move to kubernetes stat!

@isamlambert If this is true, hopefully there was at least Varnish in front of nginx.

@isamlambert We used to just do things

@isamlambert boring solutions πŸ”₯

Share this thread

Read on Twitter

View original thread

Navigate thread

1/34