IBM® is a registered trademark of International Business Machines Corporation, Armonk, N.Y., U.S.A. Other names used herein may be registered trademarks, trademarks or product names of International Business Machines Corporation or other companies.
The present invention relates generally to changes in system configuration, and, more particularly,to minimizing risks of changes to system configurations.
A major problem in today's information technology (IT) world is the lack of administrators' knowledge of the inner workings of complex business applications that support their businesses. The administrators are often hesitant to fix or change anything, as one fix could break something in the complex intertwined IT infrastructure. For example, a patch to fix a security flaw in an application server at one end may break an on-line ordering application that utilizes the same server at the other end.
According to an exemplary embodiment, a method is provided for minimizing risks of change to a physical configuration including a physical system having physical machines on which applications are running. A request for a change to the physical system is detected, and all applications and other physical systems that would be affected by the requested change are identified. All the applications and physical systems that would be affected by the requested change are replicated on a virtual system, including applications and the physical system to which the requested change is targeted and applications and physical systems that are dependent on the applications and the physical system to which the requested change is targeted. The requested is applied to the virtual system. The virtual system is tested to determine whether the applied change produces desired results. If the applied change produces the desired results, the requested change is applied to the physical system. Otherwise, a system administrator is informed of the test failure.
Referring to the exemplary drawings, wherein like elements are numbered alike in the several Figures:
According to an exemplary embodiment, a method is provided for minimizing the risk of configuring a physical system of making changes to the physical system such that the change does not result in problems within a current setup of the physical system environment. A mechanism is provided that enables critical changes to a system to trigger a set of automatic checks. Before the change is accepted, the physical system is replicated using a set of virtual machines, and a series of tests are run on the virtual machines. Once all the tests are passed, the change is accepted and applied to the physical system. Otherwise, the administrator is notified of the problem that the change will cause. This enables administrators to test changes and understand the implications on th physical system before rolling the changes out.
At step 320, all applications and systems that would be affected by the requested change are determined. These may include applications and systems that are dependent on the applications/system to which the request is targeted as well as the applications/system for which the change is requested. If there are applications on the physical system that are dependent on other applications on other physical systems, then those physical systems are also dependent. For example, if the change would affect an application server that connects to a database on another physical system, then that other physical system would be dependent on the physical system to which the requested change is targeted. The dependent applications could also just lie in the same physical system, and in that case, there is no dependency on other physical systems.
At step 330, the applications and systems that would be affected are replicated in a virtual system. This step may be performed upon demand, in response to the request for the change, or in advance, as discussed below. This replication may ba performed in an emulation server environment. The topology of the physical system may be discovered through a discovery too, such as Collation. Emulation may then be done by mapping each physical device in the physical system into a virtual machine running on an emulation server. The configuration information and installation package for this operation may be obtained by creating clones of the installation package that is on a physical server in the physical system.
The requested change is applied to the virtual system in the emulation environment at step 340. A validation test is applied to the virtual system at step 350. In order to run the performance related test, the clock of the virtual machine(s) may be adjusted to simulate the physical machine(s). The validation test performed in step 350 may be performed using a set of predefined diagnostics. Alternatively, the validation test may be performed by capturing the input requests/logs made on the physical system, as well as the corresponding responses, and replaying those requests on the virtual system to validate that the correct responses are obtained.
A determination is made at step 360 whether the test succeeds, i.e., whether the virtual system produces the desired results. If so, the requested change is applied to the physical system at step 370. Otherwise, the administrator may be notified of the change at step 380.
Although the steps in
According to exemplary embodiments, a mechanism is provided to help administrators in performing changes to a system by knowing in advance what the impact of the change will be. Such a mechanism minimize the problems produced as a result of misconfigurations and changes to a system and therefore reduces the time and cost of problem determination and system management. Such a mechanism also reassures the administrators that is is okay to proceed with changes providing them with the confidence that the changes they are about to make will not produce new problems.
While an exemplary embodiment has been described above, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it it intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims.