which application server for Hudson ?

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

which application server for Hudson ?

Grzegorz Grzesiuk
Hello all,

My company is planning to have a dedicated machine (2 x quad core
processors, 8 GB RAM ) for Hudson.

At the moment we have around 30 projects running on our previous machine
on Tomcat.

In few months we will possibly have around 40 projects. The projects are
divided into different teams which members should not have a visibility
of other  projects  - in another words we need authorization.

I have tried to find some hints about deploying Hudson on different
application servers but I haven't found any informations about it.

I would like to plan migration of Hudson to a new machine and I'm
wondering if some of us have some experience in using Hudson on
different application servers. Which one is the best  in terms of
efficiency, resources consuming, maintainability, extensibility.. and so
on.

Furthermore, if we would need to have more than one instances of Hudson
is it better to have them within one server (Tomcat, JBoss, Glassfish
etc. ) or to have one instance of application server per one Hudson
instance.

Thank you in advance for your help.
Greetings,
Grzegorz




---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: which application server for Hudson ?

Kohsuke Kawaguchi
Administrator
Grzegorz Grzesiuk wrote:

> Hello all,
>
> My company is planning to have a dedicated machine (2 x quad core
> processors, 8 GB RAM ) for Hudson.
>
> At the moment we have around 30 projects running on our previous machine
> on Tomcat.
>
> In few months we will possibly have around 40 projects. The projects are
> divided into different teams which members should not have a visibility
> of other  projects  - in another words we need authorization.
>
> I have tried to find some hints about deploying Hudson on different
> application servers but I haven't found any informations about it.
>
> I would like to plan migration of Hudson to a new machine and I'm
> wondering if some of us have some experience in using Hudson on
> different application servers. Which one is the best  in terms of
> efficiency, resources consuming, maintainability, extensibility.. and so
> on.
We intend to support all the servlet containers, even the most exotic
ones like IBM WebSphere, so that if people want to run it on a
particular container, they can.

That said, with my Sun hat on, our plan is to provide formal Sun support
for Hudson on top of GlassFish. I work in the same building with the
bulk of the GlassFish team, and I myself was involved in the development
of GlassFish for a while. So if you ask me, I'd recommend GlassFish.


> Furthermore, if we would need to have more than one instances of Hudson
> is it better to have them within one server (Tomcat, JBoss, Glassfish
> etc. ) or to have one instance of application server per one Hudson
> instance.

While Hudson is designed so that you can deploy multiple instances on
the same JVM, I find it easier maintenance wise to have one server per
one webapp. This way, you can fine-tune some of the controls that
require system properties. You can take one down without taking others
down, allocate different memories, throttle CPU, I/O usage at OS level, etc.



>
> Thank you in advance for your help.
> Greetings,
> Grzegorz
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

--
Kohsuke Kawaguchi
Sun Microsystems                   http://weblogs.java.net/blog/kohsuke/

smime.p7s (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: which application server for Hudson--consider virtual machines

hsuclarklarry
Kohsuke Kawaguchi wrote:

> Grzegorz Grzesiuk wrote:
>> Hello all,
>>
>> My company is planning to have a dedicated machine (2 x quad core
>> processors, 8 GB RAM ) for Hudson.
>>
>> At the moment we have around 30 projects running on our previous
>> machine on Tomcat.
>>
>> In few months we will possibly have around 40 projects. The projects
>> are divided into different teams which members should not have a
>> visibility of other  projects  - in another words we need authorization.
>
Your hardware resources and your user requirements beg for
virtualization. I use Centos (a Redhat clone) with "Xen" to run Hudson
on its own virtual machine. The Redhat setup makes it super easy to
setup multiple "paravirtualized" Redhat servers running on one physical
system. Then you can send each of your "different teams which members
should not have a visibility of other  projects" to their own server.
The performance overhead is very low. I even use it on my little dual
core notebook. You may want to get eight or so IP addresses set aside
for your servers. Also you could use a little more memory to go with all
those processors.

> While Hudson is designed so that you can deploy multiple instances on
> the same JVM, I find it easier maintenance wise to have one server per
> one webapp. This way, you can fine-tune some of the controls that
> require system properties. You can take one down without taking others
> down, allocate different memories, throttle CPU, I/O usage at OS
> level, etc.
"I find it easier maintenance wise to have one server per one webapp."

I would make that one virtual machine per webapp for the same
reasons--mainly resource allocation. You can make sure that no single
team slows down the whole server.  When doing Java development off
line--working at the coffee shop etc--I allocate just one processor and
512Mb of memory to the "build server" on my notebook. This never slows
down my "development server" too much and I get continuous test builds
run as I check in code.

Hope this advice is helpful. Feel free to email me directly for more
details.
Laurence Clark
[hidden email]




---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]