Can a Raspberry Pi 4 function as a server?
Since it’s launch in June, many people have been wondering whether a Raspberry Pi 4 can take on the role of a small server. With 2gb or 4gb of RAM now available on the boards, and a significantly faster Arm processor than the previous model, a Raspberry Pi 4 Server is absolutely possible!
Longtime followers will know that miniNodes has been hosting Arm Server single board computers for years, and may already realize that our current Raspberry Pi Servers are typically sold out. Demand for them has always exceeded our capacity (sorry about that!), and customers have realized that they function great as lightweight servers for certain use-cases. Testing code and applications on Arm processors for compatibility, running simple services that don’t need a lot of CPU / compute power, early IoT product development work, Edge node and gateway workload testing, and bare-metal (non-shared) access are some of the reasons users have been drawn to our hosted Raspberry Pi’s. However, the capability of the nodes is certainly modest with their 1gb of RAM and Cortex A53 cores.
Enter the Raspberry Pi 4 Server
The Raspberry Pi Foundation caught the world by surprise when it released the new Raspberry Pi 4 board a few months ago. As mentioned, it came with increased RAM, a faster processor, gigabit networking, and USB 3.0 ports. These upgrades directly addressed the performance and connectivity shortcomings of the previous generation, though “shortcomings” is probably unfair when talking about a computer the size of a credit card and costing only $35. However, with these new components, the Raspberry Pi 4 is a very capable machine, and more specifically with a quad-core Cortex-A72, 4gb of RAM, and USB3 attached storage it is certainly able to fulfill the role of a small server. Content and data caching, IoT data collection and aggregation, extreme-edge compute environments, small office branches, archival storage, email relaying, (small) in-memory NoSQL datasets, and many other purpose-fit workloads are entirely possible!
As also mentioned, miniNodes has been involved in the Arm Server ecosystem for many years, and we have a lot of experience with the challenges of hosting single board computers. The biggest issue for most long-term Raspberry Pi users, and other similar SBC’s without onboard storage, is that SD Cards wear out and fail. SD Cards were never designed to have constant and continual reading and writing, such as occurs when a full operating system is installed and running on them. SD Card failure leads to the Pi crashing, with potential for data corruption and data loss. Another major hurdle when deploying Raspberry Pi’s in a cloud hosting environment is the lack of native management, remote console access, or other typical hardware control mechanisms found on traditional servers. In fact, even placing single board computers in a datacenter is a challenge, with voltage, physical dimensions, port placement, and cabling very different from a standard 1U or 2U server chassis.
But, with some creative engineering and subject matter expertise, miniNodes is going to address these challenges and build an infrastructure to allow the Raspberry Pi 4 and other single board computers to function in a cloud server capacity that is similar to the user experience developers are already familiar with.
(Small) Arm Cloud Servers
It will take a few months, and some trial and error along the way, but our current plan is to tackle each previously identified challenge and come up with a solution that is both scalable and customer-friendly. First and foremost, we need to move storage off of the SD Card, and onto a more robust medium. Thus, a new NAS system (also running on Arm!) is being developed, where each node’s OS will live, allowing higher performance, greater reliability, and data replication. Next, the ability to remotely power cycle nodes is being built, by a power distribution and relay that can change states upon user command. Cabling, cooling, and rack mounting are also under active development, with power, networking, and the physical layout of the boards in a 2U server chassis being optimized.
A lot has been written about the heat produced by the Pi 4, and placing lots of them in a server chassis is not going to help, so we are doing careful analysis of the thermal properties of the boards, and experimenting with heatsinks and fans, as well as the placement, direction, and airflow across the boards in the chassis. Internal temperature monitoring (and alerting) is also being developed for the chassis, to ensure intervention can occur if needed.
Here are some of our first experiments with cooling solutions:
Finally, a complete re-architecting of the miniNodes website and management portal is needed to interface with the new components, so a website rebuild and a new user interface will be rolled out as well.
These exciting changes will result in a better customer experience, improved products and services, and higher performing nodes. We’ll keep this blog updated with the latest information and developments (and lessons learned) as we continue to make progress on the project, but early estimates are that we will be ready for launch sometime in Q1 2020. As much as we’d like to offer our Raspberry Pi 4 Servers sooner, we want to make sure we do it right, and are able to give customers an improved service to go along with the improved boards.
Stay tuned, and, if there are other Arm devices you’d like to see included, just let us know. You can find us tweeting here https://twitter.com/mininodes, or, just shoot an email to info at mininodes.com.