In the life of a computer system (or computer systems), you will have failure. It is inevitable. No operating system is perfect, and will provide 100% uptime. You can get very close, but inevitably, the chain will break at its weakest link.

This post is about that ‘getting very close’.

Designing your network / system

Don’t base your network completely on one operating system.

Diversity is truly the key to making a system more secure. If you have a virus, or perhaps a piece of buggy software on multiple identical systems, it will fall like dominoes. While it is somewhat easier to manage computers that all use the same operating system, a network is considerably more robust with multiple systems.

Consider a component stereo system vs a ghetto blaster. If one component like the DVD player, speakers, or the cassette player (yes, admit it, you still have one) goes on the fritz - the other components still function. A broken ghetto blaster? Might as well buy a new one, and this is where the metaphor breaks down, because computers are great deal more expensive and time consuming to set up, than a portable stereo system.

- if you do use multiple operating systems in your work (or play) consider a dual or triple boot system. This can also be a lifesaver if something goes wrong with one of your OSes.

What is becoming more popular these days in the software development is the use of virtual machine software to run multiple ‘virtual’ computers on a single machine. You now have the option of running multiple operating systems on your WIndows, Mac or Linux machine without all the hardware. You can test multiple environments for your application (or website), or run all your favorite server software all on one machine.

Each virtual machine has an image of itself - sort of like taking a picture of its hard drive and hardware setup. The great part about a virtual machine is, if the image ever gets corrupted, all you do is re-install the original backup image of the computer, and you are off and running again.

Have a backup plan

No, not just a piece of backup software - an actual plan.

If you have one computer:

- back up at least once a week, to a removable hard drive, or flash drive

- make incremental backups using a DVD burner as well

There are a number of affordable (and automatic) consumer backup systems out like Apple’s Time Machine and HP’s Media Server. Find the one right for you and your computers.

if you have multiple computers on a network:

- back up all important files on each computer, to a central storage server

- use two removable hard drives for backup

- use one hard drive for backup one week, and the other next week

- keep one hard drive off site at all times.

- on your computer’s hard drives, split it up into ’system’, ‘programs’ and ‘data’ partitions

We all have the nasty habit of filling up our hard drives with clutter, and we don’t pay attention, until that fateful day our computer says our hard drive is too full. Having your hard drive broken up across multiple partitions, (and not saving on the ’system’ partition) allows you to be able to still run your computer, if the ‘data’ partition gets full.

- install anti-virus software and schedule it to run a full system scan once a week (on each computer)

- if you do computer programming, use a version control system (and back that up as well)

Security

- get a router/firewall

Preferably both a hardware-based firewall, and a software-based firewall for all your computers.

- use strong passwords for all your systems

Crackers (people who break into computer systems) use an automated program which rifles through commonly used passwords to break into systems. I used to have a linux server at my house, and on occassion I would see these long lists of ‘dictionary words’ that they use to try to get ‘root’ access to my system. Not once did anyone get in. My secret? Strong passwords.

Use upper and lowercase letters in your password, as well as punctuation and numbers. If you have trouble remembering complex passwords, use a l33t-like password (the letter ‘E’ is replaced by the number 3). These passwords are more random in nature and thus harder to figure out.

If you run Windows, have a knowledgeable technical person go through a security checklist to plug the security leaks, and shutdown programs that run in the background that you may not actually need running.

Summary

I’ve listed a few of the ways here to get your system (or systems) setup for the long haul. Diversity is a good defense against failure. Plan your strategy to backup your computers. Have firewalls in place. Don’t use ‘admin’ or ‘god’ for a password. And keep your stick on the ice.