Friday, December 27, 2013

Out With the Old


Over the many years of my career I’ve been involved with efforts to get rid of hardware and software that was difficult to maintain, expensive to run, licensed from unfriendly vendors or a duplicative of other solutions in place.  Why I like to get rid of things as much as I enjoy building new solutions is a bit of a mystery, but I think I like the challenge of finding the right moment, the right approach or using the long-term thinking that’s sometimes required.  The following is a short list of some of the better “good riddance” stories I’ve had a hand in pushing out the door, and some of the lessons learned from them.

In the 1980s mainframe terminals used coax cables to connect their “dumb” terminals to their control units.  These cables were bulky, heavy and required special tools and training to attach their connectors to each end.  In large buildings like I worked in, over a thousand cables spread out from the computer room.  We proposed to our Director a project to replace all the coax with twisted pair wiring and baluns.  He flat out refused.  So we looked for another way to get our way.  We discovered that one or two floors of our 27-floor building were in the process of major reconstruction at any point in time.  Instead of running new coax, we ran twisted pair instead, a less costly alternative, and more importantly, one where the materials and labor were charged to the reconstruction project, not the IT budget.  Several years passed away and we removed coax one floor at a time.  A few years later the same Director walked into my office, concerned about the safety of coax, which when it burns was found to release a toxic gas.  He asked me how much coax we had.  I had to honestly reply that other than about 4 cables in place for TVs on the executive floors, we didn’t have any left.  I can still remember the look on his face that said “I don’t know whether to thank you or fire you”.  He just shook his head and left.  But some technology can only be replaced or retired over the long-term and being persistent and “eating the elephant a bite at a time” can be the only solution.

Getting rid of things directly affects people’s jobs, or at least a portion of their job, and likely one they have become skilled and comfortable in performing.  And it takes work to eliminate or replace those things, and we always seem to push those projects to the back burner.  Back in my networking days we had predominantly an IBM SNA (Systems Network Architecture) network, but PCs, LANs and the Internet were pushing us quickly to TCP/IP.  We worked like crazy to keep up with the new demands, but I also insisted that we take time to have an active project or two to get rid of some old stuff.  I had to explain to my team that if we didn’t spend time now eliminating that stuff, we would have both the new and the old stuff to maintain going forward, and more new stuff would continue to come at us.  If we didn’t a spend a little time now, we would be spending even more time later.  So we always has a plan to reduce, so we would always have time to grow.  

One of the best methods of consolidating technologies is merging them into the same department, preferably directly reporting to the same manager.  That was the case back when we had both Novell’s Netware and Microsoft’s LAN Manager, and each was doing well under their own very-capable managers.  But these technologies were very much duplicates of each other and the expense of having both was most likely unwarranted.  After placing both under the same manager the combined group decided they wanted to consolidate, decided which solution they wanted to support and quickly eliminated the other.  Simple as that.

Looking for opportunities can be difficult and vendors are experts in getting you to renew a contract, for a nice discount of course, a year or two before your current one expires. They know you are likely  growing or shrinking faster or slower than the rate you planned and leverage that situation to keep you under their contracts forever.  When we found that our SAP project would cause our mainframe capacity to grow by a factor of 10 in a couple years, I knew we had the opportunity to eliminate some expensive and difficult vendors, particularly Computer Associates (CA), and replace them with “good enough” products from another vendor.  These new products were “good enough” because the new mainframes would be database-only and didn’t need the numerous “bells and whistles” that the legacy mainframe applications needed.  The result was paying CA for the 3 remaining years on their contract, although we no longer used their software, and paying the new vendor their license fees on the total mainframe capacity, all at a cost far less than paying CA’s ransom.  Recognizing situations that are far beyond the ordinary course of business can result in an opportunity of a lifetime.  Seize those chances.

Outsourcing transforms a service from being a part of the family to an expense to be managed and an opportunity to save money.  As mainframes were replaced with newer server technologies, they were often outsourced to a vendor that would take care of them and provide whatever modest investments were needed to keep them running, at a cost less than replacing the dozens of remaining applications.  But most of those applications eventually get replaced over time and you’re left with one or just a few applications needing a new home.  I found that simply communicating that the mainframes needed to go, the amount of money that we would save and what’s standing in the way was the key to having the organization find the solution, all without the burden of knowing they would be saying goodbye to current work colleagues. Never underestimate the emotional wall you have to overcome, but try to remove it beforehand.

I hope these stories demonstrate how different these situations can be and how understanding them and applying some innovative thinking can lead to the desired results in unexpected and innovative ways.  I truly enjoy helping take things apart, even things I’ve built up.  The only thing that slows technology down is the friction of the old.  And today’s IT departments can’t live past.  

So throw it out.

Sunday, December 22, 2013

Redundancy Options


Computer systems can be architected to provide redundancy and recovery using a variety of technologies, such as Microsoft Server clustering, IBM DB2 data sharing and Cisco’s Hot Standby Router Protocol (HSRP).  The discussion can get very confusing very fast, so awhile back I made up a few terms that describes what the final result ends up delivering, which is all that really matters.

The first term is Failover, which provides a rapid switch from a failing primary service to a ready-to-go secondary service.  Failover solutions result in the user experiencing an unusually long response time and possibly the failure of their current transaction, but the user is still connected and would not be required to log back on.  Failover solutions, in my experience, work only about 50 percent of the time, the result of two causes.  First, most Failover solutions are architected using an active-passive rather than an active-active design.  This typically results in the passive side not being used for months before it’s called to active duty and for a variety of causes doesn’t cleanly accept the Failover.  The second cause is the lack of a clear, hard failure.  Failover tends to work well when the primary fails hard, such as a total hardware failure.  Failover tends to work poorly when only a portion of the primary experiences problems.  Either the Failover doesn’t get initiated at all or only a portion starts to move.  In either case you don’t get the result you need.

The second term is Fallover, as in “you fall over and get back up”, and results in the user being disconnected from the service and having to log back in again.  For example, an SAP ERP implementation typically has several application servers, and a web application has several web servers, any of which can provide service to the user.  Which one the user gets connected to is decided at login time, but in the case of that server’s failure, the user simply logs in again and a different, working server is selected.  Fallover tends to work very well because it’s a much simpler solution than Failover and less costly.  Failover usually involves twice the expense to build a fully capable secondary.  Fallover typically involves buying just one extra server, adding perhaps 10% to the total cost.

The third term is Findover, and like Fallover, is a made up word to make a series of words that are easy to remember.  Findover solutions involve finding a secondary service that provides the exactly the same thing as the primary.  A list of Domain Name Servers (DNS) provide a type of Findover.  If a PC or server can’t contact the first DNS server in the list, it tries the next one, and repeats the process until it either contacts an active server or runs out of options.  IBM Lotus Notes servers can be configured to continuously replicate data between each other and if one goes down, the Lotus Notes PC client software will automatically find one of the other replicas.

Failover, Fallover and Findover.  Hopefully an easy to remember list of options.  

And a colleague of mine made up a fourth, self-explanatory term to describe that lack of a recovery option.  

Bendover.

Say no more.