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 Y., 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!

On 29 October 2012 13:32, yaniv pr [email protected] wrote:

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.

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.

On Mon, Oct 29, 2012 at 9:39 AM, Colin L. [email protected]
wrote:

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

+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


Dave A., the T. Rex of Codosaurus LLC,
secret-cleared freelance software developer
taking contracts in or near NoVa or remote.
See information at http://www.Codosaur.us/.

Il 30/10/12 16:54, Dave A. ha scritto:

On Tuesday, October 30, 2012, Dmitry M. wrote:

Heroku is quite expensive,

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:

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

On Tuesday, October 30, 2012, Dmitry M. wrote:

Heroku is quite expensive,

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


Sent from Gmail Mobile; please excuse top posting, typos, etc. :frowning:

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

Thank you all

On Tue, Oct 30, 2012 at 10:54 AM, Dave A.
[email protected] wrote:

On Tuesday, October 30, 2012, Dmitry M. wrote:
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:

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.

If you have a simple application, try railsplayground.com
it’s very cheap and easy to deploy. (you may need some unix knowledge)

How about Appfog??

On Fri, Nov 2, 2012 at 1:39 AM, Adnan [email protected] wrote:

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.

On Fri, Nov 2, 2012 at 4:13 AM, Alessio Peternelli
[email protected] wrote:

  • Engine Y. 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.

I use to host on *

http://www.webfaction.com/services/hosting?affiliate=apeternelli they
have good support team, low prices and a well balance between
easy-to-use and do-everything-you-want.

By the way :

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

My Advice ? Go for something easier like webfaction, they are not on the
cloud but they are good for your first experience they give you a ready
to go rails/passenger server, and the option to install everythig you
want (i have a entire user account, you can even compile from source)

  • Unicorn and Passenger are ruby servers, they work in combo with Nginx
    (mostly)
  • Mongrel was a nice ruby server, but now it is out of date (2008 if i
    recall)
  • Capistrano is a tool to automate maintenance, deploy and other task on
    one or more servers, it is usefull so you write settings and procedures
    only once (im not an expert so i can’t be very clear about it)

it is very usefull, but i recomend to watch it later. By the way other
similar tools ar Puppet and Chef

How to select a host? *

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

Do I need unix knowlodge?
It is recomended to know something about *nix !

How to deploy?
How to maintain?
I am missing the point …

How suitable are the more “automatic” hosts such as Heroku for a web
app?
Very much!!! If you are serious and can afford them, go for them!!!

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.

Try Heroku out first, since it’s free for a small app. You can push to
it
straight from git, and this tutorial shows you step by step how to set
it
up right from the beginning: