This blog post is also available in PDF form as a TechRepublic download, which includes the sample Excel D.I.C.E. worksheet.
Your business has grown to the point where a few file shares on your desktops and a router giving you DHCP addresses is no longer sufficient. You need to move to a server-based environment, but how do you choose your operating system? There are so many OS choices available for your server.
The easiest choice for many companies is to go to with a Windows-based server system, as they already have Windows desktops. Maybe you've heard about Linux and the open source (and free) nature of that OS solution appeal to you. It could also be that you are a Mac shop, and OS X may be more appealing to you. Whatever your choice, it's wise to consider all the options. In this document, we use the D.I.C. E. framework to look at several criteria and look at the pros and cons of each of your potential solutions so that you can make the best choice for your business.
To help you apply the D.I.C.E framework, we have created a sample Excel worksheet that incorporates the framework described. The worksheet is available in the download version of this document. Enter your weighting for each of the categories in the worksheet and then rate the importance of each category for each product to get an indication of what server OS solution you should acquire. To make the D.I.C.E framework spreadsheet available to the most users, we have included an Excel 2003 and an Excel 2007 version of the worksheet in the download.
The initial difficulty will be to get the server up and running with the services you need. Assuming you've already determined exactly what functions you will need the server to perform initially, you can weigh your presumption of difficulty with the need to get those up and running. Most basic services (such as file sharing, DHCP, DNS, etc.) will either come already configured or can be easily configured once the server is installed. Other services, such as e-mail or an RDBMS, can be considerably more difficult to get operational. Depending on the server chosen, these services can either be part of the server operating system or may require an additional product that you must install and configure on top of the server OS. This will vary by product, but many products can be run on only one operating system, so this will play an important part in your choice.
Another factor to consider when examining the difficulty of a server OS is the difficulty users will have in accessing the server resources. In a perfect world, access to these resources would be automatic and hidden from users. While this may be possible to obtain for new users, your current user base will have to be migrated away from the way they are used to doing things. How hard will it be for your users to adjust to the new system? This is the factor that often causes businesses to stay with what they know. Integrating your users into a system that already matches the OS they are running on their desktops is generally easier than creating a mixed network. But the other benefits of a particular server OS may (and commonly do) outweigh this factor.
The investment you will need to make in your server OS choice has several factors to consider. The first and most obvious is the actual cost of the server operating system. Most have a purchase cost. Not only that, but many have additional charges for each user who connects to it.
While looking at this cost, you must also weigh the cost of support for the OS because, at some point, it is highly likely you will need support for your product. How much will that support cost you? Will you be able to buy it on an as-needed basis or will you need to purchase a support package? How reliable is the support?
Another factor in your investment is the hardware the server OS will run on. Will you be able to run it on hardware you already own? Will you need to purchase specific hardware from the manufacturer? Will you be able to get a discount on the cost of the OS itself if you buy hardware from a certain manufacturer? How much hardware will you need to run the services you require?
What do you need to do with your server? Are you going to be running your corporate Web site on it? Will you be using it for file shares? Do you want to authenticate users against it? Is the server OS you are buying capable of running with the number of users you have? Can it run any homebrew or third-party applications you depend on? You need to consider all of these things when looking at your new potential server OS.
Before you even begin shopping for a server OS, you would be well served by sitting down and writing out exactly what services you are looking for. If hosting your company e-mail is the most important factor to you, weight your choice based on which e-mail server best fits your needs. If it's file sharing, look to the server that can integrate the best with your desktops. You must make this choice based on your situation, but it's better to determine what you need first, so you will not be swayed by features you may not even use.
You know what you need now, but what about in a year, or five years, or even 10? How much will your user base grow? When you choose your solution for today, always keep tomorrow in mind. While you may need only a file server now, will you eventually want to host your own e-mail or your company Web site? Will your small database application need to grow to an enterprise class system? While you don't need to buy these things now, recognize that you will eventually need them and choose an OS solution that will grow with you as your company grows. Generally, this growth will cost you initially, but it is definitely worth paying a bit more now, instead of having to re-engineer your entire infrastructure when you grow past a certain point.
One thing you will notice in going through the D.I.C.E. framework is that I have put no weighting on any of the categories. This is because it is up to you to determine what your primary concerns and needs are. This is something you should decide before you even begin your search for a server operating system solution. Once you have that, you can apply the framework in whatever weighted manner you wish.