amuck-landowner

Where do you host your ruby app *in the cloud* ?

fixidixi

Active Member
Hi,

I'd like to ask the community about what are the {obvious / popular / best / etc } choices to host a ruby app *in the cloud*.

So far im always directed at heroku which seems to be the obvious choice for development (and has been used already :) )  however I tought its best to ask if anyone has an alternative idea :) where to host  such beast.

Thanks for your time&tought!

Regards,
 

joepie91

New Member
I just wouldn't recommend PaaS providers at all ("cloud" is not really the right term to use here), as you lose complete control over the environment. As far as I know, for example, Heroku does not have a persistent filesystem, so you're going to often have to do weird things to get third-party software to work, and there are many things you simply can't run at all. I help out a lot of people in #Node.js on Freenode, and PaaS services (whether production like Heroku or development like "Cloud IDEs") are a constant source of frustration and debugging issues.

There's plenty of Docker-based or Docker-inspired tools around that give you similar ease of deployment, eg. dokku. There's also plenty of deployment management tools like Puppet and Chef.

I don't feel that PaaS services are really good for developers at all - they seem to primarily benefit the PaaS operators themselves, and I have yet to see a convincing argument for them. As far as I can tell, they just create vendor lock-in and lure you in by making things look 'super easy' (conveniently glossing over the self-hosted equivalent options).

Now VPS providers that offer an API for instance creation - eg. DigitalOcean, Linode, ... - are a different story. There's a real usecase there, if a bit of an edgecase. Even those you probably won't need, though, unless you're building an application that requires heavy scaling early on.
 
Last edited by a moderator:

wlanboy

Content Contributer
It depends on how you define a "Ruby environment".
For me it is: Ruby version + Gemset + code.
As @joepie91 says ...Heroku and Co are creating more problems than they are solving.

For me "Paas" is more about "CM/"CI" (configuration management / continuous integration) than about "cloud" or "PaaS".

  • API to create VPS
  • Install curl and run RVM
  • Get code from SVN/Git
  • Import Gemset
  • Set daemon
  • Run daemon
  • Set new IP/Port into proxy list of lighttpd/nginx
  • Done
Background worker are behind RabbitMQ - so the worker just has to be started to listen to a defined queue. No config and no setup.

If the architecture of your application does include the benefits and limits of the runtime and language, you don't need any PaaS service to replace your CM/CI.
 
Top
amuck-landowner