It has been a few weeks since I got back from Bhagmalpur. Looking through pictures and notes, I realize that the choice of server hardware is one of the most critical choices when one is in the field and all constraints decide to bite at the same time. We use a FitPC for this project to run XS 0.6 school server. A couple of years ago, Ben Tran (one of my students at SF State) had run through a whole bunch of load tests on six different hardware platforms. He did this as part of his thesis project. FitPC was one of the six platforms (page 149). From his simulations (using Selenium and jMeter) we found the FitPC to be fairly ok in supporting basic loads for Bhagmalpur. After all, we weren’t thinking of doing any heavy lifting. It still runs Moodle on a PostgreSQL database, but we don’t in fact use Moodle in the traditional sense.
The FitPC box is great because it consumes only 8 watts of power. It is also small enough and has no moving parts (except the hard drive, but we are using a SSD, so everything is solid state). The body is made of aluminum and acts as a heat sink. At 64GB, the drive has enough space to host all TED Talks, some books, music, etc. and back up all the journals from the XO-1 laptops there. We use an external Wi-Fi AP (Ubiquiti Picostation2), powered by a Power over Ethernet (PoE) unit.
We power the FitPC using a setup of solar panels, batteries, invertors, charge controllers, and a spaghetti of wiring. As I was perched precariously on a stool, installing the school server in -1°C weather, it occurred to me: What if we could get a server that was hardy, had its own battery backup, had a charge controller to take input directly from a solar panel, and could manage to serve the entire community? Surely we must have something that fits the bill!
All said and done, the XO is a hardy platform that has its own battery backup, the EC to manage solar input, and a form factor that includes (unlike a Raspberry Pi) a keyboard, monitor and a touchpad. You can even hang it off a peg if you’d like! Need more storage? Use a SD card or a SSD in a USB enclosure, velcro’d to the back of the XO. Need an AP? Use a USB dongle and plug in anything that works for you. Sure the crunch of the AMD Geode on the XO-1 doesn’t leave much room for performance, but if all you are doing is serving files via Apache, its not bad at all. Of course, we also have XO 1.5, XO1.75 and soon the XO-4 as valid candidates.
To this end, I like where the XS Community Edition (XSCE) is going. A basic core plus optional add-ons built on top of a stable OLPC/Sugar release. Modular design, that allows for flexibility (add your own CMS, LMS, Book server). Best of all, the initial target is the XO 1.75. So far in the tests, the 0.21 build (Phoebe) seems to hold up fairly well. There is much work that needs to be done, but I think we are on the right track. The moment I get convinced that the server in Bhagmalpur can be replaced by a server on an XO, I’ll replace it. Until then, download, install, test. Repeat as needed.