Elf-Moondance (CC0), Pixabay

At a certain stage in the development of any organization, the question of modernizing its IT resources arises. And this process should affect almost everything. These are servicing computers, hardware, applications, received IT services, etc.

Under the modernization of applications, in this case, it is assumed the process of creating applications. They would correctly use the resources of the OS. They would not violate its stability. They would allow evaluating their own performance. Also, they would integrate with the OS kernel systems and would correctly participate in its life cycle. And they would also correctly interact with a power supply system and could be configured using the new tools included in the OS. Implementation of the application modernization process does not require any special human or financial resources. It does not require IT outsourcing. And it is not expected to purchase expensive legacy application modernization.

The first and key step on the way to modernization is to determine the state of the memory of the system. It’s related to the processes and tasks. It’s used to analyze its performance and monitor events. Windows utilities for such tasks include:

Task Manager

Designed to provide information about the state of memory and services, tasks and processes, users, network connections, etc. Displays the main characteristics of the system.

System Configuration

Provides general information about the processes and configuration of the system boot, services, utilities, and programs loaded at startup. Among the utility’s advantages is disabling the display of all Microsoft services. This is indispensable when searching for problems with services.

MSInfo32

The utility makes it possible to obtain information in general about the system. These are its components, hardware resources, and software environment. Its advantage is that the data is presented in a summary form. It is extremely useful when trying to detect problems in the operation of services and applications. As well as performance problems.

Performance Monitor

The operating system continually measures itself by using a series of predefined traces. Using the Performance Monitor utility, it becomes possible to obtain a list of traces that were set initially. So you can get information about the performance of the system, both from a historical perspective and in real-time.

Compound upgrades

If we talk about modernizing applications in general, then this task can be divided into three subtasks:

Ensuring compatibility

Compatibility implies a set of actions to ensure the operation of applications. It’s when they are transferred from an earlier version of the OS to a later version and vice versa. I.e. essentially ensuring continuity. In short, the main compatibility issues can be boiled down to the following points:

  • checking the OS version;
  • work under the “Standart User” account;
  • writing to the recommended registry folders;
  • using the manifest;
  • interactive services.

Ensuring stability

Within the framework of this task, a certain set of actions is performed to ensure security. Also, it’s the manageability and reliability of applications. Reliability can be ensured in several ways. It includes transactional work with the registry and file resources. If necessary, this will make it possible to cancel a group of operations or activate changes only when all group operations have come to successful completion. I / O operations with the ability to forcibly complete them. Here is important the use of the Restart Manager mechanism. This allows reducing the need for OS reboots by tracking the resources. They are occupied by applications and for restarting applications, etc. To create managed applications you can use performance counters, system log entries. And the Event Tracing subsystem. From the point of view of ensuring security, it is necessary to determine the list of technologies with which the correct operation of applications should be adjusted. And it’s used to control the adjustment of effective interaction between them.

Providing functionality

This implies the need to ensure the smooth and efficient operation of all involved applications and the operating system as a whole.