Stateless Linux

It’s almost nine months ago since I first read about red hat’s stateless linux project. As a firm believer in central management and dumb clients (dumb as in local configuration), I was quite enthusiastic about this.

When looking into how Windows networks and applications tend to be deployed these days, you can’t deny that Windows Terminal Servers and Citrix are quite hot. The principle is very simple: install an application once on a central server, and give users a dumb client to connect to it, so they can run their desktop remotely. Terminal emulation reinvented. The desktop and applications runs on the server, and only the visual screen is wat the clients get communicated. What You See Is really the only thing What You Get.
Now altough this is, from a network administration point of view, a wonderfull thing, there are some downsides to it:

  • You have to be online, whether that is on you LAN, or through a WAN, to connect to the terminal Server
  • If the server goes down, everybody goes down. But this is more a question of proper system administration.
  • Besides bandwith, performance relies 100% on the server, which needs to be a full-iron beast to support say 50 concurrent clients.
  • Very nice for backoffice applications, but don’t dream about running heavy graphical applications or other heavy workers. Even browsing web sites with a lot of pictures can be painfully slow. So be prepared to make exceptions and buy full workstations for you graphical people or developers.
  • Now this Stateless Linux project seemed to give some answers to that: everybody gets to keep their full client stations, with locally installed files, but the management still is centrally. In fact, what you get on you harddisk is only a cache!

    The Stateless Linux project is an OS-wide initiative to ensure that Fedora computers can be set up as replaceable appliances, with no important local state. For example, a system administrator can set up a network of hundreds of desktop client machines as clones of a master system, and be sure that all of them are kept synchronised whenever he or she updates the master system.

    To give an idea of the low temperature factor of this project, one can say this is, amongst others, about the ability to throw a computer out the window and then be able to recreate its software, configuration, and user data bit-for-bit identically on a new piece of hardware.

    Now since Havoc Pennington’s initial announcement, I didn’t hear much about that anymore. It seems at a point, red hat developers weren’t sure whether development would go on. But shortly after the anouncement of a Stateless Debian project, which seeks to cooperate with red hat, Havoc announced development will indeed go on.
    There are also some students at the Universiteit Gent who are setting up a fedora stateless environment. Read all bout it on their blog.

    Now if you followed me so far, you also might want to know about nomachine‘s NX server, which is Open Source and can be downloaded directly from NoMachine. You can test it here, which by the way is a very nice way to test a linux desktop. The NX server is a Terminal Server / Citrix implementation for Unix. Or probably better, for X-Windows. There is also a community project implementing it.

    Oh, and if you’re afraid to experiment with all separate clients for all the above technologies, you can check out ThinStation. Boot from cdrom. Also Open Source. Note that the open Source projects are the ones that give real interoperability.

    Update: spelling and grammar checkings, thanks to Bart.