I am thinking about migrating a Java based Web Application to Ruby & Rails. Before I start the work I need more information about the runtime environment. I am forced to use Windows 2003 Server and I need SSL. My Java Web Apps all run on Apache 2.x with any of the many J2EE App Servers (Tomcat, Geronimo, etc...) an Windows without any problems. From reading the mongrel web-site I learned that Rails is not threadsafe and therefore every HttpRequest is synchonised. To compensate the performance draw-backs you suggest to use multiple instances of Mongrel with Apache and its mod_proxy_balancer. Questions: ********** Is there a mongrel cluster for Win32? How can I run multiple instances of mongrel on Win32? Capistrano on Win32?? Many thanks for your feedback! Thomas
> Is there a mongrel cluster for Win32?Yes, mongrel works on Windows, and you can start a cluster. BTW, I compiled the 0.3.17 pre-release on win32 the other day, and it appears to have compiled without complaint (even with fastthread). I have not, however, had the opportunity to test it.> How can I run multiple instances of mongrel on Win32?Luis Lavena is working on cleaning up the code for running a Mongrel cluster as a service. Stay tuned...> Capistrano on Win32??If you set up a Cygwin environment to get SSH and the other tools Capistrano expects (cp, ls, tar, gzip, sudo, etc.), then yes. I have done this in development, but not production.> Many thanks for your feedback!Just out of curiosity, is your Java web app broken? The Rubyists might string me up for this, but if it ain''t broke, don''t fix it. Especially if it is mission critical (i.e. the unavailability of your web app for more than a minute or two will cost you pain, suffering, or your job). That said, at my former employer, I converted a (simple) Java web app running on Windows to a Rails app on Linux, but I also had a week with utterly nothing else to do, a clueless manager who didn''t know a thing about managing a programmer (much less managing a person), a supervisor who encouraged me to learn new things, and no one screaming bloody murder if the app was down for a while. =Will
Hi Will, Thanks a lot for your feedback!> > Just out of curiosity, is your Java web app broken? The Rubyists might > string me up for this, but if it ain''t broke, don''t fix it. Especially > if it is mission critical (i.e. the unavailability of your web app for > more than a minute or two will cost you pain, suffering, or your job). > > That said, at my former employer, I converted a (simple) Java web app > running on Windows to a Rails app on Linux, but I also had a week with > utterly nothing else to do, a clueless manager who didn''t know a thing > about managing a programmer (much less managing a person), a supervisor > who encouraged me to learn new things, and no one screaming bloody > murder if the app was down for a while. > > => WillRegarding Java / Rails etc: It is a Web-Frontend for a self owned product. I like to extend the application and I have the impression, that development with ruby and the rails framework is a lot faster then with Java. Java is a good technology and it offers a lot of OpenSource support (Apache group) and it is bullet proof in production. Java has many different OpenSource MVC frameworks. Struts is probably the most known because it was one of the first on the market. What I consider a problem is that every Java Web App ends up in writing endless XML configuration files that you cannot debug. Basically you can spend hours and days to find a bug in your application which finally turns out to be a misconfigured XML file! I really hate that meanwile!!! So basically I am looking for an environment that speeds up development time and thats currently the only reason, why I am looking at Ruby on Rails. On the Java side there are also newer frameworks such as JavaServer Faces. Groovy is a scripting language that borrowed a lot from Ruby. Tom
On 11/26/06, Will Green <will at hotgazpacho.com> wrote:> > Is there a mongrel cluster for Win32? > > Yes, mongrel works on Windows, and you can start a cluster. BTW, I > compiled the 0.3.17 pre-release on win32 the other day, and it appears > to have compiled without complaint (even with fastthread). I have not, > however, had the opportunity to test it. > > > How can I run multiple instances of mongrel on Win32? > > Luis Lavena is working on cleaning up the code for running a Mongrel > cluster as a service. Stay tuned... >Yep, will be adding process monitoring tomorrow and cluster support by the end of the week.> > Capistrano on Win32?? > > If you set up a Cygwin environment to get SSH and the other tools > Capistrano expects (cp, ls, tar, gzip, sudo, etc.), then yes. I have > done this in development, but not production. >I don''t have experience deploying with capistrano on windows. I use a different approach based on rails applications packaged as gems (I call this Fossilize). Radiant is the first public RoR that takes this approach, from the same codebase/checkout you could serve different "instances" of your application, each one with its own db settings, cache, or plugins. All rake tasks works under that design, so rake db:migrate will work without problems. Also mongrel recognizes it as a true rails application, no problems with your true "application code" came from a gem or a svn checkout. I hooked up a mongrel handler that allow me: 1) download the lastest available gem of my application 2) install it (gem install) 3) stop the application 4) update the instace to use the new version 5) run the database migrations 6) restart the application Hope could release the new Fossilize gem by the end of the year.> > Many thanks for your feedback! > > Just out of curiosity, is your Java web app broken? The Rubyists might > string me up for this, but if it ain''t broke, don''t fix it. Especially > if it is mission critical (i.e. the unavailability of your web app for > more than a minute or two will cost you pain, suffering, or your job). > > That said, at my former employer, I converted a (simple) Java web app > running on Windows to a Rails app on Linux, but I also had a week with > utterly nothing else to do, a clueless manager who didn''t know a thing > about managing a programmer (much less managing a person), a supervisor > who encouraged me to learn new things, and no one screaming bloody > murder if the app was down for a while. > > => Will > _______________________________________________ > Mongrel-users mailing list > Mongrel-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-users >-- Luis Lavena Multimedia systems - Leaders are made, they are not born. They are made by hard effort, which is the price which all of us must pay to achieve any goal that is worthwhile. Vince Lombardi
On 11/26/06, Tom Bednarz <list at bednarz.ch> wrote:> Hi Will, > > Thanks a lot for your feedback! > > > > > Just out of curiosity, is your Java web app broken? The Rubyists might > > string me up for this, but if it ain''t broke, don''t fix it. Especially > > if it is mission critical (i.e. the unavailability of your web app for > > more than a minute or two will cost you pain, suffering, or your job). > > > > That said, at my former employer, I converted a (simple) Java web app > > running on Windows to a Rails app on Linux, but I also had a week with > > utterly nothing else to do, a clueless manager who didn''t know a thing > > about managing a programmer (much less managing a person), a supervisor > > who encouraged me to learn new things, and no one screaming bloody > > murder if the app was down for a while. > > > > => > Will > Regarding Java / Rails etc: > > It is a Web-Frontend for a self owned product. I like to extend the > application and I have the impression, that development with ruby and > the rails framework is a lot faster then with Java. > > Java is a good technology and it offers a lot of OpenSource support > (Apache group) and it is bullet proof in production. Java has many > different OpenSource MVC frameworks. Struts is probably the most known > because it was one of the first on the market. What I consider a problem > is that every Java Web App ends up in writing endless XML configuration > files that you cannot debug. Basically you can spend hours and days to > find a bug in your application which finally turns out to be a > misconfigured XML file! I really hate that meanwile!!! >Ohh, the magic of configuration files... that one of the reasons we dropped Zope.> So basically I am looking for an environment that speeds up development > time and thats currently the only reason, why I am looking at Ruby on > Rails. On the Java side there are also newer frameworks such as > JavaServer Faces. Groovy is a scripting language that borrowed a lot > from Ruby. >Borrow something to mimic other languages is bad: they try to do something that originally aren''t designed for, and sometimes they implement these functionality badly (in a bad way?) What more I could say? Welcome aboard! :-)> Tom > > > > _______________________________________________ > Mongrel-users mailing list > Mongrel-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-users >-- Luis Lavena Multimedia systems - Leaders are made, they are not born. They are made by hard effort, which is the price which all of us must pay to achieve any goal that is worthwhile. Vince Lombardi
Hi Luis, Thanks for that feedback. Sounds very intersting to me. I plan to go into production in January 2007. By that time I need a scalable environment for Windows. It would kill me, if I spend the time to migrate now and find out in January that there is no suitable production runtime environment on Windows! I am convinced, that during next year other improvements will take place. So for a start I need something stable that can serve a smaller group of users. Later I need support for a larger community, thats why scalabilty is important for me right now from the beginning. We start small but the environment should be able to grow. I must say that I depend on M$ only regarding the OS, the database is Sybase iAnywhere, web server is Apache etc. So if you could send me some instructions how to get mongrel and RoR going on W2K3 and Apache 2.2 If that helps you, I would test it in december and give you feedback. Luis Lavena wrote:> > Yep, will be adding process monitoring tomorrow and cluster support by > the end of the week. > >>> Capistrano on Win32?? >> If you set up a Cygwin environment to get SSH and the other tools >> Capistrano expects (cp, ls, tar, gzip, sudo, etc.), then yes. I have >> done this in development, but not production. >> > > I don''t have experience deploying with capistrano on windows. > > I use a different approach based on rails applications packaged as > gems (I call this Fossilize). > > Radiant is the first public RoR that takes this approach, from the > same codebase/checkout you could serve different "instances" of your > application, each one with its own db settings, cache, or plugins. >URL ??> Hope could release the new Fossilize gem by the end of the year. >That would be very interesting for me too. Drop me a line if I can test something for you! By the way: I read your interview with pat eyler on O''Reilly. We are based in Switzerland and I have to do everything in German language. Do you use Internationalization in RoR to support Spanish and English or do you offer Spanish only? Tom
On 11/27/06, Tom Bednarz <list at bednarz.ch> wrote:> Hi Luis, > > Thanks for that feedback. Sounds very intersting to me. I plan to go > into production in January 2007. By that time I need a scalable > environment for Windows. It would kill me, if I spend the time to > migrate now and find out in January that there is no suitable production > runtime environment on Windows! > I am convinced, that during next year other improvements will take > place. So for a start I need something stable that can serve a smaller > group of users. Later I need support for a larger community, thats why > scalabilty is important for me right now from the beginning. We start > small but the environment should be able to grow. >I agree with you on this. From day one you must take in consideration scalability.> I must say that I depend on M$ only regarding the OS, the database is > Sybase iAnywhere, web server is Apache etc.Anyway, one of the things that the new implementation [1] is provide the more smooth and clean implementation for users that require some *nix features in windows environments (ones due requirements of their customers or prior license purchases, like my situation).> > So if you could send me some instructions how to get mongrel and RoR > going on W2K3 and Apache 2.2 If that helps you, I would test it in > december and give you feedback. >I don''t use apache (if you read the interview in detail), mostly due we don''t serve a huge amount of static content from our applications (and the 100% of them are intranets). What we developed at our company is a TCP balancer for windows/linux, but currently on hold for a open-source release (still lot to be done). Off-topic, we create "native" installer for windows and deploy everything (ror, ruby, mongrel) from the same setup, so administrators could reinstall everything if they require.> > Luis Lavena wrote: > > > > Yep, will be adding process monitoring tomorrow and cluster support by > > the end of the week. > > > >>> Capistrano on Win32?? > >> If you set up a Cygwin environment to get SSH and the other tools > >> Capistrano expects (cp, ls, tar, gzip, sudo, etc.), then yes. I have > >> done this in development, but not production. > >> > > > > I don''t have experience deploying with capistrano on windows. > > > > I use a different approach based on rails applications packaged as > > gems (I call this Fossilize). > > > > Radiant is the first public RoR that takes this approach, from the > > same codebase/checkout you could serve different "instances" of your > > application, each one with its own db settings, cache, or plugins. > > > URL ?? >Radiant CMS: http://www.radiantcms.org> > Hope could release the new Fossilize gem by the end of the year. > > > > That would be very interesting for me too. Drop me a line if I can test > something for you! >It will be a open release with spam-like announcements here (mongrel-users) and other lists, so stay tune ;-)> By the way: I read your interview with pat eyler on O''Reilly. We are > based in Switzerland and I have to do everything in German language. Do > you use Internationalization in RoR to support Spanish and English or do > you offer Spanish only? >We took the complex but safer approach to this: instead of using globalize plugin [2]. we''re using GetText [3] So far that manual approach give us good results. Basically we code the whole application in English, then generate the Spanish and Portuguese translations using the .po resources. Regards and good week!> Tom > _______________________________________________ > Mongrel-users mailing list > Mongrel-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/mongrel-users >[1] http://rubyforge.org/pipermail/mongrel-users/2006-November/002186.html [2] http://www.globalize-rails.org/globalize/ [3] http://manuals.rubyonrails.com/read/book/16 -- Luis Lavena Multimedia systems - Leaders are made, they are not born. They are made by hard effort, which is the price which all of us must pay to achieve any goal that is worthwhile. Vince Lombardi
Luis Lavena wrote:> > I don''t use apache (if you read the interview in detail), mostly due > we don''t serve a huge amount of static content from our applications > (and the 100% of them are intranets). >I need it for SSL only, apart from a couple of small icons and a css file we do not have static content.> Radiant CMS: http://www.radiantcms.orgAhh a CMS based on RoR, interesting!> > It will be a open release with spam-like announcements here > (mongrel-users) and other lists, so stay tune ;-) >OK hope it does not get deleted by my SPAM filter !!!! :-)> > We took the complex but safer approach to this: instead of using > globalize plugin [2]. we''re using GetText [3] >Interesting remark too! Something I have to look at.> > Regards and good week! >Thank you, the same to you! Tom