Distributed computing came with the promise of many opportunities for cost savings. Companies expected to save money when they move their applications from a centralized mainframe to a distributed environment or cloud solution. However, it’s not all sunshine and roses.
Many hidden costs inflate the Total Cost of Ownership (TCO) of distributed computing. Businesses need to consider variables like these:
— How many servers will it take to match the computing capacity of your company’s mainframe?
— How much electricity will it take to power all those servers and keep them cool?
— What is the replacement rate for servers compared to the mainframe?
— How many people does it take to administer hundreds of distributed servers vs. a centralized mainframe?
Many organizations have begun to undertake projects to migrate off the mainframe. However, many of these high-stakes migrations end up being discontinued because businesses realize that their “legacy” applications have a legacy for a reason–that being they work. And they work so well, so predictably on the mainframe, and any disruption to their operation would have a negative business impact, that they are more likely to remain in their current state. There are many other hidden costs, including:
Applications running across distributed systems require much more complex code to maintain. Updates to applications must then be provisioned across the whole cluster of servers rather than a centralized mainframe. This added complexity requires more computing power to run and more skilled programmers to implement.
The reason there is so much open-source software running in distributed environments is because most commercial software prices on a per-license basis, meaning it costs more to purchase applications and system management tools that need to run across all of a company’s servers. In cases where there is not an open-source solution available, commercial software costs can be multiplied over the number of servers in the distributed system, and often even across the number of cores on each server.
Conventional wisdom would have it that a distributed system is better for averting disaster since if one part of the system goes down, the rest of it will keep going. However, mainframes not only have an incredibly good track record of up time, but also they have significantly more cost-effective fail-over systems to take over if the primary production system goes down.
Mainframes and distributed systems are both highly scalable, but they tend to scale in different ways. Distributed systems scale horizontally, meaning they scale by adding more machines (additional servers) into the pool of resources. But each of those additional servers has a cost in hardware, electricity, storage, and man hours to administer. On the other hand, mainframes can scale vertically (scale up) by dedicating more CPUs, memory, and other computing resources to a single task or application. This kind of vertical scaling lets mainframes use virtualization more effectively, since resources can be allocated from one process to another as needed without demanding additional dedicated hardware. Instead, the computational load is shared within a centralized system. This also lets them increase the computational load on the system without needing to expand the size of the data center or hire additional system administrators.
There are other ways to scale usage on the mainframe beyond migrating to a distributed system. Adding capacity to the mainframe or renting additional capacity makes it possible to get the best of both worlds. The mainframe vs. distributed debate will become moot as distributed systems act more like mainframes and mainframes increase their importance in the world of cloud computing.
There are perceived savings to be found in moving to a distributed system. However, overall it is more cost-effective to expand the functionality and utilization of the mainframe. This is especially true for businesses with a long history of operating on the mainframe. Many of the applications that currently run on the mainframe would run better on the mainframe than the recompiled versions ported to Java or other languages to support distributed systems.
If your organization is running a mainframe, stop thinking of it as a sunk cost and instead focus on modernizing the software that your mainframe runs. We have a complete product line of cost-effective, enterprise-grade software for the mainframe. Check it out.