tags:

views:

106

answers:

4

There are Database Administrators (DBA) and Unix|Windows System Administrators. There are likely soon to be Cloud Administrators.

There are hordes of "administrators" who are tasked with administering and managing numerous large-system JVMs running on/in various stacks, yet I've honestly met very few of them who have any real understanding of what a JVM is, monitoring it, instrumenting, measuring, & tuning. Do large organizations hire Windows administrators who are responsible for managing their Oracle instances? yet businesses and the public sector the world over expect system admins to manage JVMs with the same opacity.

Is there a valid operational role of a Java Runtime Administrator?

+3  A: 

Well.. there is such thing as an application server administrator (weblogic, websphere, jbos, glassfish...). Managing JVM is just managing a part of the system.

+1  A: 

The J2EE platform "officially" defines a System Administrator role in the platform roles:

A System Administrator is responsible for the configuration and administration of an enterprise's computing and networking infrastructure. A System Administrator is also responsible for overseeing the runtime well-being of the deployed J2EE applications. The System Administrator typically uses runtime monitoring and management tools provided by the J2EE Product Provider to accomplish these tasks.

That said, there are discrepancies between theory and reality.

Pascal Thivent
Reading responses it seems as though this question may be more conversational than having a hard answer, but I think you sum it up well with the J2EE "official" reference to it. Nonetheless, I think it still brings to light for me that this role (not necessarily a resource/person) needs much more development in any given organization, yes?
Xepoch
@Xepoch I agree with you.
Pascal Thivent
A: 

We do have "Operational" Administrators (in charge of making an environment "operational", i.e. putting programs into pre-production or production environment)

The point is: administrating only the JVM is often not enough. An operational (or "release") environment is also defined by the infrastructure (servers, networks, disks, ...), the processes to follow (what to start first, how to start it, ...), the monitoring, the reporting.

When it comes to processes (including the ones running in their JVM), the simple fact to stop them (to allow for an upgrade, and then a re-start) can be incredibly complicated: how do you know that all your system has indeed stopped? (did you miss one orphan process still running alone?)

So when it comes to the runtime environment (which includes the fine tuning of a JVM), the administrators we have are often more "operational admins" than just "JVM admins".

VonC
A: 

This is a good question, the number of developers who can actually tune a JVM properly are probably limited in number.

A big company would do well to find people who can do this and utilise them across teams. There would be savings in memory, processors and hardware in general if better use of JVMs was put in place.

Fortyrunner