What if Java is it. Java has virtualized the world between the platform and the application to the point, really, that all of the knowledge you are building to run the OS of your server is becoming somewhat trivial. True, you can install a new version of glibc, and know how to solve dependencies with RPM. You know how to monitor the lists so you know that there is yet another PHP hole for the CMS you use for your self-help system, or another hole in zlib that requires you to recompile a network app yourself because the vendor doesn’t have a binary package yet. Conversely, you can run Windows update, or automatically patch a whole network full of Windows boxes, as well as set up ODBC connection strings. When you think about it, though, is this activity truly interesting or useful? Not really. There is no actual creation of knowledge here. There is no creation of systems. Much of what we do as “systems administrators” truly is just janitorial in nature. The upside is we get the mother of all keyrings, and have to get a special key holder that fits our belt. The downside is if somebody spills something on the floor we clean it up. Sure, we put in systems to notify us when somebody puked in the hall so we don’t have to wander around aimlessly. Yes. Somebody needs to clean up the puke; however, if you have the ability and desire to create systems and make them better, getting hung up in the halls is a drag. Systems administration should require growth, change, and new plants, rather than simply putting out fires and pushing a mop bucket. Perhaps that is what you like. I’ve often been stuck in a position where that is all my boss really wanted. I’ve often been forced to work below my potential doing this type of work for economic reasons. I’ve also often enjoyed falling into routine systems administration work. I truly liked moving the mop bucket through the halls. I really liked the retractable keyring. The truth is, though, that not that many people can do the kind of work we do. To clean up the spill requires a detailed understanding of what the systems are running, how they are secured, and how they work. It isn’t really as simple as my analogy. Taking the mop out of the bucket works a lot better if you know how to use RPM. So, we are stuck with a whole array of platforms that require dedicated, competent people that understand the arcane nuances of the OS running them. I believe this is changing. This isn’t a bad bet, really. Of course, the machinery that we work for, the people up top in the gardens while we are fighting the hands of the clock don’t want to have to pay a lot of money to run systems. What we do, again, is janitorial in nature, and we should be payed as though it is, and we will be. To a certain extent, this is what Windows Server is all about, but this solution is flawed. What is needed to truly make us dispensable is to virtualize everything between the OS and the application, so that whatever system of the day works best runs your applications. Whatever distribution of GNU/Linux runs the database of the day and the application server of the day best wins. Perhaps a proprietary platform will win out over GNU/Linux, but whatever it is, it has to be cheap, and it has to be very easy to administer. The application needs to be written, but all else is taken care of. Grids of servers that are platform independent due to virtualization will make lock-in to a particular platform a thing of the past because migration to the next cheap, easy to administer platform is trivial (just turn off the old boxes). OK. OK. I know you think I’m exaggerating here. I used to manage a clone shop. The owner had connections in Taiwan, and we would build up white boxes and sell them in the days of Windows 3.1. A lot of my skills at the time were setting interrupts on cards and getting drivers installed correctly. I remember scoffing at the idea that Plug and Play would replace these skills. Well, twelve years later, Plug and Play mostly works. It is a similar topic. There is a point, like with Plug and Play, that enough of the pieces are in place to pull off the displacement of skilled workers at a certain tier. The Geronimo project seems like the tipping point to me. No, I don’t mean the point where coastal cities will flood regardless of whether we all drive a Prius, I mean that there is enough at stake, there is enough bread out there, that *the* needed virtualization between our platforms and our applications is here. Where do we go now? Well, let’s see, where are we at:
[usr-1@srv-1 java]$ cat FirstProperties.java public class FirstProperties { public static void main(String[] args) { System.out.println("System Information: \n"); System.out.println("Operating System: "); System.out.println(System.getProperty("os.name")); System.out.println("\nArchitecture: "); System.out.println(System.getProperty("os.arch")); System.out.println("\nOperating System Version: "); System.out.println(System.getProperty("os.version")); System.out.println("\nJava Virtual Machine Version: "); System.out.println(System.getProperty("java.vm.version")); } } [usr-1@srv-1 java]$ javac FirstProperties.java [usr-1@srv-1 java]$ java FirstProperties System Information: Operating System: Linux Architecture: i386 Operating System Version: 2.6.9-11.EL Java Virtual Machine Version: 1.5.0_05-b05 [usr-1@srv-1 java]$ |
“Something is happening here, and you don’t know what it is, do you, Mr. Jones?” And that is all I have to say about that. 🙂