I’ve just got back from a meeting with a potential client and, although
I sold Rails to them pretty easily, I kinda put my foot in it at the
last minute when they dropped ‘Oh and a change of plan means it needs to
run on a Windows server’. I’m kicking myself a bit as, instead of
giving an intelligent response, I just rambled a bit about Rails not
being as stable on Windows and for some reason that I still can’t figure
out said “I wouldn’t really give Windows the time of day”. They winced.
I back peddled.
Anyway - it happens. I now need to prove whether or not Rails will be
stable on a production windows server. If anyone fancies doing a bit of
consulting - either configuring a server or advising a team of windows
hosting bods - drop me an email and we can discuss costs etc.
Ideally, I’m going to need to present them with a few live applications,
so if anyone has any Rails sites running on windows, I’d appreciate it
if you could post the links.
Now, I’m going to go kick myself for not being prepared for that little
bombshell.
Anyway - it happens. I now need to prove whether or not Rails will be
stable on a production windows server. If anyone fancies doing a
bit of
consulting - either configuring a server or advising a team of windows
hosting bods - drop me an email and we can discuss costs etc.
Have you instead considered selling them on one of the growing number
of Rails specific hosting companies, many of which offer far more than
basic hosting?
–
– Tom M., CTO
– Engine Y., Ruby on Rails Hosting
– Reliability, Ease of Use, Scalability
– (866) 518-YARD (9273)
Hi All,
Ideally, I’m going to need to present them with a few live applications,
so if anyone has any Rails sites running on windows, I’d appreciate it
if you could post the links.
Hi Steve,
Do they require you use IIS, or just that it run on a Windows box?
If you can avoid IIS, I think the best bet is Apache → Mongrel:
I haven’t had a chance to try it myself, but it’s a better shot than
trying to use IIS. Hopefully someone with more IIS experience than me
can chime in.
Have you instead considered selling them on one of the growing number
of Rails specific hosting companies, many of which offer far more than
basic hosting?
:0) If only it were that simple. We offered them dedicated servers and
basic Rails hosting on our servers but alas, they already have a Windows
server that they simply ‘have’ to use. It’s sort of annoying because we
were told that ‘the best server setup for the job’ would be considered.
That changed slightly without us knowing…
Do they require you use IIS, or just that it run on a Windows box?
If you can avoid IIS, I think the best bet is Apache -> Mongrel:
Yeah, I was kinda hopeing that that setup would work. Like I said, i
really need to prove it definatly will after my gaff :0)
The other thing is, I’m not sure they’ll trust me to set it up now, so
we’re gonna have to save face by saying that we have a ‘windows guy’ on
board to help with the setup.
What is the big push to only use windows servers? Are then scared of
having to call in support later?
I think unfortunatly, it comes down to a political decision. They
already have a windows server setup and don’t want loads of different
setups.
I totally agree with you about using the best platform. It’s exactly
what I told them. To be honest if we weren’t so interested in the
nature of client’s work we would turn it down.
However, sometimes clients do have a contraints when it comes to server
setups, particularly those who are governmental or council based. As
such we need to at least have an option on this. I imagine that if I’d
have said ‘yeah it’s fine to run on windows but we’ve found performance
to be far better on *nix based systems’, it wouldn’t have been as much
of a problem.
What is the big push to only use windows servers? Are then scared of
having
to call in support later?
I’ve found that when offering services like this you need to establish
the
requirements up front and in the case of rails Linux or some Unix would
be
your best bet for continued stability and performance.
I think that explaining the platform decision should come down to
features
and expandability of the platform not if the windows “admins” can
support
it. I feel that the benefit of using a well supported Linux Distro with
apache/mongrel far out weigh the costs of trying to implement the rails
solution on a windows machine and trying to match the performance.
I set up my test / corporate beta environment on a
windows/apache/mongrel setup. I have a document on it at work. I’ll
find the original link. Actually setting up the systems wasn’t
particularly difficult…and the steps were detailed enough to allow a
non-guru type to do it easily.
I’ll post the link up here tomorrow when I find it at work. (I kept it
since I need to deliver a slew of rails applications for work in the
next 3-4 months. The windows environment allows me to beta the apps or
the users easily and drop new builds with almost no effort.
I imagine that if I’d
have said ‘yeah it’s fine to run on windows but we’ve found performance
to be far better on *nix based systems’, it wouldn’t have been as much
of a problem.
True, True. Kinda dug your self into a hole in that aspect I for one
have
absolutely 0 experience using a windows box as a production server so I
cant
attest to its performance and what not but I am sure there are people on
the
list that have deployed apps on windows machines.
Good luck friend. This might end up being a good experience that you
could
share with the rest of us.
If they aren’t willing to get another physical server, would they be
willing to let you run VMWare and a virtual Linux server of some sort?
If the server is beefy enough, you can allocate as many resources as you
need to the virtual server.
Just FYI: Information on successful deployments will be included in the
upcoming book “Agile Rails Deployment” from Pragmatic. I took my pdfs
and
updated them for inclusion in the book.
IIS will not work but the solution we use is to reverse-proxy the aps
through IIS using Mongrel and a plugin I created. It makes the Rails
apps
appear to exist within the IIS environment and would allow you to place
the
apps on the same box or on a dedicated Linux server.
@Robere:
Sorry, I have to take issue with your comments: Windows is perfectly
stable for Rails production. It’s not fast, but it’s stable. I wouldn’t
recommend it as a first choice but if you are required to use it, it can
work fine. It involves more work and a good foundation but it can be
done.
out said “I wouldn’t really give Windows the time of day”. They winced.
I back peddled.
Never feel you have to apologize for Window’s short comings. Windows is unstable. We’d all be shocked if we knew the amount of companies
that schedule daily/weekly reboots of their production servers simply to
keep them alive for another week and to clean up the missing clumps of
memory. I’ve personally seen in several places.
Anyway - it happens. I now need to prove whether or not Rails will be
stable on a production windows server.
It won’t. I’ve been down that road and haven’t gotten Windows stable
enough yet. I can get Windows stable for PHP, but I’ve yet to get it
stable enough with Rails/Mongrel. I’ve seen Rails stability on Mac OS X
and Linux but have yet to see it on Windows.
My advice, seek another client. Next thing they will want the Rails app
to talk to their .NET monster hiding in the closet…
Thanks to everyone for your replies. Unfortuantly I have a feeling from
the client’s tone when we sent our damage control email, i think we’ve
probably lost the contract. Hey ho - you live and learn :0)
It’s great to address the issue though and I’ll definatly be checking
out Brian’s method.
We’ll be setting up a production-ready box to test the performance of
Rails on Windows. Once we have some results I’ll post them up
somewhere.
Cheers,
Steve
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.