This is an excellent article on Instagram’s engineering blog. You’ll appreciate this if you’re a server nerd like me. I found a summary of the technologies they write about here, as well. This is rather impressive. With three engineers they they run 100+ servers including a dozen PostgreSQL servers and 25 Django application servers.
A couple things I found particularly interesting:
- SSL terminates at the Elastic Load Balancer, which lessens the load on nginx.
- Ubuntu 11.04 (Natty Narwhal) was the most stable thing they could find. It’s what I run as well, but I always thought I would feel safer with 10.04 (Lucid Lynx) as it is the current LTS. I suppose you still only need to do a full distro-upgrade every three years or so even when you’re not on an LTS.
- Guincorn instead of Apache. This doesn’t necessarily surprise me, just interesting. Apache is a memory hog, though you can probably fine-tune it if you’re interested in that much configuration.