OpenCloud (Academic Research) Mesh

Note: When we had to pick an open source cloud computing platform at the start of our research, we dug for some time to pick the one that would better match with our planned activities. We chose ownCloud and explained our choice in a previous post, so as some identified limitations linked to it. Early this year came this announcement by ownCloud that it will initiate “Global Interconnected Private Clouds for Universities and Researchers” (with early participants such has the CERN, ETHZ, SWITCH, TU-Berlin, University of Florida, University of Vienna, etc.) So it looks like we’ve picked the right open platform! Especially also because they are announcing a mesh layer on top of different clouds to provide common access across globally interconnected organizations.

This comforts us in our initial choice and the need to bridge it with the design community, especially as this new “mesh layer” is added to ownCloud, which was something missing when we started this project (from ownCloud version 7.0, this scalability became available though). It now certainly allows what we were looking for: a network of small and personal data centers. Now the question comes back to design: if personal data centers are not big undisclosed or distant facilities anymore, how could they look like? For what type of uses? If the personal applications are not “file sharing only” oriented, what could they become? For what kind of scenarios?

 

OpenCloudMesh_4.0_150dpi

Cookbook > Setting up your personal Linux & OwnCloud server

Note: would you like to install your personal open source cloud infrastructure, maintain it, manage your data by yourself and possibly develop artifacts upon it, like we needed to do in the frame of this project? If the answer is yes, then here comes below the step by step recipe on how to do it. The proposed software for Cloud-like operations, ownCloud, has been chosen among different ones. We explained our (interdisciplinary) choice in this post, commented here. It is an open source system with a wide community of developers (but no designers yet).

We plan to publish later some additional Processing libraries — in connection with this open source software — that will follow one of our research project’s objectives to help gain access to (cloud based) tools.

Would you then also like to “hide” your server in a traditional 19″ Cabinet (in your everyday physical or networked vicinity)? Here is a post that details this operation and what to possibly “learn” from it –”lessons” that will become useful when it will come to possible cabinet alternatives–.

Setting up our own (small size) personal cloud infrastructure. Part #3, reverse engineer the “black box”

 

At a very small scale and all things considered, a computer “cabinet” that hosts cloud servers and services is a very small data center and is in fact quite similar to large ones for its key components… (to anticipate the comments: we understand that these large ones are of course much more complex, more edgy and hard to “control”, more technical, etc., but again, not so fundamentally different from a conceptual point of view).

 

SONY DSC

Documenting the black box… (or un-blackboxing it?)

 

You can definitely find similar concepts that are “scalable” between the very small – personal – and the extra large. Therefore the aim of this post, following two previous ones about software (part #1) –with a technical comment here– and hardware (part #2), is to continue document and “reverse engineer” the set up of our own (small size) cloud computing infrastructure and of what we consider as basic key “conceptual” elements of this infrastructure. The ones that we’ll possibly want to reassess and reassemble in a different way or question later during the I&IC research.

However, note that a meaningful difference between the big and the small data center would be that a small one could sit in your own house or small office, or physically find its place within an everyday situation (becoming some piece of mobile furniture? else?) and be administrated by yourself (becoming personal). Besides the fact that our infrastructure offers server-side computing capacities (therefore different than a Networked Attached Storage), this is also a reason why we’ve picked up this type of infrastructure and configuration to work with, instead of a third party API (i.e. Dropbox, Google Drive, etc.) with which we wouldn’t have access to the hardware parts. This system architecture could then possibly be “indefinitely” scaled up by getting connected to  similar distant personal clouds in a highly decentralized architecture –like i.e. ownCloud seems now to allow, with its “server to server” sharing capabilities–.

See also the two mentioned related posts:

Setting up our own (small size) personal cloud infrastructure. Part #1, components

Setting up our own (small size) personal cloud infrastructure. Part #2, components

Virtualization

Virtualization, in computing, refers to the act of creating a virtual (rather than actual) version of something, including but not limited to a virtual computer hardware platform, operating system (OS), storage device, or computer network resources.

Virtualization began in 1960s mainframe computers as a method of logically dividing the mainframes’ resources for different applications. Since then, the meaning of the term has broadened.[1] 

… it continued and now this concept and technology is widely used to set up system architecture within data centers. Virtualized (data) servers populate physical servers. A well known company that is specialized around these questions is VMware.

Toward OwnCloud Core Processing Library

The purpose of the OwnCloud Core Processing Library is to give the possibility to program “cloud functionalities” within a well known and simplified designer oriented programming language (and community): Processing.

 

Therefore, the OwnCloud Core Processing Library linked with our personal cloud merges the Open Collaboration Service (OCS) Share API with higher level functions in order to implement seamlessly “search&share files” applications written in the well known designers oriented Processing programming language. This will soon become available to everyone on the I&IC website. The workshops we are currently running / will run during the coming weeks are helping/will help us fine tune its functionalities.

 

The OwnCloud Core Processing Library allows the automation of the action of sharing files and the action of file tagging within an open source OwnCloud environment. Search&Sharing tasks can be threaded and/or interdependent, everything depending on the kind of results expected from one application to another. Thus, these actions can be driven by unmanned processes, decision-making (copy, delete, share one or several files) based on related metadata (i.e. metadata relation/link) or based on external data, dug from the Internet or networked/connected items/things.

Comments on: Setting up our own (small size) personal cloud infrastructure. Part #1, components

Following Patrick’s post about our different options for choosing a “Cloud” software and the one that we finally made by choosing ownCloud. Here are a few related comments that develop our point of view and technical choices.

ArkOs, Openstack and RiakCS all take the hand over an entire server/system/computer, offering a kind of embedded linux system within a human-friendly interface, the kind of mechanism one can find on ready-to-use NAS (Network Attached Storage) hardware.

Basically, it transforms any regular computer into a NAS device. One of the key points about the structure we are trying to setup is to be able to host anything we would like/need or may appear interesting to probe. That includes our own website(s), web services in order to feed projects with data and any kind of applications that may be useful to try and develop within the frame of this research.

We do need therefore to keep the research server as generic as possible by using a normal linux distribution, which we can then enhance by any set of additional services. While ArkOS, Openstack and RiakCS are of course interesting projects, at some point, it may become already too specific for our goals.

 

iic_server_05m

 

Owncloud appears to be a simple web site structure dedicated to file sharing. As mentioned in my previous post, Owncloud proposes a set of APIs that allow the access to Owncloud features while being able to develop our own applications. Thus, these applications can rely on Owncloud while being hosted on a heterogeneous set of devices, network connected.

Setting up our own (small size) personal cloud infrastructure. Part #1, components

On the way to the development of different artifacts for the design research (Inhabiting & Interfacing the Cloud(s)), we’ll need to work with our own “personal cloud”. The first obvious reason is that we’ll need a common personal platform to exchange research documents, thoughts and work together between the different (geographically distributed) partners involved in the project. We are thus our own first case study. The second one is to exemplify the key components about how a small data center / cloud infrastructure might be assembled today and learn from it.

But then, more importantly, this will become necessary for two other main objectives: first one is that we would like to give access to “cloud” tools to the design, architecture and makers communities, so that they can start play and transform a dedicated infrastructure (and this won’t of course be possible with all type of systems); second one will possibly be for the “hands on” and “prototyping” parts of our research, for which we’ll need an accessible cloud based architecture to modify or customize (this includes both the software and hardware), around which some open developments, networked objects, new interfaces, apps, etc. could be developed.