I often get asked how computers should be setup for a small office, exploiting the state of the art in hardware and software so as to get something that is cheap and robust. This is a `very typical' office environment where people use desktops for ordinary desktop applications.
It is a very good idea to make workstations diskless. Diskful workstations are an administrative nightmare. Users will insist on keeping files on their own computer, and that will generate problems of backups. Further, if all files are centralised, then it's very convenient since any human can work from any computer. Not having a floppy drive or a hard drive eliminates the possibility of the user doing something stupid.
In addition, hardware costs come down slightly by eliminating one floppy disk and one hard disk.
Diskless workstations should have lots of RAM - 192 Meg or more. It makes sense to use an Intel-compatible AMD CPU that is atleast one year old: that tends to be the best bang for the buck.
In an office with n employees, it helps to have a spare diskless workstation, so you'd buy n+1 machines. The idea is that if anything goes wrong with any machine, then you would just plug out the errant machine, stick in the spare, and send the errant machine off for repairs. So at the cost of one extra spare machine, you get very high uptime.
The server room should contain three machines:
An assumption I make is that you will have `good' Internet connectivity, but not a dedicated 24 hour leased line. In this case, you will want the machine yourfirm.com to be out on the Internet. It should have your website, accept incoming email, play a role in sending out outgoing email, run webmail software, and run mailing lists.
The basic framework for email should be as follows. Outgoing mail should get delivered to smtp.yourfirm.com in realtime, after which it would get delivered out into the Internet "a while later". Incoming mail should come into /var/spool/mail on the local machines without user intervention.
See my web page on setting up email.
The server room should have toys like a laser printer, a CD-ROM reader, a CD-ROM writer, which would then be accessible to everyone in the office.
It's nice to have a 802.11b footprint all over the office, so that any notebooks which have 802.11 should `just work'. There should be a DHCP server through which the notebook gets authenticated.
These days, 100 Mb/s switches are cheap, so you might as well do that. It's nice to put in twice the number of ethernet points as compared to what you think you need.
The `standard' applications that everyone will find useful are: mozilla, openoffice, gnumeric, evolution, mutt, and tex.
It's nice to install network quake!
This set of instructions for setup saves money at two fronts.
First, the software that is proposed above is all free software, so you eliminate the cost of Microsoft or other commercial software. Entire software categories like anti-virus software are rendered irrelevant, because you are in Microsoft-free zone.
Second, because the above software is basically quite efficient, you can get away with cheaper hardware. An AMD processor that is atleast one year old is `just fine' - you don't need the latest and greatest. Going for diskless machines also saves money.
Sun is doing some very cool things in this space.
I have read of smartcard enabled desktops. I pull out my smartcard from one machine, and stick it in another machine, and my full desktop state moves to that new machine. That'd be cool. But I haven't explored it yet.
Ajay Shah, 2003