Previously, I provided several options for organisations wanting to update their current Windows XP environment to a free and open source (FOSS) environment rather than a more recent Microsoft platform when Microsoft officially abandons its venerable Windows XP in April 2014.
On to the next challenge: once you've decided your organisation can be productive with a FOSS environment, you have to work out how to set-up and maintain it.
Many people think that Microsoft invented the idea of 'enterprise computing'—large deployments of computers managed in bulk by a small number of system administrators on behalf of users in an organisation. That credit should go to UNIX, a family of proprietary enterprise computer systems.
Linux, the most widely used FOSS operating system, was built on the same design philosophy as UNIX. The network models I describe below all assume a network of desktops built around one or more Linux servers.
Network storage and identity management
The traditional organisational network consisting of individual desktop computers using centralised authentication to manage access and centralised network storage for important data, is easy to set up in a FOSS world.
User management and authentication are generally achieved via either a system called Samba or OpenLDAP where network file storage is typically handled by the (network file system) NFS or by Samba as well. In this scenario, users log in with their user name and password on any desktop, and get their own desktop and files, and access to resources like printers, scanners, and email systems. All important data, both organisational and personal, is stored on the server, meaning only one system needs to be backed up.
This is the most flexible and highest performance model from the users' point of view, but requires that you maintain a large number of relatively powerful (and expensive) desktop computers. Since they focus resources at the desktop level, they're sometimes referred to as 'fat' clients.
To reduce your maintenance requirements, you can instead configure your desktops to boot from boot-images stored on your server rather than local hard disks. I call these 'chubby clients' because they can be diskless, depending on centralised functionality on the network, but still running applications locally.
This approach simplifies configuration—upgrading the central boot-image means each computer will be 'upgraded' the next time it boots. Similarly, you can ensure a uniform set of application is available to each user—none of the user's 'personality' is stored on a specific machine. The only potential downside is that these desktops are dependent on a functioning network.
If you want to minimise maintenance requirements, you can go one step further towards centralisation by turning some desktops into 'thin clients' which are a window into the capabilities of your central server. Linux supports thin clients out-of-the-box via LTSP.
With today's typically fast networks, these solutions are low cost, low maintenance and offer superb performance. A single commodity Linux server, comparably in price to a high-end desktop, can happily support dozens of thin clients where each consists of very low cost desktop terminal hardware, a screen, keyboard, and mouse.
For those who haven't had the pleasure of seeing them in action, here are four widely used FOSS desktops, in their default configurations:
The General Image Manipulation Program (GIMP) and LibreCalc Spreadsheet on the Cinnamon desktop
Firefox and the Ubuntu Software Centre on the K Desktop Environment
Firefox, System Settings, and the Nautilus filemanager Unity desktop
LibreWriter, Nautilus filemanager, and software updates Gnome 3 desktop