Thinking Outside the Box - Part 3 of 3
Real-World Server Applications for SBCs
Two of the most important applications for servers are not really tasks at all--they’re uptime and data redundancy. Here’s where SBCs can come to the rescue.
While we have multiple heavy-duty Intel servers in our server rack (PBX server, Windows server, Backup server), we also have multiple SBCs there as well (all running headless – no monitors):
- ODROID-XU4 in a CloudShell2 case
- Network file server with a redundant RAID array
- Primary database server for order fulfillment
- Secondary web server for order fulfillment
- File server for video surveillance system
- Web server for displaying video surveillance system timelines and videos
- Raspberry Pi (x3)
- Custom surveillance cameras that process video and only send interesting full HD @ 30fps video clips to the ODROID-U3, minimizing network traffic
- ODROID-XU4 #2
- Secondary database server for order fulfillment (with automated backups)
- Primary web server for order fulfillment
- ODROID-U2 #1
- Primary HR database server
- ODROID-U2 #2
- Secondary HR database server (with automated backups)
- ODROID-U2 #3
- Print Server
- Displays real-time fulfillment stats on 32" monitor in shipping area
- ODROID-U2 #4
- Print Server
- Research and Development server
Not only do these SBCs have a better uptime than at least the Windows-based Intel server (tested over a 4-year period), they also provide better access and redundancy. Note: All of the SBCs that can run eMMC storage are doing so as it is a more reliable storage medium.
One of the main worries of a “traditional” server is OS corruption, viruses/ransomware, and hardware failures. All of these concerns can be addressed by a proper SBC implementation plan.
As SBCs are so inexpensive, and Linux-based OSes are so flexible, it is relatively easy to set up a 2nd (and even 3rd) system as an exact duplicate of the primary SBC. Utilizing cron, it is also easy to back up data on these systems over the network on a schedule.
It is even possible to set up more than one SBC using the Ceph filesystem so that it acts as though it is a single SBC. Think of it as a RAID of SBCs.
A few things to note about this type of software. Viruses and Ransomware tend to target the most popular systems. Also, most of this malicious software arrives through email or web browsing. Users greatly reduce their “attack surface” for these types of software if they are:
- not using the most popular OS
- not using the system as an email or web browsing system
- using a properly configured firewall to protect the network
- using a system that is updated (especially as it is easy to update without downtime)
If a solid SBC strategy is implemented, one redundant SBC can be left offline and switched on only when another redundant SBC is taken offline.
Using the rotation approach as outlined in the above section, it is possible to have an archival SBC to use in a worst-case scenario. Because of the diminutive size, this SBC can even be placed in a safe-deposit box or another secure location when not in rotation in order to protect it from disasters such as fire, theft, etc. Try that with a full-sized server!
I trust that some of these ideas may break the mindset that computers need to be thought of as monolithic and expensive, and limited because of that.
As we open up our minds, we find that the possibilities are almost endless!