So you're looking at moving to a client-server model. You want to take the documents that are randomly scattered on the hard disks of the office PCs and manage them in a single directory, accessible at any time from any PC in the office. Maybe you want to get your own Internet domain name and have a Web site that you host locally, or build an Intranet for staff information and communication. Perhaps you just want to take your single DSL link and provide secure Net access for everybody in the office.
If you're running a small business and have more than two or three PCs in the office, it's time to start looking at setting up a server. One of your first considerations will be which server operating system (OS) to use.
What is a server operating system? (Back to contents)
Server OSes are designed from the ground up to provide platforms for multi-user, frequently business-critical, networked applications. As such, the focus of such operating systems tends to be security, stability and collaboration, rather than user interface.
Server OSes provide a platform for multi-user applications, and most come bundled with a batch of common server applications, such as Web servers, e-mail agents and terminal services.
Common applications for server OSes (Back to contents)
File and printer sharing: File sharing involves setting up a common storage point for a company's documents - a network drive, as it were. Print sharing allows multiple computers to use a single printer. Windows 95, 98 and ME do have file and print sharing, but are not recommended for use as server OSes.
Application services (including databases): a server OS's ability to run the applications you need is obviously crucial. Servers function as crucial database stores and shared environments for collaborative applications (such as networked MYOB or Quicken).
Web site services: A hypertext transfer protocol (HTTP) server is included with many server OSes, either via an integrated application, or other HTTP applications such as the Apache open source server. Some OSes also come with more advanced features, such as database integration (so you can dynamically build Web pages based on information in a database), personalisation and scripting. The world's most popular HTTP server application, Apache, comes with just about every version of Unix and also runs on Windows. Microsoft provides Internet Information Server (IIS) for Windows platforms.
E-mail, groupware and messaging: A central e-mail server allows you to forward and receive e-mails to and from your business, as well as control individual e-mail accounts based on a domain. Groupware applications, such as Lotus Notes, Microsoft Exchange or Novell GroupWise, provide email as well as much more sophisticated collaboration. These applications can include shared calendars, document version management, group forums, database/messaging integration, instant messaging and whiteboard sharing. Open source mail systems such as SendMail and Exim are also popular.
Terminal services: Allow a client to run a productivity application on a server, while seeing the visual results of the application on their screen. For instance, a client ('terminal') could be running Microsoft Word on the server from their desktop. The server does all the processing work, and just transmits the graphical changes to the terminal, while taking the user's input (mouse movements and key strokes) and sending them to the server. This model allows a company to use clients that don't have a lot of processing power (and enforces the storage of documents on the server, rather than on local hard drives). A server with a lot of memory and a fast processor is needed if it's going to be running productivity applications for the whole office.
Nearly every current server OS can do this via Windows Terminal Server, Citrix MetaFrame or the X Window System (which is used by Novell and just about every Unix variant).
Caching: Speeding up network access (usually Internet access) by storing previously downloaded files in a cache - kind of like the way an Internet browser keeps a cache of the Web pages you have visited so it doesn't have to download the files all over again. Examples of caching server applications include Novell BorderManager, Microsoft Internet Security and Acceleration Server, Inktomi Traffic Server and Squid.
Do I need a different server for each application? (Back to contents)
Sometimes - a typical server OS can handle two of more of these tasks for a small number of clients. When a large number of clients are added, or the applications called for use a lot of processing power, you may need to add more servers and diversify their functions. Load monitoring (that is, reporting on the amount of work the server and network is doing) in server OSes can give a good indication of when a new server - or an upgraded server - might be necessary.
Things to look for in a server OS (Back to contents)
Here's a quick list:
Administration - what tools are available and how easy are they to use.
Security - perhaps the most important feature, and the hardest to judge and get right. In general, the more tasks a server performs, the more potential holes hackers have to get in. For a comprehensive look at Server OS security issues, check out the World Wide Web Security FAQ at http://www.w3.org/Security/Faq/.
Stability - downtime is an organisational killer.
Features - does it have the specific services you want built in (does it have an HTTP server for your planned Intranet, for instance, or an FTP server for remote file access)?
Performance - is the server OS, and the hardware platform it runs on, fast enough for your needs? Simple applications like file and print sharing do not require a fast PC - a Pentium-based server with a large hard disk does the trick - while Terminal services or high-volume database servers frequently require very powerful server hardware.
Hardware requirements - whether the server OS can run on Intel or AMD hardware, or whether it requires a proprietary platform, for example Sun's Solaris operating system runs only on Sun hardware, (note, the latter is not necessarily a bad thing; a proprietary platform can provide a holistic approach from the vendor).
Scalability - how many clients can reasonably access this system, and how far can the OS scale in the future (to new hardware or more processors, for instance) if needed.
TCO - how much the ancillary costs of the operating system are - in terms of productivity, administration and downtime.
Third-party applications - what products are available for the platforms that aren't covered by the basic set included in the OS.
Different server OSes (Back to contents)
The table shows a short list of some of the server OSes available today. Most of these are based on a Unix core.
Which OS should I choose? (Back to contents)
Each has its strengths and weaknesses, and its use may depend on your level of technical competence.
Windows 2000 Professional, Server and Advanced Server can be readily used as small business servers. The strength of Windows lies in the familiarity of the interface; wide support – there is a mass of third party development for the platform, a reasonable price tag and a plentiful supply of available expertise.
The weaknesses of these OSes is the need for user-based licensing. Additionally, significant maintenance for security resources is required (there is a history of viruses infecting IIS in particular).
Linux and FreeBSD actually cover a large range of products. The purchase price ranges from freely downloadable to packaged and supported corporate products costing hundreds of dollars. Linux, in particular, comes in a huge variety of distributions; some act and look much like Windows; others can be used to build an appliance server (see below) that are totally administered through a Web or other interfaces. The core, or Kernel, of the operating systems are the same, however (although there may be variations in the version of the kernel used in a given distribution).
Mac OS X shares origins with FreeBSD, and has many of the same features and stability. The interface is very Macintosh, and you need to buy Apple hardware to use it. There aren't many third party applications for it as yet. It comes with an unlimited user licence.
In contrast to Mac OS X, Novell NetWare 6 is a very mature server OS. It was long sidelined as purely a 'file and print server', and missed out on picking up on a lot of the application server business. It still makes a very capable workgroup or enterprise server. Its file and Web services are first-rate, and it has a wide range of management interfaces, including a Web interface. Unfortunately, there are few third-party applications for it, installation is quite technical and it's not cheap.
I'm confused by server licensing (Back to contents)
Server OS vendors approach licensing in a variety of ways. In the case of products like Linux, FreeBSD or Mac OS X, there are no real licensing issues. After the initial purchase of the software, you're free to have as many clients attached to the server and as many processors in it as the software can handle. In the case of Linux, FreeBSD and NetBSD, the open source licenses also allow you to install the products on multiple servers.
Windows and NetWare have user licences. That is, only as many desktops as you have client access licenses (CALs) can connect to the server. If you want to add more PCs to your network, you need to purchase more licences. This cost is on top of the original purchase price of the operating system. When initially purchased, the OS will come with a given number of licences.
Alternately, Microsoft offers a per-CPU server licensing model, as do a few other vendors, such as Sun Microsystems. They charge by the number of CPUs the OS is running on. Sun Solaris 9, for instance, can be put on a single CPU server (or workstation) for free, but a multiprocessor machine will cost a given amount, based on the number of CPUs. In these license agreements, an unlimited number of clients can access the server. If you choose to go with a Microsoft solution, perform a quick comparison between the two options, taking into account current a future desktop numbers.
Mirroring, fail-over and redundant servers (Back to contents)
Enterprises commonly have backup servers in case of a failure of some sort. Such server clusters are also used to increase computing capacity by distributing the processing load between the servers.
There are various configurations, but generally speaking a clustering server operating system (which is available only in a few server OSes) keeps track of which servers are currently alive, and shares the load between them (occasionally using a load-balancing server for this task). When one server disappears, through hardware, software or network failure, the load is redistributed to the remaining systems, keeping the server running.
It's probably overkill to have a cluster for most small businesses. Aside from the cost of multiple servers, clustering requires expert knowledge to set up and maintain - the kind of expert knowledge that charges a very high hourly rate. A cost-benefit analysis would be helpful in these circumstances: compare the cost of having redundant servers to the cost of having the server inoperative for a day or more.
What about directory services? (Back to contents)
This is another feature that might not directly affect small business, but is worth explaining. Directory Services, of which the two best-known varieties are Novell eDirectory and Microsoft Active Directory, keep track of an organisation's resources and user access permissions.
To best illustrate what directory services do, an example is probably in order. Using directory services, the server administrator could define user John Doe as a sales representative. The directory determines that John Doe, as a sales rep, has access to applications A, B and C, can access the shared network directory X, and can print to printer Y. It also keeps his contacts and other personal details on file. When John logs onto the server, he finds these things (and only these things) accessible. If John got promoted, the server administrator simply changes his classification.
Directories are a convenient way for large enterprises to organize permissions and keep track of inventories and access controls for individuals. The best tools allow drag-and-drop style access to people, locations and resources.
Using and configuring them requires a bit of training, however, and they may not be necessary for small offices, where user mobility is not a great issue. In many cases setting user permissions in the desktop login may prove more fruitful - assuming you're using a desktop OS (such as Windows 2000 or XP) that has significant user permission controls.
What are appliance servers (and can they work for me)? (Back to contents)
Appliance servers, a.k.a. turnkey servers, can be a very simple way of providing for a small business's needs at low cost. The appliance server concept covers a range of ideas, but the fundamental idea is that you just plug them into the network, and voila! - you have a server. You administer the server by logging onto it with a Web browser, and clients can access it just as they would any other server.
Simplicity is the key to the appliance server. They come preconfigured for basic common services: usually file and print, DNS, gateway, e-mail, Web and caching. They're a good idea for a company with low technical expertise and little stomach for paying for it. They can't expand beyond their original functions (being, in effect 'closed boxes').
Sun's Cobalt servers are a good example of all-purpose appliance servers. Single purpose servers, such as appliance Web servers are far more common. Dell, IBM, Compaq, Mitac and other major vendors have ranges of appliance-like servers which perform single functions, such as the PowerEdge Web Servers and Tasksmart caching. Similarly, network attached storage devices like Quantum's Snap Servers could be considered appliance file servers.
Running a server OS: What do I do? (Back to contents)
Contractors are available for all major server OSes, including free platforms such as Linux and FreeBSD. They can give you advice on a suitable server for your needs.
A support contract is important in this circumstance. Look for uptime guarantees, support response times and availability. Make sure they document the installation properly (in case they suddenly disappear). Get several opinions from suppliers using different platforms and make sure that the product is suitably customised for your business. The server will need maintenance and patching, and proper security takes time to configure, no matter which platform is used.
Managing a support contract well can save you time and lot of headaches. It will also allow you to switch support providers at any time. Manage it badly, and you'll quickly find that your total cost of ownership starts to skyrocket.
|Server Operating Systems||Operating System||Company||Hardware Platform||No. of processors||Appropriate for:|
|Windows 2000 Server/Advanced Server/Datacentre||Microsoft||Intel/AMD||4 (Server)
|Small, medium and large servers|
|Windows Server 2003 R2 Standard/Enterprise/Datacentre/Web Server/Small Business||Microsoft||Intel/AMD & IA-64, Opteron for 64-bit versions of Windows Server 2003||4 (Standard)
Up to 8 (Enterprise)
Minimum 8, Maximum 64 (Datacentre)
|Small, medium and large servers|
|Linux (Red Hat, Mandrake, Debian, SuSE, etc.)||Open Source||Many (esp. Intel/AMD)||32 (Linux is readily used on more than 4 CPUs)||Small to large servers|
|FreeBSD 7.0||Open Source||x86, Alpha, IA-64, PC-98 and UltraSPARC||4||Small to large servers|
|Mac OSX Server v10.4||Apple||PowerPC with a G3, G4, or G5 processor (Apple)||2 (4 available later)||Small to medium servers|
|NetWare 6.5||Novell||Intel/AMD||32||Medium to large servers|
|Solaris 10||Sun Microsystems||Sparc, Intel x64 or x86||128||Medium to enterprise servers|
|HP-UX 11i v1.6 & HP-UX 11i v2||Hewlett-Packard||PA-RISC, Intel Itanium||64||Enterprise servers|
|IRIX 6.5||SGI||MIPS||64||Enterprise servers|
|AIX 5L 5.2||IBM||PowerPC (RS/6000)||32||Enterprise servers|