September 26, 2007
September 8, 2007
What we used to call systems integration is just system administration nowadays
This morning I was reading a book on an open source CMS (Content Management System) called Joomla (Rahmel, Dan. Beginning Joomla!: From Novice to Professional. Apress, 2007. ISBN 1590598482). Joomla is a framework into which you insert website content, and the framework manages things like layout, user management, content submission, pre-publishing review etc.
As I read the third chapter’s section on troubleshooting, the following statements really grabbed my attention:
- The multiple programs employed by a Joomla site have to integrate properly and “play nice” for the CMS to function properly.
- Because of the multiple technologies involved in Joomla, it can sometimes be extremely frustrating to track down the source of a problem.
- Since Joomla requires essentially four different servers to work together in order to function correctly, you may run into a variety of problems during installation.
It suddenly hit me as these sank in that configuring a non-trivial website nowadays is really what we used to call systems integration, an honorable (and once lucrative) calling.
Let’s look at what’s involved:
- You need to configure a webserver: Apache is the industry favorite, and its complexity and flexibility easily surpass that of yesterday’s mainframe transaction processing monitors. If it’s your baby, you have to configure it; if a hosting service provides it, you still have to know how to adjust to their configuration of it, and maybe even add to their configuration to make your stuff work.
- You need a database: MySQL is the zero cost-of-entry favorite and powers a lot of commercial websites and enterprise systems. Installing and maintaining a database used to require a DBA, but now you’re the DBA even if a hosting service is involved.
- You need something better than a text editor and an HTML cheatsheet: even Dreamweaver and FrontPage are no longer sufficient to put up a website any more. Unless you’re going to spend the rest of your life manually updating site maps, links etc., you need a CMS like Joomla. Large companies used to spend hundreds of thousands of dollars on CMS systems comparable in power to Joomla, but now you download, configure and administer Joomla and similar software yourself.
- Joomla and many other modern web apps require PHP: PHP is an open source hypertext preprocessor that competes with Active Server Pages and Java Server Pages for the task of server-side, dynamic webpage generation. PHP cuts across three other systems, bridging Joomla and HTML to the database while executing as a web server plugin: if PHP ain’t happy, ain’t nobody happy. Who’s responsible for PHP configuration problems that cross web server, database and CMS lines? You.
I remember putting out a certain amount of effort in the early eighties getting my mind around a mainframe transaction monitor, its client/server architecture, SQL and a couple of programming languages. This stood me in good stead for about ten years, and then all hell broke loose:
- Interfacing with client PCs using a potful of techniques and technologies ranging from serial cables through Ethernet either directly or through a variety of middleware
- Open Systems (AKA “Interfacing with Unix”)
- Furry little mammals (PCs) raiding the nests of the dinosaurs (mainframes) and making off with their applications and budget
- Programming Language Du Jour
- Programming Paradigm Du Jour
- TCO (Total Cost of Ownership) Wars
- Thin Clients
- Death of Thin Clients
- Resurrection of Thin Clients and the Second Coming of the Mainframe
But I digress…
Many of us had to develop systems integration skills during while interfacing big iron with other big iron, and then big iron with minis and PCs. What hit me just now is that the same skills apply to modern technology, except that instead of worrying about
- RS-232 versus current loop connections,
- number of data, parity and stop bits and how parity is handled,
- SNA? Token Ring? Ethernet? And if Ethernet, what flavor? etc., and
- strange little ad hoc data communication protocols,
now we can put away the wire strippers and adjust
- httpd.conf,
- php.ini, and
- many other knots of configuration data.
The important point here is that the thought process is pretty much the same: you have multiple systems, each complex in itself, interacting and requiring exact configuration to interoperate successfully. Things don’t install, or they install and they don’t work and then you need the same simplify the problem, divide and conquer approaches that worked twenty or more years ago, only in a more abstract space of malleable configuration settings usually stored in editable text files.
An unsettling corollary of all this is that the kids that keep modern software systems up and running need to master a considerably greater wealth of detail than us old folks were ever called upon to learn. Whether modern systems are as reliable is another question (though not addressed here). They are, however, orders of magnitude more capable when they are up and running: I know, because I have had my hand in some for a few years now.
What makes it all work, however, are the online forums where people post their difficulties and usually encounter immediate aid and comfort: without these support networks, a lot of modern software installations would never quite work right, if at all. And because the forums archive their posts and responses, you often need only moderate skill in searching the web to find that somebody already ran into your problem and that someone else already provided the solution. You only need to post a query if your forum search didn’t find the answer.
In summary, the indispensable, highly-paid systems integration skills of yesterday are pretty much expected of the average system admin today. Even worse, the average developer may not get very far without a considerable mastery of the same material unless he or she has chosen to specialize. Specialization, however, is a dangerous strategy in a world strewn with the corpses of yesterday’s technologies du jour. I think Marshall McLuhan nailed it years ago when he predicted that we would end up as hunter-gatherers of information. Welcome to my world.
