Wednesday, November 15, 2006

A Brave New World

Consumer Alert: Any humour in this article is of the computer-in-joke kind and therefore fundamentally unfunny to just about anyone with a life, even me. I include it to enable the reader to get a sense of the inertia that really good tech tedium can have.
Mrs Stevie does not appear in this story, except during a phone call I have edited out of it.

Well, I was (against all expectation) included in yet another meeting with the Linux installers (whom I now suspect to be highly dangerous, if quiet, psychopaths1 instead of peace-loving alternate-tech geeks) and it was all go.

A previous meeting with my boss had prompted me to ask how the whole thing was supposed to work, a move that has now gotten me identified as some sort of tech-terrorist due to the answers to that question.

The Linux bit is basically a couple of towers of high-powered servers connected to unimaginably large data stores. The primary purpose? To provide connectivity between people all over New York with the central mainframe computer (something we used to do with a few hundred Unix SVr4 computers and a few dozen hundred green screen dumb terminals). The Two Towers are essentially a load balanced fault tolerant auto failover solution. That means that of the x000 people working on "the computer" x/2 000 of them will be going courtesy of software running in one or other of the towers2, and that in the event of a problem, some of them will be swapped automagically into the other tower until the broken veeblefetzer gets fixed. It's all very modern and ann goode thinge.

The thing is, that the boss thought (due to being told that this was the case by a Linux installer) that this process would be "seamless".

It won't be for anyone wanting to do more than run a console application in one of the servers because the mediating terminal emulator software will take a stop and need to restart in its new digs. This will take about 4 - 10 minutes, the cost of booting a virtual Linux computer. Then comes the good bit

The connection to the mainframe computer requires certain addresses and session information be kept otherwise each attempt to talk to it would ask the comms manager at the mainframe for new connections every time (kinda like needing a cookie for those born after the web, or like needing a return address on a letter for those still denying computers exsist). To avoid this we keep the session identification credentials in a file and check for an existing open connection there (the mainframe comms manager cannot be queried for this data without opening yet another connection, and the total number of connections it can have is very large - about 50 times x000 - but finite and easily used up by poor programming practice). If we find a set of creds for the process, we use that connection.

After a move to the Tower Next Door, a process will not be able to do that, even if we replicate the credentials, because the Process ID is part of the data required and that changes when we move.
"No problem, we'll just open new connections" you say and you are spot on.

Unfortunately, the connections that are open can only be closed by timing out (about 5 - 10 minutes or so) or by being closed by a script.
"The script then!" you triumphantly howl, and that is how we do the job right now in our Pre-Linux lash-up.

Only thing is, if a server takes a stop, its IP address isn't available any more due to automagic. The mainframe connections can only be explicitly dropped from the same IP address they were opened with.
"Simple!" you indignantly yell. "Map the virtual IP addresses used by the fault toleration gubbins instead of the hard IP address of the server!"

A good plan. So far a room full of Unixgeex and Linux Quiet Psychopaths has failed to manage this feat. Not surprising since the application software was authored on papyrus.

1: The Linux world is apparently populated not, as I had been led to believe, by earnest yet gentle techies but by reputedly violently no-doubt deranged allegedly homicidal possibly mad persons as detailed here
2: Upon being asked what we should call the cabinets, my suggestion of "Minas Morgul" and "Minas Tirith" was duly, and dully, rejected. Phillistines! The computing world does not need another "Calvin and Hobbes" or "Nixon and Agnew", and despite the feelings of just about everyone else in the IT world these "jokes" do indeed get old.

No comments: