If you are looking at deploying Linux to run mission-critical services in your enterprise, you'll need to make some important preparations. These steps are similar to any new software deployment; however, the open source nature of Linux software and the sometimes-complicated nature of Linux support leads to some additional requirements.
Step one: Select a single Linux distribution
As simple as it seems, this one step can save a monumental number of headaches. Because
there still is not standardization among Linux distributions (despite the
commendable efforts of the Linux Standard
Base project), administering the same software applications on different
Linux distributions can be very frustrating. Configuration files, binaries,
documentation, and other objects are placed in different locations in the
different Linux distros. These locations can also change between versions of
the same Linux distribution. Therefore, it's also best to standardize around a
single version number of a singe distribution. This standardization will be
especially helpful when you have applications or services that span multiple
Linux servers or when you are clustering multiple Linux servers.
As for selecting a distribution, this decision will be tied to both hardware selection, what applications you want to run on Linux, and the business requirements of your Linux project. The selection of a distribution will also be directly related to several of the other steps in this process. For a server deployment, industry leader Red Hat has a lot to offer. You can get it preinstalled on the servers of major vendors such as Dell, HP, and IBM, and Red Hat offers a number of ancillary support services that can make the next few steps much simpler. However, you should still consider other major Linux distributions and Linux hardware vendors, such as Suse, Penguin Computing, and Pogo Linux. These vendors could save you money or provide better integration depending on what app your running (such as an Oracle database) or the type of hardware you want (such as Linux clusters).
Step two: Develop a support plan
Linux has become renowned for its server stability, and Linux servers usually require
very little babysitting once they are properly configured. However, due to its
more customizable nature, Linux can also be more challenging to troubleshoot
and support than Windows server. Therefore, if you are going to be deploying
Linux for mission-critical services, you will need to carefully plan how you
will support it.
First, you'll want to look into signing a service agreement with Red Hat (if you choose their software), or another Linux vendor, based on the Linux distribution and server hardware you choose. Second, you and/or members of your staff will need to get educated about Linux. We'll cover this further in the next step. Third, you should locate and make contact with expert Linux consultants in your area. Although a service agreement and a well-trained staff should solve most of your problems, it's good to know that you can call on a hired gun to come in and make things happen if you're having problems resolving a difficult issue.
As part of your support plan, you should also make sure that the applications you want to run on Linux are supported on the hardware and Linux distribution that you chose because some apps are only supported by the vendor in specific configurations.
Step three: Get formal Linux training
If you commit to putting the Linux platform in your data center, you need to make sure that your staff can handle the routine maintenance and troubleshooting issues that will be part of a Linux solution. The best way to accomplish this is with formal training. Red Hat offers a wide variety of instructor-led training courses. Novell offers training for Suse Linux and Global Knowledge offers online and instructor-led training programs. There are also an increasing number of non-traditional courses using computer-based training and videos, although these should be approached with caution. Investing in training will often pay for itself since it will enable your staff members to troubleshoot the vast majority of common problems in-house. This will save time and productivity, as well as money for third-party technical support calls, depending upon your service agreement. Training will also allow your staff members to unlock Linux's extensive capabilities for customization.
Step four: Test your solution on a staging network
Whatever you plan to do with Linux, you will need to test it thoroughly on your staging/testing network before deploying it. By its very nature, the process of configuring Linux involves a good deal of trial and error. This is absolutely necessary in order to build a strong, stable Linux server. It also enables you to see how Linux will interact with other Windows, UNIX, and/or NetWare servers like the ones you may have on your production network.
Step five: Put a plan in place for keeping software up to date
This is an obvious step that still falls through the cracks in too many IT departments. Do yourself a huge favor and set up a solid policy for staying up to date with security alerts and applying the appropriate patches for your Linux servers (and it wouldn't hurt to extend this plan to your other operating systems either, if you don't already have an effective policy in place). Once you set up this policy, make sure it's given high priority. One of the best ways to accomplish this is to assign an employee or a team to check security alerts on a regular basis and provide a procedure for updating the Linux servers during a period of minimal business activity. Neglecting this step could leave your Linux servers vulnerable to becoming the plaything of hackers and script kiddies. Some vendors have begun to offer automatic updating services, such as the Red Hat Network. These services are definitely worth considering.
Bringing it all together
Hopefully, this five-step Linux deployment plan has demonstrated that there is much more
to an enterprise Linux deployment than just downloading or buying a Linux
distribution and installing it on an old server that's no longer powerful
enough to run Windows (that's the old philosophy for running Linux). A
deployment of stable, reliable Linux servers demands some strategic planning
and decision making.
As mentioned above, one of the most crucial decisions involves selecting a Linux distribution. Clearly, Red Hat (and Suse to a lesser extent) offers the most enterprise-friendly distribution, both in terms of the distribution itself and the ancillary services offered around it.
However, Red Hat's leadership position does not mean that you should fail to consider other Linux distributions and vendors that may provide excellent value and a good fit for your requirements. If you use the five steps mentioned here and analyze the requirements of your Linux project, you should have a good framework for selecting vendors and successfully deploying Linux in your organization.