Best "Rails on the cloud" solution?

A search of this forum for “cloud” brought up a pretty anemic and mostly
year or more old list of stuff. That was a bit of a surprise to me.

I’m interested in getting opinions on the easiest way to deploy a Rails
app to a well known (S3 or similar) “cloud” server.

It should be something with little or no “installation” or
“establishment” fees and no monthly fees…just the per/megabyte traffic
fees.

Would be great if deployment was via capistrano, just like a VM or
dedicated server would be.

Has anyone made this cheap and easy yet? Or do you still have to roll
your own implementation using API’s that were designed to be general in
nature and thus requiring significant development effort to get it
deployed?

thanks,
jp

JP,

It’s really simple but do you absolutely need to use a CDN? Amazon is
one of the more popular ones but most of them are really the same.
Brightbox is also very good.

The only thing you really need to know is to set the assets server in
your production.rb file:

config.action_controller.asset_host = “somehost.com

There’s quite a few tutorials about this. However, you don’t have to
use a CDN unless you have a lot of content on your site that needs to be
hosted. I personally feel that CDNs are a little overrated unless you
meet the following criteria:

  • Your content is going to be delivered to a world wide audience
    (multiple countries)

If you are providing a local service or something where you really are
not going to reach a global area, there’s no need to use a CDN.

Alpha B. wrote:

JP,

It’s really simple but do you absolutely need to use a CDN? Amazon is
one of the more popular ones but most of them are really the same.
Brightbox is also very good.

[…]

If you are providing a local service or something where you really are
not going to reach a global area, there’s no need to use a CDN.

Hi Alpha,
I wasn’t so much interested in CDN, as I was in seamless scaling of an
app from small to large without deployment hassles. It’s about
deploying a social networking site that can just grow as the number of
daily visitors grows without learning anything about the wonderful world
of scaling Rails apps. If and when the app catches on, I want to just
pay a little more money to “throw some more iron at it”.

Sure, I could become an expert on Rails scaling and deployment, but I
don’t have any interest or time for that. Hence my interest in
something “easy” and “cheap”, that “just works”.

Some googling just uncovered “Heroku”, which looks promising. Anything
else out there that is similar?

thanks,
jp

On Sat, Aug 15, 2009 at 5:45 PM, Jeff P. <
[email protected]> wrote:


Posted via http://www.ruby-forum.com/.

I am using Rightscale and I’m very happy with the Rails integration.
BTW,
Rightscale is a front-end to Amazon Services (i.e. EC2, S3, Cloudfront,
and
so on). Also, it costs a bit more for their service in addition to
Amazon
charges
but it was well worth it for our business. This will be common with the
other
front-ends to Amazon.

Furthermore, I’m very pleased with the ability to have better control as
to
what’s
going on with my server instances. Also, if you’re publishing a lot of
media assets
and the site has a great deal of traffic, then I would recommend having
some
CDN functionality within your sites’ configuration. Hulu.com would be a
very good
example of the use of a CDN and Rails.

When I was in Japan, I noticed that every Japanese site was extremely
fast
being
that my connection speed was 1 Giga bit per second. However, it was a
sudden
drop-off when accessing sites in the US that didn’t have a local CDN.
Thus,
you should
use a CDN where it makes sense for creating the best user experience.

Next, I would first focus on building solid Rails website architecture
before thinking about
scaling a site that doesn’t exist by using the cloud. Once the site has
been built, then
you can make better decisions on how to properly scale your site. For
examples, there are
tools that can easily allow one to simulate N concurrent users across
multiple servers

Lastly, it doesn’t matter which option you select you’ll have to pay for
any
high-traffic site
that uses a lot of bandwidth. Thus, you may also want to take a look at
Google App Engine.

Good luck,

-Conrad

Conrad T. wrote:
[…]

I am using Rightscale and I’m very happy with the Rails integration.
BTW,
Rightscale is a front-end to Amazon Services (i.e. EC2, S3, Cloudfront,
and
so on).
[…]
Also, if you’re publishing a lot of
media assets
and the site has a great deal of traffic, then I would recommend having
some
CDN functionality within your sites’ configuration. Hulu.com would be a
very good
example of the use of a CDN and Rails.

[…]

Lastly, it doesn’t matter which option you select you’ll have to pay for
any
high-traffic site
that uses a lot of bandwidth. Thus, you may also want to take a look at
Google App Engine.

Good luck,

-Conrad

Thanks Conrad,
For the site I have in mind think lots of hits (in a perfect world), but
low bandwidth (text and such). IM/forum, not pictures and video. think
yahoo-groups plus people filling out text forms, maybe a small avatar as
the only non-text “asset”, rather than youtube or hulu or something like
that.

Not even a few low-res pictures like myspace or a dating site. Mostly
just text (but lots of that flying around). Some static graphics and
icons and backgrounds to make it look nice, but most of that will get
cached by the browsers, so not even much dynamic content of that sort.

( and no, it’s not Yet Another RPG :slight_smile: )

thanks,
jp

P.S. Yes, development would happen locally and on a VM server I use for
other things. Once thru beta though, I would like to have a really
simple deployment and scaling until it gets big enough (in my dreams) to
hire a team of deployment experts and pay them big bucks to deal with
all that stuff.

Sent from my iPhone

On Aug 15, 2009, at 9:06 PM, Alpha B.
<[email protected]

wrote:

Hulu was designed with rails?

I actually did not know this…

-Conrad

Hulu was designed with rails?

I actually did not know this…

On Aug 16, 12:06 am, Alpha B. [email protected]
wrote:

Hulu was designed with rails?

I actually did not know this…


Posted viahttp://www.ruby-forum.com/.

Not that this is actually contributing to the discussion in any sort
of meaningful way, but I’ve yet to come across a site served by Nginx
that didnt have Mongrel or Passenger behind it.

And I have this weird OCD thing about requesting dispatch.cgi for
every site that feels like its powered by Rails (i’m usually right
too, how does that even work)

RightScale is good solution but very expensive, a cheaper alternative
is using Scalr (scalr.net)
and they have both a free version (open source) as well as a paid
service (scalr.net being
the paid service, only $50/month + Amazon fees). Both RightScale and
Scalr are considered
cloud management tools and they work very well with Amazon Web
Services (EC2/S3/EBS…)
RightScale feature set is richer than Scalr.

You should keep in mind that Amazon is not the only kid in the game
(in the PaaS - platform
as a Service). There is also GoGrid and Rackspace (with their cloud
offering options).

Finally, there is a new breed of rails hosting solutions: Heroku and
EngineYard (Solo/Flex).
They provide free trials of their services and a wide range of plans.
Heroku uses Amazon’s servers
while Engine Y. uses Joyent.

If you use Aptana’s IDE for rails development, they also provide a
cloud hosting offering (AptanaCloud).

So there are tons of options. The problem is that there is a wide
range of expertise required for
rails deployment. If you want to deal the least with server
configuration, I would strongly suggest
a service like Heroku (they even have github integration). I havent
used EngineYard’s but their
Solo offering seems quite good for development/testing as well. The
moment you need production-ready
features then you have to start paying for more in both Heroku/
EngineYard’s offerings.

  • Ricardo

On Sun, Aug 16, 2009 at 1:44 AM, Ricardo S.
<[email protected]

wrote:

RightScale is good solution but very expensive, a cheaper alternative
is using Scalr (scalr.net)
and they have both a free version (open source) as well as a paid
service (scalr.net being
the paid service, only $50/month + Amazon fees).

Actually, the current charge for scalr.net is $99 per/month + Amazon
charges. The $50 per/month
was before August 16th. Also, Rightscale has a developer edition that
can
give you the opportunity
to tryout their services.

Both RightScale and
Scalr are considered
cloud management tools and they work very well with Amazon Web
Services (EC2/S3/EBS…)
RightScale feature set is richer than Scalr.

Also, Scalr.net recently graduated from beta to production on August 1,
2009. Also, I wish that I would
have known that one of the founders members, Alexey Kovalyov, resides in
the
Ukraine because I was
there back in October 2008 and it would been a pleasure to meet him.

You should keep in mind that Amazon is not the only kid in the game
(in the PaaS - platform
as a Service). There is also GoGrid and Rackspace (with their cloud
offering options).

http://www.gogrid.com/pricing/compare-gogrid-to-amazon-ec2.php

Finally, there is a new breed of rails hosting solutions: Heroku and
EngineYard (Solo/Flex).

Heroku has some very excellent hosting solutions from what I have
heard from others and what appears on their site. Also, the hosting
from what I hear is dead simple.

rails deployment. If you want to deal the least with server
configuration, I would strongly suggest
a service like Heroku (they even have github integration). I havent
used EngineYard’s but their
Solo offering seems quite good for development/testing as well. The
moment you need production-ready
features then you have to start paying for more in both Heroku/
EngineYard’s offerings.

  • Ricardo

Yes, I would agree with Ricardo in this regard but you want to limit
your
developing/testing to the local platform because some of these services
have per/hour usage fees. The plan that I have with Rightscale has
15000 hours/per month for $500 which is great for deploying several
applications per month. Thus, when I test a new application or updat
an existing application, I tend to do the following:

a) start the instance
b) test the application
c) stop the instance

Note: The above doesn’t affect the following application because I tend
to create a staging instance for testing both new and updates
to
existing applications.

Good luck,

-Conrad

On Aug 15, 8:45 pm, Jeff P. [email protected]
wrote:

A search of this forum for “cloud” brought up a pretty anemic and mostly
year or more old list of stuff. That was a bit of a surprise to me.

I’m interested in getting opinions on the easiest way to deploy a Rails
app to a well known (S3 or similar) “cloud” server.
[…]

You might be interested to check out Heroku. It doesn’t work for
every use case, but if it works for you it’s lovely. It’s cloud-based
Rails deployment made very simple.

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

last two years i am working on cloud by using amazon
we use Capistrano for deployment.
just one command cap deploy:cold and nothing
else.

On Aug 16, 7:45 am, Jeff P. [email protected]