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?
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.
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.
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.
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.
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:
It is cheap to begin with
Have simple admin panel (custom made) that let you install rails/passenger with one click, usefull to start
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.