Newbie - deployment, hosting

Hello,

So, after learning ruby on rails and building a great app on my local machine, I need to find a host, deploy, and of course maintain a (staging and) production environment.

This all seems very confusing, and I’d like to learn this in an organized manner, step by step:

I’ve come across the names: Unicorn, nginx/apache, capistrano, Thin/mongrel, Engine Yard, EC2, etc.,

but coming from Microsoft.NET world, I don’t understand the relations between them and what I really need to use.

Are there any **good **resources/tutorials you can direct me?

  • How to select a host?

  • Do I need unix knowlodge?

  • How to deploy?

  • How to maintain?

  • How suitable are the more “automatic” hosts such as Heroku for a web app?

Appreciate your time and help!

Hello,

So, after learning ruby on rails and building a great app on my local machine, I need to find a host, deploy, and of course maintain a (staging and) production environment.

Have you considered Heroku? They are generally well thought of.

Colin

Thanks for your answer, I may go for it.

The thing is, I’d really love to know what I’m doing, and eventually master this subject.

+1

Also, I recently wrote a blog post on having staging and production environments on Heroku. See:

Attack of the Codosaurus!: Heroku for Staging and Production, Without Confusion

-Dave

Hi,

Heroku is quite expensive, if you go for a dedicated hosting you’ll have more power (i.e. shell) and pay less money. For example, Dedicated Server, Cloud, Storage & Hosting - Hetzner Online GmbH.

Maybe if you have a large app, but it sounded like the app in question was a typical small learner app. In that case, he can likely host it there for free. Can’t get much cheaper than that. :wink:

-Dave

I'm trying appfog in these days and it's cool :slight_smile:

I intend to step out of the ‘learner app’ zone as quickly as I can :slight_smile:

Thank you all

If you have a simple application, try railsplayground.com

it’s very cheap and easy to deploy. (you may need some unix knowledge)

I agree with you totally man. Not to mention Heroku only gets expensive before you add in the tax on sysops. One might might ignorantly assume that Heroku is expensive but in essence it's a lot cheaper. At 2 dynos which is $35... to have the same setup of your own would cost you twice as much.

To get 3 dynos having the same setup of your own only saves you around $11 but after that one would need a systems administrator to manage all these instances or at least a part time one to help you manage the infrastructure that manages those -- that is unless you put it all on one server, then there is no helping you anyways -- that or you like to waste time not programming by managing your own clusters which is fine by me but at that point you would save money at a cost of development time which still ends up costing you money in the end, in some way.

So what I am saying is, once somebody starts factoring in all the costs, Heroku isn't all that expensive compared to what you could be paying by doing it yourself, people choose to go their own route because of infrastructure needs not because of the price of Heroku.. because people who actually plan out the numbers and look at Heroku's infrastructure start to realize just how much it isn't expensive.

This is all based off of a single site and not something like a system like Heroku that you manage on your own for your clients because the other could lead to quite a few cost savings in some places but IMO it probably won't be enough to justify the huge startup cost.

How about Appfog??

Maybe once they learn that MySQL is not as cool as they want it to be, I understand we can choose Postgres after the fact but having an unbound MySQL instance on my app would get pretty annoying since I like concise and not cluttered.

- Engine Yard and Amazon Ec2 are Clud Hostings, Amazon EC2 is better but complex, EY is expensive.

EngineYard uses EC2 so I don't see what the difference could be? Unless you are comparing a PaaS with a IaaS which is flawed from the get go, that would be like comparing a Chicken to an Apple as the best source of protein. By that I mean they both have protein obviously but one is designed to be a primary protein, the other isn't.

It's more expensive because it's a PaaS and they have costs too, especially those associated with helping developers do systems management. Do you think sysops is cheap do you think it's free? In an environment like that with high-end apps you pay high-end prices that or you end up with no SLA and no guarantee.

My advice ? Go for the cheaper, make some experience and then change to a serious one!

In for a rude awakening when that day comes, better services that tend to cost more always have a far superior deploy method and far different deploy method then most simple hosts that use CPanel to manage their Ruby.

Thanks a lot for your detailed answers, I’m starting to get the picture

You are right im sorry i wasn’t clear, i was not comparing them, i was “grouping” them meaning they are both hosting solutions.

About hosting, to me seems that he want to learn before going big, so i believe it’s better to begin with a cheap and easy solution with the objective of learning something, and then make a conscious decision.

I am promoting webfactional (im a customer), because:

  1. It is cheap to begin with

  2. Have simple admin panel (custom made) that let you install rails/passenger with one click, usefull to start

  3. They give you a user account and that let you install almost everything, usefull to learn and try many solutions without the need to maintain a full environment

By the way this doesn’t meant it’s the best solution, or that it suits him, and neither that is the best way to learn and mature, i say it is a good start point.