Integrating Linux in the Enterprise [2007]

Introduction

This article focuses on the adoption and integration of Linux (in particular) and Open Source (in general) into the information systems environment. It concentrates on integration with Microsoft products within a heterogeneous environment rather than advocating a complete migration, especially onto the desktop.

Windows is, by far, the most widespread operating system by a large margin. It has gained, what some would call, "critical mass". This means that it is familiar to most users, has a solid support base and has a huge catalogue of compatible software programs.

Some of the drawbacks of Microsoft attaining this ubiquitous status include the need to remain compatible with legacy software, which definitely impacts on innovation. There is also the need to develop features to help inexperienced users perform their day to day tasks, this adds to creating an over-complex and ungainly operating system which then leads to myriad opportunities for bugs and security holes. It is apparent that some CIOs are becoming disillusioned with the lack of innovation, the increase in security issues and with ongoing licensing fees associated with Windows. Therefore, there is a mounting interested in viable alternatives.

To assume that Windows is the best operating system, simply based on its sales volume, is fundamentally flawed. This is definitely not a true indicator of its quality or suitability. Just because Windows has attained an almost monopolistic position does not automatically make it superior. It still has many shortcomings as an operating system. So, in order to compete, Linux should not necessarily try to be a better Windows or even a cheaper Windows; it needs to concentrate on becoming a much better operating system, with tangible business benefits.

The differences between Linux and Windows are Linux’s strengths as well as its weaknesses. There are few factors holding back innovation and it continues to evolve in response to market feedback. But this creates an operating system that has numerous incompatibilities with what a majority of computer users know—that being Windows. Nevertheless, there are ample benefits associated with the integration of Linux, especially in the server room. Notwithstanding the benefits and ease of integration in the server room, until certain strict conditions are met, Linux is not quite ready for wholesale deployment on the desktop.

Integration Benefits and Influences

The benefits of Linux have been apparent to the IT fraternity for some years. These benefits include; stability, security, flexibility, access to the source code, interoperability, code portability and low licensing costs. As a result, Linux has been very popular on the edge of the network in such roles as firewalls, proxies and web servers for just about as long. According to the latest Netcraft survey, Linux commands over 56% of the worldwide web server deployment. Its popularity in these roles has helped it to evolve into other more critical server tasks and, at the same time, towards the desktop.

Linux Evolution

Although we can see an evolution towards the desktop, it is important that most CIOs concentrate on gaining credibility for Linux in the server space—at least for the time being. Once it has established its credentials and the support personnel have gained sufficient experience with Linux, then it can be considered as a desktop replacements.

There are some very powerful alliances within the open source community to create some excellent and seamless solutions for the server space. One very popular collection of open source technologies has even been given a suitable acronym; LAMP, which stands for Linux, Apache, MySQL and PHP. These technologies work together to deliver a robust and flexible web development and delivery environment. This includes the operating system, the world’s most popular web server, a powerful database and a server-side scripting language to bring them all together. All of this is without any licensing fees.

Many Linux distributions have been developed to run on multiple platforms. Although the most popular platform is the 32-bit intel x86-based architecture (aka, IA-32), many distributions support the newer 64-bit processors, IBM’s PPC (found on previous generation Macintosh systems), SPARC and others. An out-of-the-box distribution also supports a wide variety of hardware; furthermore, and significantly, the kernel can be easily compiled for particular or specialised hardware configurations. This ability creates a smaller and much more efficient kernel, tailor made for the hardware it runs on. This is a feature that is not available on Windows, where it only provides a less efficient, generic installation designed to be compatible with a vast array of hardware (and legacy software).

Using a proprietary operating system and any associated corporate applications is usually related to a regular upgrade cycle. This may include on-going licensing fees. Because Linux (and Open Source) does not have licensing fees, as well as being very reliable and stable, the pressure to continually upgrade is significantly reduced. With Linux, many CIOs can ignore update opportunities until there is a tangible business benefits (mitigating the risks), not because the vendor creates a "required" upgrade.

Nearly all current Linux distributions provide native support for Windows networking. With Samba (or with NFS), Linux can grant seamless file and print server functions to Windows clients. Add in DNS, LDAP, DHCP, domain control, intranet service, email, proxy and firewall functions and Linux could completely replace Windows in the server room. This would be with little or no change to the desktop functionality or end user experience.

Linux is extremely scalable. At one end of the scale, it has been developed to run on myriad server hardware (including multi-processor systems and clusters). Down the other end, it runs on personal digital assistants, networking equipment and home appliances. Equipment manufacturers can download the Linux source code and easily tailor it to their specific needs and/or hardware. On the other hand, it is well known that Microsoft provides a considerable selection of server room products, but at the other end, Microsoft only offers Windows Mobile Edition written for PDAs and smartphones. Windows Mobile devices intentionally function in a similar way to a desktop Windows environment and vendors can write mini applications to run on them, however, the core operating system is proprietary and Microsoft dictate the features it includes or excludes.

Linux offers choice. Locking into a single vendor can reduce the flexibility of a system and prevent the implementation of the most appropriate solution. The mere notion of the "best" or most "appropriate" solution is still relatively subjective. But, in the face of such successes as Linux and Apache as a web server commanding over half of the world’s Web servers, one can only deduce that to use the proprietary Microsoft product is a result of standardising on a single vendor.

Because Linux is now more than 15 years old, its maturity and cost advantages have been recognised by educational institutions. As a result, many have adopted Linux and many more are either looking into Linux it or are in the process of adopting it. This has led to a growing band of graduates who are well-versed and experienced with Linux. There is an increasing number of Linux experienced professionals in the workforce, many of whom are extolling the virtues of Linux and are capable of supporting and leveraging it at many levels.

Drawbacks

The mere differences between Linux and Windows are always going to pose a problem. When introducing Linux to a Windows-only environment, it will be necessary to employ experienced support personnel in Linux as well as Windows. This is becoming less of an issue as Linux gains support in educational institutes. However, appropriate migration tools are also needed to ensure a smooth transition. Wisely, most of the Linux file formats are compatible with those of Windows, so the need is more about mutual access to the data. Linux includes a significant number of compatibility tools to allow access to Windows (such as samba). But, Windows accessing Linux is not so well supported and does need more development.

Linux still falls way behind in commercial application support. This is, according to Fink (2003), a result of the “classic chicken-and-egg conundrum”. Many organisations are waiting for applications to become available before they deploy Linux, while application developers wait for a larger Linux installation base to justify development costs. This conundrum is slowly eroding, however, mostly due to the popularity of solid products such as Apache.

Linux has only a few adequate management tools that integrate well with Windows. This is due to a lack of standards in managing user accounts from a central location, in the way Windows does. These important features are still being ratified and developed. There are a number of options that do a fine job of administering a Linux network, such as ZENworks Linux Management or Webmin ; however, these do not fully support Windows components in a mixed environment. A tool that can integrate all Windows and Linux network resource management is, therefore, a high priority.

The sheer number of Linux distributions can also be overwhelming for anyone considering Linux for the first time. There are over 1,000 different distributions of Linux available. If you were to take the time to study them, it would show that each has a particular focus, for example, desktop replacement, firewalls, network routing, engineering, software development, web services, file or print services, etc. This means that some distributions can be perfectly matched to solving specific IT problems. Be warned, though, if this ad hoc match-a-distribution-to-individual-problems strategy is undertaken, you may end up with what is known as distribution over-diversification (Lavanta, 2006). Even though all Linux versions are based on a common kernel, many distributions have branched off in various developmental directions. The main core developmental branches include Red Hat, Debian, Slackware and SUSE (among others). This has created a diversification in fundamental maintenance tasks such as application installation (RPM, YaST, yum and apt-get, for example) and patching techniques. This can cause considerable maintenance problems, especially if a number of these divergent distributions end up in the same environment.

On the other hand, to limit an organisation to just one distribution can hinder flexibility and prevent the use of best-of-breed solutions. This strict policy, also known as distribution under-diversification (Lavanta, 2006) may be a result of problems with a previous over-diversification situation and a need to simplify the organisation’s computing resources. Interestingly, many organisations using Windows are, by its very nature, in an under-diversified environment. Locking into the one vendor creates missed opportunities and much reduced flexibility.

Therefore, it is vital to assess each Linux distribution for compatibility issues with other distributions (and with Windows) to determine which suits your needs and then stay within that developmental branch. For example, Mandriva, Fedora Core or Red Flag are all based on Red Hat, while Linspire, Ubuntu, MEPIS, Corel Linux, etc. are based on Debian. These related distributions will share a common toolset.

Although Linux is an Open Source product and can be freely distributed without the need for ongoing licensing fees, it still has some financial impact on an organisation. The most obvious is training requirements and support costs. This is especially the case in environments trying out Linux for the first time. Many enterprise-ready distributions, such as Red Hat and Novell’s Suse Linux Enterprise offer on-going support options, with fewer offering support for a desktop distribution. In fact, Red Hat’s in-house development broke away from the home user distribution in late 2003. This was so they could concentrate on the corporate market. Because the Red Hat name had gained considerable credibility (via Bob Young’s successfully marketing), they retained it for their corporate product. Due to a faithful user base, rather than abandon the home consumer product altogether, Red Hat re-branded it as Fedora Core . They then released it back into the general development community and ceased direct support. This is a strong indicator that Linux is definitely ready for the server room, but still has a long way to go in gaining a significant percentage of the desktop market.

Implementation

Change within a complex information systems environment, inevitably, creates risks. The adoption of Linux is no different. A solid business case must be developed in order to justify these risks (and associated costs) to those executives that make the decisions. This step is crucial, according to Schwartz (2004). Ideological motivations or simply cost savings are not necessarily enough to convince most executives (especially in the face of the Microsoft marketing machine); therefore, a methodical and planned approach is vital.

The plan must start by assessing the viability of Linux within the existing environment. As a result, many questions need to be answered. Does the organisation have a heavy investment in customised applications? Does it use technology that is not designed for a Linux environment such as Lotus Notes groupware? Is existing hardware suitable and/or compatible with Linux (or will new equipment become necessary)? Can the integration be performed with minimal disruption to normal services? Which distribution/s of Linux should be assessed for use?

An improvised approach is bound to fail and could seriously jeopardise any future consideration of Linux in the organisation.

It is wise to start small and target non-mission-critical tasks in order to establish the credentials of Linux. Later on, this will make it easier to promote Linux as a viable alternative for the more important tasks that are usually dominated by Microsoft. Therefore, areas that should be targeted first are: intranet servers, firewalls, proxies and routers, etc. Linux is ideal in these roles as it can be scaled both vertically and horizontally to accommodate any future needs. Linux is also notoriously efficient on lower spec "commodity" hardware, so it can utilise older hardware and prolong its useful service.

If the existing environment uses Active Directory, the inclusion of Linux in the role of a DNS server is recommended. The Linux implementation of DNS follows the standards more closely than does Microsoft. Hence it is easier to maintain in an expanding heterogeneous environment.

According to Fink (2003), support for Linux continues to attract considerable debate. One side argues that "Linux is maintained and enhanced by a community of loosely coupled developers", therefore, guaranteed support is questionable. The other side of the debate argues that "since the code is available to all, anyone can provide support and that self-support now becomes a lower cost and more viable option". Both sides of this argument are valid. However, I believe that open source affords more flexibility. With appropriate skills and experience, pretty much anyone can provide support for Linux. This cannot be said for the core of the Windows operating system. It’s your choice whether to use an in-house developer or one of the supported corporate distributions.

Desktop Compatibility and Transition Options

When considering a migration to Linux on the desktop, there are a significant number of issues to overcome. Firstly, Linux is, by its very nature, different from Windows. There will be an associated acclimatisation period with a drop in productivity and commensurate increase in support requirements.

Secondly, there is the lack of availability and/or compatibility with some of the most popular Windows only applications. Nevertheless, there are some options to make the transition workable. Some allow the running of a virtual Windows environment, while others emulate compatibility. Then there are the open source applications that can run on both Windows and Linux (or even in a web browser).

Option 1: Virtual Machines, such as VMWare, Bochs and Win4Lin provide slightly different approaches to running a Windows operating system within Linux. VMWare is a well known commercial product, with excellent support and compatibility. Its only disadvantage is its cost. Win4Lin is slightly cheaper. Both VMWare and Win4Lin use the host hardware, whereas, Bochs is a full software emulator (allowing it to run on any Linux install, regardless of hardware). The drawback for Bochs is performance.

A word of warning with virtual machines: even with legitimately purchased Windows licenses, Windows Genuine Advantage (WGA) can be adversely affected when running on virtual machines, and may prevent Windows from running or, at the very least, updates and patches from being downloaded and installed.

Option 2: Windows API interpreters. These cannot be called "emulators" as they do not emulate, per se, they capture calls to the Windows API and interpret them into Linux executable code. Some examples include; WINE and CrossOver Linux (previously, CrossOver Office). These two interpreters allow Windows applications to run natively on Linux. WINE (at the time of writing) has some 6400 applications in its database. Not all of them work perfectly, but, as demand for each application increases, the WINE developers work on better compatibility and performance. Some important compatible products include MS Office 2003 and Adobe CS2. Nevertheless, the majority of effort seems to be in games, where there are over 1850 listed in the database. Crossover Linux, although similar to WINE, offers a number of different products that provide various levels of deployment and features, including a server version that emulates Windows Terminal Services.

Option 3: We have the native applications developed for Linux that provide a familiar interface and file compatibility with Windows applications. For Office compatibility, there is Star Office 8, from Sun, or the free version called Open Office 2.2. While Star Office is a fully supported commercial product, it is very affordable compared to MS Office. Open Office is free and is often provided with most Linux distributions. Both these products will save and load MS Office file formats. However, some features are not supported or are still being developed, such as macros. If MS Office macros are a substantial part of an organisation’s workflow, then this will pose a considerable problem when migrating to Linux.

Another benefit of these office products is their compatibility with the Windows OS. Each has a version designed for Windows, Linux and often, UNIX. A smart migration strategy to Linux could include a transition to the new Office suite on Windows prior to the OS transition to Linux.

There are a number of other quality products designed for both Windows and Linux. In a transitional plan, these could be adopted on the Windows platform to familiarise users prior to migrating to Linux. Some of these include; Mozilla Firefox (a browser), Mozilla Thunderbird (an email client), GIMP (graphics), GAIM (instant messaging), Skype (a VoIP soft-phone), etc.

Novell provides a product called Evolution as an alternative to Outlook. This will happily connect to Exchange servers (or to Novell’s own Groupwise) and provides all the features of Outlook, including calendaring.

The Future

Even a cursory investigation into Linux will show that it is abundantly capable in the server room and it is a viable alternative to the Microsoft offerings. I feel that it will continue to gain acceptance and credibility in this area for some time. This will help it to evolve and take on all aspects of network resource provision.

It is a little less clear as to what will happen with Linux on the desktop. From my investigations, Linux could readily and successfully replace a desktop environment in an organisation. However, this would only be under certain strict circumstances. Such prerequisites would be; readily available Linux experienced support staff, a low reliance on proprietary systems, fairly straightforward business needs and a controlled standard desktop environment policy. Linux is definitely capable of accommodating nearly all the staple business requirements. This includes e-mail, office productivity, networking, web access, databases, etc. If adopted for the desktop, methodically rolling Linux out one department at a time, will minimise organisational impact. Obviously, there would be an initial drop in productivity, but the transition would be achievable.

On the other hand, the wholesale replacement of Windows in the wider community is a little less likely. The desires of home users are limitless and much more diverse than in a controlled corporate environment. Home users want to be able to do what they like with their computer, without any restrictions. At this stage, Windows provides the least restrictions. A home computer, by definition, is predominantly used for leisure activities such as games, home video, digital photography and unregulated internet access. A check of the WINE development site shows that the majority of requests from Linux users are for games compatibility. The lack of native games for Linux is the foremost influence on this market segment.

Even if a home user is not a gamer, he or she will often require compatibility with what their peers are using. While Windows is the de facto operating system supplied with new computers, this situation will remain for some time to come. No doubt, the decision by Dell to offer Linux on some of their desktop systems will help to promote Linux. However, it will continue to attract mainly computer "enthusiasts" as opposed to mainstream home users. Many of these enthusiasts will still be required to retain some form of access to Windows for specific needs.

Due to the increasing interest in Linux within educational institutes, a snowball effect will result from the number of Linux experienced university graduates. These graduates will promote the merits of Linux in their places of employment and those who succeed will generate more interest in other educational institutes.

The increasing demand for computing resources in developing countries is a driving factor behind a surge in Linux adoption. Such initiatives as the OLPC (One Laptop Per Child) are gaining momentum. Although Microsoft has attempted to accommodate this market (with a dramatically cheap licensing deal for a cut down version of Vista and for Office 2007), its operating system requires significant hardware power to run. Linux, on the other hand, is ideally suited to low specification hardware (so older computer technology can be utilised), it is free of any licensing fees (even the low $US3 Microsoft proposed for its OS) and includes most of the productivity software that these emerging users will need. This is where Linux will shine as a desktop environment. These users have not been exposed to any previous OS, do not have the financial resources for a commercial alternative and will grow up with Linux as the only OS they know.

There is no doubt that Linux is not going to go away. It has many benefits and in the right context it is the ideal solution. In developed countries, it is becoming easier to justify in the enterprise, especially in the server space; even to the most reluctant decision-makers.