Royce Murphy, CEO of 3D modelling and data visualisation software company Real Status, has warned that the catastrophic failure of a software upgrade at NatWest was an accident waiting to happen and that it will happen again in another similarly complicated IT environment.
The problem stems from the unintended interdependence between related IT systems, which in turn is triggered by factors such as re-using the same code in multiple applications and the over-abundance of virtual machines for storage and memory applications. The interlocking nature of these systems means that there are often unexpected and widespread consequences when something, however small or routine, is changed in one small part of the system.
Royce comments: "The catastrophic failure of a software upgrade at NatWest is not a surprise to many IT specialists, and most believe it will happen again in another similarly complicated environment. In large complicated IT systems, non-intended interdependence is often responsible for unexpected consequences when systems are updated or enhanced. The greater the interdependence between related systems, the wider the "ripples of disturbance" of any change.
"Information Systems have become even more complex in the last decade. Firstly, rather than monolithic applications developed by integrated teams, modern software engineering has adopted a set of principles and methodologies for designing and developing software in the form of interoperable services. These services are discrete pieces of code designed to be reused in multiple applications. The component pieces come from multiple sources, both within and outside the core development team. When these components are assembled into a new application, there is a loose coupling involving multiple dimensions of interdependence.
"Secondly, the physical computing resources, including memory and storage, that are available to run application components, are no longer fixed in physical computers (servers). The servers' resources are being broken up into multiple 'virtual machines', to improve resource balancing between peaks and troughs of demand".
"As a result, application component software is running on multiple virtual machines, and the virtual machines themselves can move between physical servers and utilise different storage resources. So the complexity and interdependence just builds and builds. Within a bank the size of NatWest, there will be thousands of applications running over hundreds of thousands of servers, virtual machines, networking and storage devices".
Enterprises build in this complexity and risk to their operations because it saves money in the short term - reusable software components and a greater utilisation of computing resources are both admirable objectives. However, this growing degree of complexity also has a downside the unintended consequences of interdependence.
Royce continues: "The solution is a new approach to understanding, monitoring and analysing interdependencies within information systems. Unintended consequences will occur, so you need a method to be able to see them and what is affected by them. That is what Hyperglance provides. It is a method of modelling all of the interdependencies and visualising performance data on the model. When there is a problem with a component that is part of a critical business system, you can see that in Hyperglance. Without Hyperglance, it's just another red light on a dashboard. With Hyperglance's dependency modelling, our customer can see whether or not a problem is affecting a critical system. Only then can positive steps be taken to contain any damage and stop it from affecting the users of the business services delivered by the applications."