One other thing. Passenger is now the "Best Practice" way to deploy Rails
apps, but that is only because deployment is easier in some respects. If you
have strong system administration skills lighty/nginx plus mongrel/tiny is
just as easy to configure. I'm pretty sure you can use Passenger with nginx
also, which may be a passable alternative to Apache.

Also, you were asking about the number of Mongrels; this really depends on
how powerful your server is. If you have 8 cores then you probably want more
mongrels than on a 4 core machine. You also need to take into account how
much RAM you have available to you.

--
Jeremy Chase
http://twitter.com/jeremychase



On Tue, Mar 23, 2010 at 4:58 PM, brianp <[email protected]> wrote:

> Hey everyone.
>
> I'm a one person team and in the next month need to produce and deploy
> an application. I've been playing with rails for a little over a year
> now and recently deployed my first app as a private contract.
>
> I'm now planning development on a start up company.
>
> The app should be expecting high volumes (not like Twitter but high
> for sure. Its no social media app) My target audience is very specific
> but in certain locals the app has been requested by many users who are
> in fact waiting for the app to deploy.
>
> Smaller Volumes actually uploading files and adding objects to the db.
> Many people surfing the site. (Probably the same sort of RATIOS as
> cragslist (posters:readers, but not near the volume.)
>
> My current plan is and I need some help with this:
>
> Start on shared hosting unlimited traffic/storage. Will move to
> dedicated-virtual if shared hosting causes performance issues when
> traffic picks up.
> Behavior Drive Development via RSpec & Cucumber.
> Build the App in rails with ActiveRecord (I read somewhere
> ActiveRecord can be swapped out for something faster, Should I use
> something else?)
> Use multiple MySQL databases 1 master for writing, at *least* 2 slaves
> for reading. (Any info on this would be good.)
> Run multiple mongrel instances via mongrel_cluster. (How many is
> sufficient? I think currently I have 4 available on my hosting, can
> upgrade later if needed. So that would be 1 main instance and 3
> extras.)
> Paypal via Active_Merchant for all payment processing. (May accept
> money order and check but that's not app related.)
> Amazon S3 services for file/image upload & hosting (Via paperclip.) I
> may start by hosting all images from local server as I have unlimited
> space but I feel as the app grows my hosting may not appreciate the
> traffic and I'll move to Amazon S3.
> Deploy via Git & Capistrano
>
> I'm going to do all the base functionality for the application myself.
> Get it running get people signed up get them using the app. Hopefully
> the multiple db's and mongrel instances should supply enough speed to
> start. At which point if everything goes as planned (it never does)
> I'll outsource and get added security. Get queries optimized and work
> on overall performance via back end processes etc that will be over my
> head for sure hence the outsource or hire of private team. I know at
> this point it will be necessary to do these things and costs for such
> have been accounted for.
>
> Any help with gathering resources where I can find more information
> about the above topics or personal experiences would be greatly
> appreciated.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<rubyonrails-talk%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to