Researchers from the University of Glasgow have linked 56 Raspberry Pi computers sitting in racks made from Lego to create a mini cloud computing platform modelled on those run by Amazon, Google and Microsoft.

The platform is designed to give students an insight into the architecture of today's major cloud platforms – whose inner workings are often hidden from view.

"For an initial investment of less than £4,000, we've been able to build a Linux-based system which allows researchers and students complete access to a working cloud computing infrastructure at a tiny fraction of the cost of its commercial equivalent," said Dr Jeremy Singer, of the university's School of Computer Science.

Sitting in just four small lego racks the Pi cloud may be one of the few cloud platforms that you can carry under your arm.

"One of the great things about the Pi cloud is that it's portable. We can literally pick a chunk of it up and take it directly into lectures to do live demos," said Dr David White, of the University's School of Computing Science, adding the platform is used to teach about software deployment and networking.

"To do something like this using x86 nodes would be much more expensive but we would also be restricted to putting it in a machine room and at that point you've lost the hands-on teaching aspect and the portability.

"The main purpose is to build something that is logically similar and not computationally similar. Obviously pound for pound and watt for watt you'd be much better off building an x86 cluster if you wanted to do computation."

Published: June 11, 2013 -- 15:44 GMT (08:44 PDT)

Caption by: Nick Heath

The cloud platform primary purpose is as a teaching tool. Some of the students were tasked with helping to build the infrastructure as part of their final year project for master's degrees. Other students have been carrying out research projects, programming in Python to build RESTful web interfaces to control routers, as well as developing tools to investigate what's going on in the system.

The Raspberry Pi cloud gives students a better understanding of the workings of cloud platforms than the software models the university was previously using.

"The Pi cloud gives student the opportunity to build and change the infrastructure or change the networking in a way we can't do without having physical access to a datacentre," said White.

The platform's network is configured to mimic that of a cloud platform, with top of rack switches connected to the 14 Pi boards in each lego rack.

The university is also running OpenFlow software on the routers and switches to virtualise the network layer. Using OpenFlow has allowed Mac address-based routing, rather than IP-based, which makes it easier to migrate virtual containers between racks.

Published: June 11, 2013 -- 15:44 GMT (08:44 PDT)

Caption by: Nick Heath

Work building the Pi platform began in September last year. The platform has four Lego racks, each containing 14 Model B Pi boards. The boards are powered by USB hubs, and linked by Netgear ethernet switches and various routers. An attached x86 box acts as a software repository and a control node.

The Pi cloud's virtual layer is based on LinuX Containers (LXC). LXC provide a way of running multiple Linux systems on a single Linux kernel. Each container or system has its own file system, as well as process and network space, but is not a full virtual machine. LXC was chosen due to its lightweight memory footprint being a good fit for the Pi's 512MB of RAM.

Each Pi can host three containers running Debian Wheezy, making a total of 168 containers. Students have been experimenting running light HTTP web servers, benchmarking tools and other software inside the containers.

Published: June 11, 2013 -- 15:44 GMT (08:44 PDT)

Caption by: Nick Heath

The array of weedy, lower power Arm chips in the Pi cluster has similarities with the architecture of microservers beginning to find their way into datacentres, said White.

"Energy efficiency is a big issue in cloud right now. Perhaps Arm is going to have more of a say in cloud infrastructure in the future and this is an example of running a Pi cloud off a single plug socket."

Published: June 11, 2013 -- 15:44 GMT (08:44 PDT)

Caption by: Nick Heath

Eventually White hopes to scale the platform to 1,000 Pi boards, so as to better represent the architectures of platforms run by the likes of Amazon Web Services.

"We've got 56 nodes now, I'd love to see a Pi cloud with 1,000. The nice thing about going up to that scale is it would allow us to have much higher volumes on our network and more complex architectures. We don't have multiple clusters interacting at the moment which we would really like to see," he said.

"If you're using a simulator to teach or just letting students use AWS you don't realise the practical and technical issues that these big providers have to solve, the low level hacking that's involved in making these things run well. Moving it to a larger scale might expose further issues, such as network bottlenecks."

As well as running a cloud platform on the cluster the researchers are also experimenting using it to run Hadoop natively.

The project has been supported by the university's Learning and Teaching Development Fund. More information on the Raspberry Pi Cloud project is available here.

Meet the cloud platform made of Raspberry Pi and Lego: The cloud you can carry in your hand

A virtual platform has been built by researchers at the University of Glasgow using a Raspberry Pi cluster to help them learn about the inner workings of major cloud platforms run by Amazon and Google.

Read MoreRead Less

Work building the Pi platform began in September last year. The platform has four Lego racks, each containing 14 Model B Pi boards. The boards are powered by USB hubs, and linked by Netgear ethernet switches and various routers. An attached x86 box acts as a software repository and a control node.

The Pi cloud's virtual layer is based on LinuX Containers (LXC). LXC provide a way of running multiple Linux systems on a single Linux kernel. Each container or system has its own file system, as well as process and network space, but is not a full virtual machine. LXC was chosen due to its lightweight memory footprint being a good fit for the Pi's 512MB of RAM.

Each Pi can host three containers running Debian Wheezy, making a total of 168 containers. Students have been experimenting running light HTTP web servers, benchmarking tools and other software inside the containers.