2

I've been using Dreamhost for my personal sites these past few years and want start hosting ROR or Sinatra sites there. The Dreamhost howto for ROR says it uses Passenger (phusionpassenger.com) for Rails hosting. Is this equivalent to Heroku?

I'm also not entirely clear on what exactly Heroku is for. If an application runs locally, doesn't that mean it will also run on a Web server? What is different that requires a special service such as Heroku?

ETA: I've found and am reading Why do people use Heroku when AWS is present? What distinguishes Heroku from AWS? which answers some of the question but not all. I just need a very basic answer as to why I need this service(s?) for a hobby site.

Community
  • 1
  • 1

2 Answers2

0

No, Passenger is a multi-threaded server environment, akin to Unicorn or Puma.

All of this information is extremely easy to find via a single Google search, but here it is anyway:

Heroku is a cloud-based application platform that makes deployment, server management, and ongoing maintenance super easy: https://www.heroku.com/about

Passenger will help you with scalability in the sense that each Heroku dyno you utilize will use an instance of Passenger: https://www.stormconsultancy.co.uk/blog/development/how-to-get-more-bang-for-your-heroku-buck-while-making-your-rails-site-super-snappy-redux/

Basically, Heroku is a platform upon which you can deploy, scale, and manage a web application. Whenever you deploy an application to Heroku, you will do so with a web server intact (see: Puma, Thin, Unicorn, Passenger, etc.). These web servers provide multi-threaded capabilities to handle traffic that arrives to your application.

Additionally, Heroku uses dynos (lightweight Linux containers that run a user-specified command. Imagine a vacuum-sealed version of your application and its dependencies). More dynos give you more concurrency, more redundancy against failure, etc.

Passenger is a well-known, multi-threaded web server for use with Heroku or any other application management platform.

Hope this helps.

Collin Graves
  • 2,207
  • 15
  • 11
  • Thanks. I did Google before posting and already found your first answer. The problem with the Heroku page is it assumes I already know a lot of stuff that I don't. So I still don't really understand what Heroku is for or why I need it. You've told me that they're different services, which is important and helpful. – a.light.holder Dec 07 '15 at 20:01
  • I've updated my answer to include more specifics for you :) – Collin Graves Dec 08 '15 at 01:21
0

If you already are a DreamHost customer and your site are quite small, maybe you should also consider costs while you make your decision. In a very brutal simplification, Heroku is a place where you can upload your Ruby code and it will run. DreamHost takes care of installing and running Passenger for you so you only have to care about your code (up to some point...) From that point of view the two systems are similar.

If you put the same code in DreamHost ROR/Passenger environment it should run similarly as in a Heroku dyno... with the usual caveats of shared hosting and VPS products.