If you're comfortable with Linux, an option for you is running a Linode or Slicehost ($20/month) and hosting your clients on it. This will give you total control of the hosting environment, and a residual income. You'll have plenty of horsepower for Rails or whatever else you want to use, and as you grow, you can buy more nodes.
Beware, though: when you put on a system administration hat you're taking on a lot of new responsibilities, including backups and security. It's also a good idea to bring your friends in on it, so if something goes wrong they can look into it for your client if you're away.
So, it really depends on your level of comfort with sys admin stuff, and the kind of relationship you have with your clients. Good luck!
A basic $20/month Slicehost or Linode
is probably going to be good enough for 2 "real" applications and maybe a few CGI pages, but not much more. The limiting factor is memory -- modern languages like to use a lot of it.
Remember the 80/20 rule. Most of the sites only have a couple of clicks per day. Right now we have around 15 sites and two rather heavy apps on a 512 slice. We always intended to upgrade it, but it turned out not to be the case. On a 256 slice we had all the sites confortably.
As for the few sites which get a lot of traffic... they should also generate a bit more income and an upgraded slice.
Yes, this is something i thought about also. It can be good when they dont already have their own server already set up with their email, etc. I have tried both slicehost and linode. Its nice to have such control when its possible.
Beware, though: when you put on a system administration hat you're taking on a lot of new responsibilities, including backups and security. It's also a good idea to bring your friends in on it, so if something goes wrong they can look into it for your client if you're away.
So, it really depends on your level of comfort with sys admin stuff, and the kind of relationship you have with your clients. Good luck!