Administrators often inherit environments that have been expanded improperly or ‘bandaged’. This could be due to lack of budgets, skill, or even just laziness. The reasons aren’t nearly as important as the fact that you’re ready to fix it the right way.
In most environments there are going to be things to consider before deploying patches, new software, scripts, BIOS/firmware/driver updates, or performing other similar tasks. We will use patching as an example: The first step would be to make sure you understand all mission critical software and hardware you are responsible for. The next step is to identify what it is that we need to test. For example- there might be a circumstance where machines do not have the latest version of Java, Adobe Reader, browsers, etc. Does the new versions fix issues you need to fix? Do they in any way break something else very important? The last step before deployment is testing and remediation (hopefully!). You could push and pray; or you could build your own test environment. Building a test environment is not only a best practice, but it also reduces or eliminates surprises to the end users, and therefore calls to your support teams.
A proper test environment would consist of a machine (or machines) that have installed the operating systems that you are managing. Include the tools that would normally be installed on a system such as your K1000 agent. Also install any software that would make your life miserable if something you do were to impact it. Include any critical and non-critical applications that are heavily used in your environment. Since you are using your test environment frequently- make sure that you do everything you can to keep your network testing environment as safe and updated as possible; It should always be a good representation of your network as a whole.
Last but certainly not least- protect your creations. If you used virtual machines- be sure you use snapshots to capture clean andtest states. Back up the VM’s somewhere, and make sure to verify that backup works properly also. If you are using physical hardware, consider some sort of software solution that allows you to revert the device. Commonly used products for this purpose include OS-included features such as OSX Time Machine, or Windows System Restore; 3rd party applications such as Deep Freeze, RollBack RX, SteadierState, and many more could also be used. A clean testing environment, with regression capability, and comprehensive configurations not only prepares you for testing various types of updates, but also sets the stage for evaluating new software, new operating systems, and more. Go forth and build yours today!