Are you afraid of touching outdated systems?
Outdated systems in any organization are a matter of concern as well as expensive to maintain. As we move to the cloud era, there are thousands of old and outdated applications running in the enterprise environment. Very few people in the organization know what they are used for, never mind how they work.
Pulling the plug is a matter of concern if you do it without assurance of the impact it would bring into the working environment. Take this case, for instance. Some years ago an airline CEO was fired because he authorised new over-time calculations to be applied to the mainframe old code and the resulting mess cost his employer tens of millions of dollars. The root cause, legacy code.
How to avoid such a nightmare? In this article, we examine ways of avoiding what might be termed obvious pit-falls.
Anatomy of an application
Every application running in an organisation has a purpose, however small, it might be, but useful in one way or another. It might be the result of a productivity improvement drive a decade ago or a business requirement. Every application is important otherwise it would have been decommissioned by now.
Every application has core elements. Several pundits will describe in detail how different they are, but in general, simplified versions are,
Data + Logic + HCI = Application.
Without saving and retrieving when and how it is needed, the applications can not perform. Even simple calculating applications require configuration or calculation basis stored somewhere and retrieved when required. Typically in secondary storage in a structured format like databases, files, etc.
Programming languages are the root cause of logic execution. This is where programmers put business rules and third-party software, licensed closed source software, performing the critical data manipulations. Programming language on which the logic layer is built plays a critical role in how and what is happening. Unless you are an expert in that language(s), it is hard to see what happens when certain data arrives or is accessed.
HCI (Human-Computer interface)
HCI or UI (User Interface) used to interact with data input either via an interface (such as dumb terminals, Browser, MQ, etc.). Business users and product owners, Business analysis knows intimately well how the interface is laid out and what happens (at least on paper) when you input certain values.
You can fit any type of application you use whether it is 2-tiered, 3-tired, n-tired, or API based, the basic structure would be the same.
Simplicity vs Complexity
Every application contains some parts of complex logic involved somewhere. But typical application composed of 80-90% simple operations like retrieving the information or storing the information (sometimes specific to the particular logged in user, however that doesn’t change the fact that the operations in question are simple to retrieve or save data operation).
If you talk to the people who use or manages the application, they will tell you, it is complex because there are few operations that do a lot of data manipulation and execute logic. But the fact remains, that is a small portion ranging from 5-10% of total volume. Rest is never used, in other words, dead code.
Pivot Cloud Platform
Pivot Cloud Platform uses AI and Cloud scalability, to learn about 80% of simple operations quickly and the rest of the operations with machine learning algorithms, leaving the dead code as dead! After the completion of application profiling, you can
- Query what you want to know about your system
- Migrate to micro-services
- Build Robotic Process Automation quickly and efficiently
- Build new functionality in the cloud using micro-service architecture which is interoperable with the existing old system.