Our goal is 'making med school easier, one less click at a time'. We have no business model, just trying to make our own lives easier. (tmedweb.tulane.edu). We went from bluehost to our own server on the university's network, and we stayed with CentOS along the way. The box is a spare dual-core dell desktop (highest load I've seen was about (0.30 0.14 0.10)), we have a 10 Mbps card and 100Mbps card (our current bottleneck), a little 500 GB RAID from G-Tech (total used ~ 8.4 GB, but if we take on lecture audio or video, this will get eaten fast), UPS (enough to drive in if needed), etc. We end up working a lot with the university's very helpful netsec guy for ports, bandwidth throttles, that sort of thing. We get about 500-600 visits a day.
I'm also getting ready for a different project, to take on the military's medical records system, which could get huge fast. So the tmedweb project is also a bit of a sandbox for what to do for that bigger project.
Gigabit ethernet is probably next on the todo list; what else should we be getting ready for? In what order to people generally arrive at which scaling issues? From where we're at now to "big". Not Google big, but, let's say, Navy big.