End User-Managed Service Deployments in Microclouds at the ...

2
End User-Managed Service Deployments in Microclouds at the Network Edge Felix Freitag * , Leandro Navarro * , Mennan Selimi *† , Roger Pueyo Centelles * * Universitat Polit` ecnica de Catalunya, BarcelonaTech, Barcelona, Spain Max van der Stoel Institute, South East European University, North Macedonia Abstract—Cloud computing is moving from data centers to the network edge. Edge computing introduces lightweight computing devices closer to where data are produced. Local processing enables faster response times for cloud-based services. In this approach, however, cloud elasticity still lies in the data center and not at the edge, and an edge device cannot run services locally beyond its capacity. In this paper we present microclouds as an end user-managed infrastructure built from low-cost home servers leveraging PaaS and SaaS at the network edge. We discuss the following aspects: 1) the microcloud platform architecture and the facilities it offers to the users to manage their services and applications, 2) support services to enable the microcloud provision, and 3) of a number of decentralized applications and their potential to support service provision in microclouds. Index Terms—edge cloud computing; decentralized computing infrastructures; I. I NTRODUCTION In this paper we present a practical implementation of the concept of an end user-managed edge cloud computing infras- tructure by showing that, in home servers running the Cloudy platform 1 , end users can deploy services and applications and share them with other users as a microcloud at the edge. Commercial edge computing extends cloud computing ser- vices in data centers by means of additional edge devices located close to where the data are produced. Pre-processing in these devices allows to improve the response time of cloud- based applications by taking advantage of their proximity. In this architecture, data centers have control on the resource elasticity characteristic of cloud computing, but edge devices have a finite capacity and cannot elastically adapt to workloads which exceed their capacity. In the microcloud approach, edge device elasticity is achieved by integrating distributed edge resources and services into a horizontal edge computing infrastructure [3]. Compared to data center-based edge computing, an increased level of re- source elasticity at the network edge is achieved. Microclouds can be considered as a class of decentralized edge clouds [2]. In this paper we show how in these edge microclouds services and applications can be managed by end users. These microclouds are built with the Cloudy platform and they have been deployed in the Guifi.net 2 community network [4]. 1 http://cloudy.community/ 2 http://guifi.net/ II. PRACTICAL MICROCLOUDS We demonstrate microclouds built from home servers by showing a microcloud deployment in the Guifi.net community network. Community networks are computer networks built by local communities in which individual citizens contribute off- the-shelf networking and computing devices. The networking capability of each device is shared, which allows to form a computer network which every member can use. Guifi.net is of one of the largest community networks in the world, with thousand of nodes and tens of thousands of users. The networking hardware is often low-cost routers that interconnect different geographical locations. In addition, sev- eral participants of the community network run low energy consuming home servers (several examples are depictedd in Figure 1), which help to monitor the network and allow the participants to run applications –not only for personal use, but also to support the network management, and even to be shared with other participants. Fig. 1. Cloudy nodes built with different x86 embedded and mini-PCs. These de-centrally managed and diverse home servers, when running the Cloudy software platform, are the target to be interconnected by software services to form a microcloud. Hence, the hardware devices in this microcloud are hetero- geneous. They include, for instance, Raspberry Pis, x86 mini- PCs such as Minix nodes 3 , and some desktop PCs. The nodes of the microcloud are geographically distributed over the community network. Principally, nodes can be located 3 http://minix.com.hk/products?category=9830

Transcript of End User-Managed Service Deployments in Microclouds at the ...

Page 1: End User-Managed Service Deployments in Microclouds at the ...

End User-Managed Service Deployments inMicroclouds at the Network Edge

Felix Freitag∗, Leandro Navarro∗, Mennan Selimi∗†, Roger Pueyo Centelles∗∗ Universitat Politecnica de Catalunya, BarcelonaTech, Barcelona, Spain

† Max van der Stoel Institute, South East European University, North Macedonia

Abstract—Cloud computing is moving from data centers to thenetwork edge. Edge computing introduces lightweight computingdevices closer to where data are produced. Local processingenables faster response times for cloud-based services. In thisapproach, however, cloud elasticity still lies in the data centerand not at the edge, and an edge device cannot run serviceslocally beyond its capacity. In this paper we present microcloudsas an end user-managed infrastructure built from low-cost homeservers leveraging PaaS and SaaS at the network edge. We discussthe following aspects: 1) the microcloud platform architectureand the facilities it offers to the users to manage their servicesand applications, 2) support services to enable the microcloudprovision, and 3) of a number of decentralized applications andtheir potential to support service provision in microclouds.

Index Terms—edge cloud computing; decentralized computinginfrastructures;

I. INTRODUCTION

In this paper we present a practical implementation of theconcept of an end user-managed edge cloud computing infras-tructure by showing that, in home servers running the Cloudyplatform 1, end users can deploy services and applications andshare them with other users as a microcloud at the edge.

Commercial edge computing extends cloud computing ser-vices in data centers by means of additional edge deviceslocated close to where the data are produced. Pre-processingin these devices allows to improve the response time of cloud-based applications by taking advantage of their proximity. Inthis architecture, data centers have control on the resourceelasticity characteristic of cloud computing, but edge deviceshave a finite capacity and cannot elastically adapt to workloadswhich exceed their capacity.

In the microcloud approach, edge device elasticity isachieved by integrating distributed edge resources and servicesinto a horizontal edge computing infrastructure [3]. Comparedto data center-based edge computing, an increased level of re-source elasticity at the network edge is achieved. Microcloudscan be considered as a class of decentralized edge clouds [2].

In this paper we show how in these edge microcloudsservices and applications can be managed by end users. Thesemicroclouds are built with the Cloudy platform and they havebeen deployed in the Guifi.net 2 community network [4].

1 http://cloudy.community/2 http://guifi.net/

II. PRACTICAL MICROCLOUDS

We demonstrate microclouds built from home servers byshowing a microcloud deployment in the Guifi.net communitynetwork. Community networks are computer networks built bylocal communities in which individual citizens contribute off-the-shelf networking and computing devices. The networkingcapability of each device is shared, which allows to form acomputer network which every member can use. Guifi.net isof one of the largest community networks in the world, withthousand of nodes and tens of thousands of users.

The networking hardware is often low-cost routers thatinterconnect different geographical locations. In addition, sev-eral participants of the community network run low energyconsuming home servers (several examples are depictedd inFigure 1), which help to monitor the network and allow theparticipants to run applications –not only for personal use,but also to support the network management, and even to beshared with other participants.

Fig. 1. Cloudy nodes built with different x86 embedded and mini-PCs.

These de-centrally managed and diverse home servers, whenrunning the Cloudy software platform, are the target to beinterconnected by software services to form a microcloud.Hence, the hardware devices in this microcloud are hetero-geneous. They include, for instance, Raspberry Pis, x86 mini-PCs such as Minix nodes 3, and some desktop PCs.

The nodes of the microcloud are geographically distributedover the community network. Principally, nodes can be located

3 http://minix.com.hk/products?category=9830

Page 2: End User-Managed Service Deployments in Microclouds at the ...

at the premises of the users/contributors. Nowadays, there arearound 30 devices connected to this microcloud in Guifi.

III. SERVICE AND APPLICATION MANAGEMENT

Cloudy is meant to run on home servers. It integratesSerf [4], a gossip-based distributed software for exchangingmessages, so that servers interconnect with each other to forma microcloud. In Linux distributions such as Ubuntu, Raspbianor Debian, end users can install the software for devices tobecome a Cloudy node by following the instructions given inthe Cloudy repository. 4

Once installed, users operate with Cloudy through a webGUI. Most services are provisioned as Docker containers. Forservice management, Cloudy provides several options: 1) pre-defined applications which users can run as Docker contain-ers by clicking through Cloudy’s web GUI, 2) personalizedcontainer deployment specifying in the Docker FORM menua specific Docker image, 3) for applications consisting ofseveral containers, Cloudy integrates docker-compose to parseconfiguration files.

Figure 2 shows a screenshot of the Enterprise cloud menuwhich gives access to the described container-based servicedeployment options. It is important to note that Cloudy allowsa node owner to publish their deployed applications to othermembers of the Cloudy microcloud. Publication allows otherusers to be aware and use any shared service. Figure 2illustrates a published Mosquitto broker service.

Fig. 2. A service published in the microcloud. The search service in Cloudyfinds the Mosquitto broker deployed in a Cloudy node as Docker container.

IV. ON-GOING WORK AND OUTLOOK

Targets of our on-going IaaS/PaaS work include containerorchestration and a consistent edge data storage layer.

Different to commercial edge computing platforms, Cloudyis conceived as an open platform, extensible with additionalapplications through container deployments, enabled by thelocal installation of Docker and docker-compose in Cloudynodes. The graphical interface described before aims to makethis task feasible to be carried out by end users withoutspecific computer skills. However, a programmatic interface,equivalent to the Web UI, allows programmatic deployment inmultiple services. That allows a resource or service managerprocess to control and manage the life-cycle of multiple con-tainers running concurrently in a set of hosts to provide a given

4 https://github.com/Clommunity

service [1]. Toward this end, we have explored the use of theKubernetes orchestrator. One difficulty observed in the contextof microclouds is the that each Cloudy node, being also usedto run personal applications, retains its personal administrativedomain. For orchestrating containers of an application overthe worker nodes in a Kubernetes cluster, however, a singleadministrative domain seems to be expected.

It is important for the individual nodes of a distributedsystem to have a global and consistent view. For decentral-ized system such as a Cloudy microcloud, reasons includethat such information could be used for local decisions andtrigger accurate individual actions. Currently, for informing thenodes in the microcloud on new published services, Cloudyuses the Serf software, which applies gossip-based messagedissemination to update the nodes in the network. WhileSerf is practically effective for the current requirements, theapproach has theoretical limitations, e.g. lack of messagedelivery guarantees. We have integrated IPFS as a content-addressable, peer-to-peer method of storing and sharing dataacross nodes. We have deployed an eventually consistentdistributed database named AntidoteDB 5 on Cloudy nodes.Its features on data consistency could fit to network partitionand disconnection faced in edge microclouds. We have imple-mented a distributed monitoring application which leveragesthis database. Currently, we conduct a performance evaluationsof the database on several Cloudy nodes.

V. EXPERIMENTATION AND USAGE

Experimentation to gain a practical understanding of thepresented microcloud can be done as follows:1) Demo URL: We have provided a publicly accessible

Cloudy instance to provide live access to the microcloudin Guifi.net through its Web GUI 6.

2) A Cloudy node can be easily built on an existing Linuxdistribution by a single script that installs all necessarypackages 7.

ACKNOWLEDGMENT

This work was supported by the European H2020 frame-work programme project LightKone (H2020-732505), by theSpanish government contract TIN2016-77836-C2-2-R, and bythe Catalan government contract AGAUR SGR 990.

REFERENCES

[1] R. Baig, F. Freitag, and L. Navarro, “Cloudy in guifi.net: Establishingand sustaining a community cloud as open commons,” Future GenerationComputer Systems, 01/2018 2018.

[2] A. Chandra, J. Weissman, and B. Heintz, “Decentralized edge clouds,”IEEE Internet Computing, vol. 17, no. 5, pp. 70–73, Sep. 2013. [Online].Available: http://dx.doi.org/10.1109/MIC.2013.93

[3] Y. Elkhatib, B. Porter, H. B. Ribeiro, M. F. Zhani, J. Qadir, and E. Rivire,“On using micro-clouds to deliver the fog,” IEEE Internet Computing,vol. 21, no. 2, pp. 8–15, Mar 2017.

[4] M. Selimi, A. M. Khan, E. Dimogerontakis, F. Freitag, and R. PueyoCentelles, “Cloud services in the guifi.net community network,” ComputerNetworks, vol. 93, Part 2, pp. 373 – 388, 2015, community Networks.

5 https://www.antidotedb.eu/6 http://demo.cloudy.clommunity/ (login: guest:guest)7 https://github.com/Clommunity/cloudynitzar