I am looking to self host a bunch of polyglot language web apps (ruby on rails, occasionally node.js and WordPress). I can definitely set these up on my own but I would love to find a simple and secure platform that I can host which would automate all of this. And provide me flexibility if I decide I want to setup mongo or something else. Is a micro cloud foundry instance a good way to do this? Or, should I be using chef or puppet to script my workflow?
You can use the cloudfoundry platform to do all of the above (ruby on rails, node.js etc apps). To get started and look at all the available frameworks and examples, please take a look at http://docs.cloudfoundry.com/getting-started.html.
Let me know if you need any further help.
Thanks, - Hitesh
Have you looked at Heroku (www.heroku.com). It will allow you to do both Rails and Node.js apps. You can add Mongo and a host of other third-party subsystems to your app via the command line or their web interface. All together it's a great place to grow an app from concept to production.
I run several production sites on it currently with very few issues.
Disclaimer: I work for OpDemand.
In the process of making things easier to deploy and manage, PaaS's like Cloud Foundry and Heroku make a lot of decisions for you: runtimes, library versions, database versions, etc. This can feel very restrictive for engineers used to:
If you're interested in more flexible Puppet/Chef-based solutions you should look at something like OpDemand. It's a nice balance between the rapid deployment benefits of PaaS while offering the control, self-hosting and Puppet/Chef support you may need.
OpDemand has pre-built application stacks for Ruby & Node.js all of which come with 1-click deployment capability. You can select from single node or multi-node with ELB. There's also a bunch of database/cache options including MongoDB and even 3-node replica sets.
All of it is powered by open-source Puppet modules which provide a great starting point for customization. Best of luck!