Choosing a Linux Pilot Project….

So what should you choose for a first Linux Project?  That really depends on how interested the company is in bringing Linux in house.  In a lot of cases, Linux is brought in simply because a solution requires it, so there are not a lot of choice of pilot projects.  For this article though we will describe a perfect world situation and assume that we are relatively free to do what we need to.

The first step will be getting the project approved.  In most companies, setting up a rogue system to prove that something will work is not acceptable so we suggest not attempting to go about your first Linux install this way.  The two main questions that we have experienced being asked by supervisors, and upper management are: 1) how can we trust it and 2) who are we going to sue when it all goes horribly wrong.  We will just ignore the fact that in all of our combined years in IT, the team has never been involved with, or heard of a company actually suing anyone over bad software.  It is something that people have a real fear about.  Ignoring it will not work in the long run no matter how great the opensource project goes.  So to mitigate it, the best strategy is to start with “supported” Distro’s and products.  These are things like RedHat Enterprise Server or Novell’s SuSe Linux Enterprise Server.  The reality is that many companies are developing appliance solutions and other general purpose devices that are running on Linux.  You may well have Linux in place already without even knowing it.  Linux is in everything from Stamping Press control systems, to Physical Security/Alarm Systems.  Anywhere you need a small OS with a selectable set of features that comes with no license fees you will likely find Linux there.  So, when selling the first project use this type of information.  It is our experience that this type of information, when given to skeptics, can reduce their resistance to Linux.  Get them to say, “I know that system and it runs great.  You mean it runs on Linux?” and you are more than half way home.  Even before you finish getting approved, start your planning.  Depending on the company you work for, this may have had to be done just to get things started.  Don’t take this step lightly and spend the time to do it properly.  Once everyone has an understanding of what your goals are, it will help to make you successful.  After you are approved the fun really begins.

Linux really shows what it can do when it is installed as a server.  Two of the areas that have the largest number of custom distro’s(short for distributions) are firewalls and LAMP/Web servers.  LAMP is an acronym for Linux, Apache, MySQL, and any of the development languages that start with P, like PHP, Perl, or Python.  Four independent pieces of software that can form the basis for a fully functional Linux server.  Unless you are an IT security or Networking expert, we would suggest that you not choose a firewall as a first project.  If you were doing a first project at home, then turning an old machine into a Smoothwall or other firewall distro is a great learning project.  Since we are discussing bringing in a pilot project up on your corporate network,  a great first project is an intranet or group website or a simple internal web application.

So what do we really need to do this?  To start, a machine, either virutal or physical.  The team here are HUGE fans of virtual servers.  A lot of this comes from the number of times a snapshot or quick restore from tape of a virtual machine has saved us hours or days of work.  The better corporate reason is that you can maximize your hardware and software investments.  When you want to pilot something like Linux or a LAMP stack, it let’s you dip your toe in without a new hardware purchase.  You will also need to download or purchase a copy of a distribution.  For a pilot project, I would generally suggest downloading a free distro like Fedora , CentOS, Ubuntu, or OpenSuSe just to name a few. Even better, are the large number of pre-made virutal machines that let you get up and running quickly, with a nearly complete and configured system.  If you want to build the server from scratch, or if your chosen appliance doesn’t have one, we suggest that you install a control panel like C-Panel or Webmin which can be a life saver for new admins.  These help flatten the learning curve while the new admins are coming up to speed.  WARNING:If you implement a panel of any type, paid or freeware, never put it exposed directly on internet.  There are plenty of articles about securing each of these choices.  Read several of them before placing or starting to administer a Linux machine on the Internet.

If you are doing an intranet, a website not shared outside of your corporate network, a content management system like Drupal, Word Press, or Joomula would be an excellent place to start.  They all come with some standard templates you can use to get up and running quickly without having to be an HTML or Web Guru.  They are all well documented with awesome communities behind them ready to help a newbie. (Newbie=someone new to the technology)  If you decide to take this project to the next level, these can all be easily customized to look and feel like your companies branding.  There are also plenty of developers willing to consult/contract with you to make your vision come to reality even faster.  These tools can be used by companies of all sizes.  If you get the right consultants or train up the right group of staff you can scale to amazing levels of con-current transactions and users.  All three of these have at least one VMware virtual appliance available if not an open standard virtual appliance file.  It should only take a few days to get one of these appliances up, working, and ready for content.  Even if you are installing from scratch, the time to get these wonderful FLOSS products up and running is generally less than a week or two for even first attempts.

If the Boss isn’t ready for an intranet yet, or if you have a well established one, a great second option is a wiki.  Think Wikipedia but focused on your company.  Where Joe and I work, we use the wiki for all kinds of collaboration.  From tracking and communication, to tracking the IP Addresses of servers and How To documents for installing the software we support, the uses just keep presenting themselves.  Wiki’s are like a virus in most of the environments we have heard about.  Once people get into the concept, it spreads like wildfire.  At most companies, IT has always had an issue with communications and collaboration.  Setting up a wiki gives people an easy, fast and effective place to share information about the how and why’s of IT decisions.  Three suggestions of Wiki software are Confluence, MindTouch and MediaWiki.  All three, like the content management systems, are realatively easy to setup and have very supportive companies and communities to help you resolve issues quickly and easily as they come up.  There are also VMWare images available for MindTouch and MediaWiki.  Confluence is a closed source product and does not have a free appliance available.  These are not the only products available and may not be suitable for all languages.

Both of these options provide you with a low risk and low cost project that has a huge potential and positive impact on the company or at least your department.  All of the products I mentioned have tools to dump your data back out that are either part of the product or provided by another project.  So you are not going to be locked into your choice if you need to change something at a later date.

The things to remember when executing on a pilot project are:

  1. Choose a low risk implementation
  2. Choose something that will get visibility in the user community
  3. Promote or be the evangelist for your project so everyone can get excited

Hopefully this will help you get things off on the right foot.  Linux and open source solutions should save you money and be more stable.  To assure that result, planning and goal setting for your pilot are the most important items that you will do.

(short for distribution)