Is it viable to run very lightweight services straight off a Raspberry Pi 2?

A few more reasons against I haven't seen yet.

Single company of failure. I could replace a Dell x86 with an HP fairly painlessly. I could not replace a rpi with a beaglebone black or other arm as easily, especially if I was using non-USB peripherals. It's not as easy as "plug in install disk and go." You need a plan for when they stop making or supporting your part. Embedded systems are not standardized like pc-compatibles.

No integrated server management. I mentioned it in a comment, but the lack of IPMI or similar is a pain; someone must physically be there to service it whether it is the middle of the night or on Christmas morning.

No hardware/OS support available. Have a problem running a COTS application? Driver issue causing crashing? You're probably on your own. Replace computer and/or application.

ARM architecture. If it's not FOSS, it probably won't run here. No driver blobs for many printers either.

SD/microSD-based storage. Try compiling something. Anything. Bring a book. This is a pretty big problem for any RDBMS with even low/moderate activity.


And now for something completely different.

Here are a few reasons you should use a raspberry pi as a server.

You have non-traditional requirements

  • You need a server that only runs on batteries.
  • You need a disposable server that you won't mind getting broken or lost.
  • You need a (cheap) server that is vibration tolerant.
  • You need a lightweight server.
  • You need a volumetrically small server.

Potential applications.

  • Your server must fly. By itself. You've got it mounted on an aerostat, a high altitude balloon, or a UAS. It coordinates with your Swarm-Drone OS and provides a convenient cli for multi-user remote control. All under 400' unless granted FAA clearance, of course.
  • Your server is actually an urban art project on the omnipresence of technology in modern life. It's ziplocked and taped to the apex of the clocktower where it will remain until someone goes up to scrape it off. It's about time the old tower was ntp-enabled anyway.
  • Your team takes words like "agile" and "velocity" way too literally. Your idea of a scrum is the 15 seconds it takes to make an 8-way skydiving formation and you only to commit to mercurial while moving >90mph. It's just easier if the server is moving at the same speed.
  • Your company is actually a band of nomads in the northern sahara providing IT solutions to other nomads. Everything must be solar-powered and pack on a camel.

I totally would not do this.

While my experiences with the RPI have been with the early model, I've had a fair number of installs die when the SD card got corrupted. The cards themselves seem fine, and I had it running well on an external HDD.

Secondly, there's a certain degree of false economy with systems like this - You'll need storage. oh, and maybe a USB hub and... yeah.

Thirdly the RPis are ARM-based systems. When you do outgrow them, you'll essentially need to reinstall and reconfigure most of your applications to move over to x86

The old model RPi was as slow as a one legged dog for many tasks as well. The new one's supposed to be better.

There's being frugal and right-sizing, and there's being silly.

For low end use, something NUC class, or for that matter a desktop class machine would give you more expandability, more speed, more ram, and when you do outgrow it, you can just migrate into a proper, no training pants server that runs the exact same software.

They are a little more expensive but you better storage options (SSDs or 2.5 inch drives, depending), more ram (I got 4 gb on my home server) a gigabit port that isn't hanging off the USB driver chip, handles reboots gracefully...

It's just a much better behaved system than my RPi was.


As the designers/manufacturer say: (emphasis mine)

The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It is a capable little computer which can be used in electronics projects, and for many of the things that your desktop PC does, like spreadsheets, word-processing, browsing the internet and games. It also plays high-definition video. We want to see it being used by kids all over the world to learn programming.

A Raspberry PI is not designed to be a server that reliably runs 24/7.

Of course you don't always necessarily need run your operations with specifically designed equipment but in a business environment the (always debatable) TCO calculation make that the hardware purchasing cost is still only a tiny fraction of the expense and often only a minor consideration. Even half an hour loss of productivity for an office of 25 people or a couple of hours tinkering by you as the hired sysadmin quickly adds up too...

In a small office a number of the light weight services are often already shifted to other devices, the router will already be capable of supporting a number related services (I.e. Firewall, DHCP, DNS, VPN), the multifunctional printer will already be running a its own print spooler, support wireless printing and a host of other features.

The remaining services that you might still want an on-premise server for probably do require more performance or reliability, I.e. RAID for a file server and more IO performance than you'll get out of an external disk connected by USB 2.0