Funny thing about legacy platforms, though: They're called that for a reason. Anyone who has been in IT long enough has a story about an AS/400 server that was kept running long past its prime, often into decades of constant use. And zSeries mainframes are nothing if not reliable; some of them have never known any true downtime.
This isn't to say that keeping those systems running was free. It certainly wasn't. But has ripping and replacing them really saved money? The numbers would seem to say otherwise. As IT managers have tackled a steady succession of much ballyhooed alternatives to legacy platforms -- first middleware, then Java EE, then Web services, then SOA, and beyond -- expenditures on software development have increased much more rapidly than operating costs have declined.
New technologies, same old applications
Let's examine some of the more recent developments. Two of the latest trends that aim to cut IT costs are SaaS (software as a service) and cloud computing. Both are built around a similar idea: By shifting responsibility for some of the staffing, maintenance, infrastructure, and support requirements of IT from an in-house department to a service provider, CFOs can replace an unpredictable cost center with easy-to-digest monthly subscription pricing.
SaaS was the first to come along, and it especially appeals to small and midsized enterprises, for which capital expenditures on software licenses are particularly burdensome. But SaaS is the very definition of rip-and-replace; for anyone with a significant investment in in-house software systems, the transition is likely to be nontrivial. Enterprise customers, in particular, often chafe at the idea of a one-size-fits-all software solution. They are likely to want heavy customization, which means further, ongoing software development expenditures -- in effect, trading an in-house proprietary platform for an outsourced one.
That brings us to cloud computing, including infrastructure as a service and platform as a service, which offer many of the same advantages as SaaS without limiting a customer's choice of applications. But transitioning to these solutions raises the burden of custom development even higher than does SaaS. For example, cloud-based Java platforms tend to favor the Spring framework rather than Java EE, meaning existing Java EE applications will have to be re-engineered. Even when everything goes smoothly, some experts claim that a badly worded service agreement can mean the cost of hosted applications actually exceeds the cost of in-house deployments.