With computing technology constantly evolving, many companies stuck with aging systems need to revisit their current setups and possibly replace them with modern ones that are compatible with the cloud-centric microservices of today. And while keeping up to date with the latest software trends seems like an obvious choice for a technically minded person, the truth is that for many large companies where software is not their primary concern, having to upgrade or replace existing systems is incredibly expensive.
This choice might be even more difficult if the return on investment (ROI) and benefit gained are not going to fully justify that high cost. So, today we will try to provide some guidance on how companies can approach this critical decision and why and when companies should consider replacing their infrastructure or systems.
Benefits of Infrastructure Replacement
The core benefits of upgrading infrastructure software are as follows:
Security is easily one of the most important aspects of any system, and mitigating security threats is something companies cannot afford to compromise on. Keeping software and infrastructure up to date with the latest technology protects against many of the possible security risks and allows a company to spend less energy fighting these security risks.
As technology evolves, hardware and software ought to be paired together for the best performance. Aging software won’t run optimally on new hardware that it is not compatible with, and similarly, new, highly optimized software won’t perform on aging hardware, so companies need to look at ways of balancing this to get the best performance out of their applications.
Older software is often built around legacy architecture designs that don’t scale well to modern cloud-native designs, which allow for systems to be quickly replicated across different environments and scale to a global need. The older the system, the more likely it relies on mainframe server technology, which is no longer the best way to meet the modern expectations of computing systems, and an inability to scale can prevent a company from expanding the reach of its software to a wider audience.
The older a system or codebase is, the more it requires maintenance to alter it to work with modern software and systems. This is not just an issue for keeping the software operational. It can also become a people risk: as software developers and server technicians move on to newer technologies, companies will find it increasingly difficult to find the required engineers who can keep their old systems operational.
Risks of Upgrading
Upgrading may provide several obvious benefits, and based on just reading the above list, one would be hard-pressed to wonder why a company would not want to upgrade its systems. But just because something is new doesn’t mean it is better—especially when a company has established a set of processes that revolve around the existing systems.
If it ain’t broke, don’t fix it
A lot of companies keep their aging software going because it does the job they need it to. And if newer systems are unlikely to bring a significant improvement to what a system already does very well, then some companies are less keen to make the upgrade and would rather support the systems they know already do the job.
Changing both software and server infrastructure is an expensive exercise that requires a significant investment, something that can often be hard to justify when the IT system is already doing its job or when said systems don’t form the core of what makes the company money. This is particularly true of the big legacy system, which would take many years of development from large teams to replicate into a modern infrastructure, with costs easily soaring into the tens and hundreds of millions, or higher still. This is the kind of capital outlay that few companies can afford to make in a battle to remain profitable.
New processes and training required
Changing software and systems means that people now need to be trained to work on the new systems, many of whom may not be the most technically minded. This can slow down efficiencies in operation, as people need to take time off to be trained on the new system and will often perform significantly slower for a period of time as they come to terms with the new software and processes. Many companies have built processes around their existing systems, and changing these processes can turn out to be quite disruptive to their core functioning.
Costs of a problematic rollout when things don’t work as expected
Just because new software and systems offer a lot of benefits, it doesn’t mean that the risks of significant issues at launch are not there, and it can often take a fair amount of time for various issues to be resolved and for the new system to operate in an error-free way, as the legacy systems did.
Assessing ROI in a Cloud Infrastructure
It’s not just a matter of companies upgrading their software and infrastructure because these days the focus is on the cloud. Companies need to ask themselves whether it is worth investing in software that is cloud-native and infrastructure that allows them to integrate into cloud systems. As such, we need to look at the ROI from a cloud perspective.
One of the key drivers of companies looking to move to the cloud is reducing their overall infrastructure costs. Yes, the cloud itself is expensive, but by only paying for what you need and not having to maintain expensive hardware and pay the salaries required to keep these systems operational, companies can offset a significant amount of their costs if they implement their cloud migration correctly.
Companies will need to do this by comparing the savings they might make in infrastructure costs against the extra expenses required to implement the changes to their existing systems. In this way, they can determine how long it might take to eventually justify the added costs of redevelopment against ongoing infrastructure costs.
It’s more than just weighing up different cost items, though, because as we explain below, the idea of migrating software into the cloud or into a cloud-native design is more than just reducing infrastructure costs: by making significant gains in the overall performance and functionality of a system, a company should also be able to increase its market, revenue, and profitability. This can often justify the cost of migration alone, even if no benefits were gained from savings on infrastructure costs.
Measuring and Tracking ROI
For many non-tech companies, one of the biggest challenges with assessing software system investment is knowing how to measure and assess whether the new systems are indeed delivering on their supposed ROI. The following guidelines can help companies better track the effectiveness of their new systems and help them see whether they are indeed gaining the required returns from their new system.
Utilization is a key factor that affects productivity. What companies look for here is how software and resources are utilized in achieving core business aims and measuring if that cost is worthwhile.
At the infrastructure level, the instance-to-asset ratio shows the number of guest operating system instances to physical resource assets. This is a key metric for infrastructure-as-a-service (IaaS) providers. For example, the tenancy-to-instance ratio measures the number of tenants per resource. This ratio is important to providers of platform as a service (PaaS) and software as a service (SaaS): for PaaS, it is the number of separate platform environments per platform instance and for SaaS, the number of client partitions per application instance.
These metrics are important because businesses need to understand the licensing or infrastructure costs of using different systems and how they compare to the costs of current operations and any expected benefits gained.
CPU and memory utilization is important to providers and to IaaS and PaaS consumers. Consumers and providers alike should look at these resources in conjunction with the workload. If CPU and memory utilization are low, then cost reductions can be achieved by allocating more of the workload to each resource.
Companies also need to monitor costs in conjunction with the workload. If payment is directly related to resource use, then costs should track workload. If there is an element of time-based payment (“pay-as-you-go”), then this may not be the case and there may be scope to lower costs by tuning resource usage.
Private cloud users often look at the server consolidation ratio—the ratio of servers in their private cloud to those that were used before the cloud was introduced.
Time compression refers to the speed at which a company can provision its systems to a new audience and get systems up and running. For many companies, this may not be an important metric, but for software companies it could easily be one of the most important metrics to measure future success. More than just the technical understanding of provisioning, which is the speed at which software is deployed into production through the companies’ deployment systems, it looks more specifically at the time required to deploy software from conceptualization to deployment.
Profitability essentially increases the quicker new features are introduced into systems (called “the speed of cost reduction”). This can be achieved by spending less money and resources on both the implementation of new features and their delivery to customers sooner. Even if a company has not fully embraced the cloud, by utilizing a cloud-native design in its software systems, its ability to deploy code into production can be enhanced, which helps the company gain an advantage in this area.
Technically, quality is measured in terms of availability, reliability, recoverability, responsiveness, maintainability, and throughput. These are all important measures, as failures in any one of these areas can have an adverse effect on the efficiency of a company’s operations. However, another core measure of quality consists of customer satisfaction and customer retention, as the better the quality of applications to end-users, the more likely they are to want to conduct business with the company, which will ultimately lead to revenue growth.
To effectively measure this, companies need to look at the current costs to their current system of a variety of quality issues and assess how much of a financial impact these issues have on the company. The speed of recovery and the ability to implement changes and fixes to address these costs also need to be factored in and then measured against the possible long-term gains from having software that is designed in a more maintainable manner. There may also be some initial quality costs that need to be considered, costs that are often not measured by companies in understanding the true costs of system migration.
Scale is the ability of a company’s systems to spin up into new locations and be replicated elsewhere. While modern cloud-native software systems can do this at a global level, scale doesn’t help a company if its core clientele is very localized. And so, it’s important for businesses to measure the need for scaling and look at the benefits versus the obvious costs associated with it.
For instance, with many retail companies looking to move from their traditional location-based stores to e-commerce locations, the ability to scale could become an important measurement in allowing retail to target new locations they previously never operated in and ensuring that they have a software system in place that can allow them to potentially take advantage of a more global user base.
Where Snapt Can Make a Difference
While Snapt and its software suite cannot solve all these problems for companies, what it can provide is the ability for businesses to scale their software and achieve higher performance in their applications. And it can do this at a significantly lower cost than traditional solutions for application security, visibility, and control, helping to improve the ROI achieved in all the above areas of utilization, time compression, and scale.
For companies that have decided to migrate to the cloud or to a cloud-native architecture, Snapt Aria and Nova application delivery controllers (ADCs) can help make that move more seamless and allow companies to increase the ROI of their costly investments.