0

Reading about Puppet often Passenger, Unicorn, and Rack are mentioned, but I can't figure out what the purpose of these are. The website for Passenger says:

Phusion Passenger is a web server and application server for Ruby (Rack) and Python (WSGI) apps. It allows you to run your web apps with the least amount of hassle, by taking care of pretty much all of the heavy lifting for you when it comes to managing your apps' processes and resources.

But why would I want to introduce a new piece of software, when Ruby have its own web server?

Can anyone give an example what problem these solves?

Sandra
  • 10,303
  • 38
  • 112
  • 165
  • This question is really a research problem -- the answer is "You use Passenger, Unicorn, and Rack in situations where they make sense - solving a particular problem or filling a specific need in your environment". The documentation for these tools indicate what they do very well. – voretaq7 Oct 09 '13 at 19:21

1 Answers1

1

In the case of puppet, the reason is simply scalability.

The embedded webserver used by the puppetmaster service has known limitations, therefore, when you need to provide service for more than ~10 nodes, it is very likely that you need to use something else.

The usual approach is to deactivate the puppetmaster service and create a virtual host in your web server listening on the 8140 TCP port, and use passenger, which can handle the ruby code directly instead.

You can find an example configuration in the link above.

dawud
  • 15,096
  • 3
  • 42
  • 61