Storm Clouds Platform: a Cloud Computing Platform for Smart City Applications
Total Page:16
File Type:pdf, Size:1020Kb
RESEARCH ARTICLE Storm Clouds Platform: a cloud computing platform for smart city applications Marco Battarra, Marco Consonni*, Samuele De Domenico and Andrea Milani Hewlett Packard Italiana S.R.L., 9, Via Di Vittorio Giuseppe – 20063 Cernusco Sul Naviglio, Italy Abstract: This paper describes our work on STORM CLOUDS[1], a project with the main objective of migrating smart-city services, that Public Authorities (PAs) currently provided using traditional Information Technology, to a cloud-based environment. Our organization was in charge of finding the technical solutions, so we designed and im- plemented a cloud computing solution called Storm Clouds Platform (SCP), for that purpose. In principle, the applica- tions we ported could run on a public-cloud service, like Amazon Web ServicesTM[2] or Microsoft® Azure[3], that pro- vide computational resources on a pay-per-use paradigm. However, these solutions have disadvantages due to their proprietary nature: vendor lock-in is one of the issues but other serious problems are related to the lack of full control on how data and applications are processed in the cloud. As an example, when using a public cloud, the users of the cloud services have very little control on the location where applications run and data are stored, if there is any. This is identi- fied as one of the most important obstacles in cloud computing adoption, particularly in applications manage personal data and the application provider has legal obligation of preserving end user privacy[4]. This paper explains how we faced the problem and the solutions we found. We designed a cloud computing platform — completely based on open-software components — that can be used for either implementing private clouds or for porting applications to public clouds. Keywords: smart city, cloud computing, infrastructure as service, OpenStack *Correspondence to: Marco Consonni, Hewlett Packard Italiana S.R.L., 9, Via Di Vittorio Giuseppe – 20063 Cernusco Sul Naviglio, Italy; Email: [email protected] Received: February 3, 2016; Accepted: April 12, 2016; Published Online: May 9, 2016 Citation: Battarra M, Consonni M, De Domenico S, et al. 2016, Storm Clouds Platform: a cloud computing platform for smart city applications. Journal of Smart Cities, vol.2(1): 14–25. http://dx.doi.org/10.18063/JSC.2016.01.003. 1. Introduction within the 7th Framework Program (Grant Agreement No. 621089) with the main objective of deploying loud computing is a delivery model for tech- smart-cities application services to a cloud-based en- nology enabled services that drives greater vironment. In the project, we were in charge of de- C agility, speed and cost savings. It provides signing and implementing the technical solutions tak- on-demand access, via a network, to an elastic pool of ing into account some general but fundamental re- shared computing resources (e.g., services, applica- quirements: tions, frameworks, platforms, servers, storage, and the tools used to port and/or deploy the applica- networks) that can be rapidly provisioned and released tions should be based on open source technology with minimal service provider interaction and scaled in order to avoid vendor lock-in issues, as needed according to a pay-per-use paradigm. the solution was required to support different de- We recently participated in STORM CLOUDS, a ployment models ranging from situations in project partially funded by the European Commission which the applications run on data-centers owned Storm Clouds Platform: a cloud computing platform for smart city applications. © 2016 Marco Battarra, et al. This is an Open Access article distri- buted under the terms of the Creative Commons Attribution-NonCommercial 4.0 International License (http://creativecommons.org/licenses/by- nc/4.0/), permitting all non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited. 14 Marco Battarra, Marco Consonni, Samuele De Domenico, et al. by PAs, to scenarios in which they run on a pub- computing paradigm, the resources for running them lic cloud, made available by some cloud service should be activated on-demand. We called this digital provider, space Storm Clouds Platform (SCP). the solution should support the implementation Analyzing the applications, we found that they could of a catalogue of easily deployable applications: inter-operate with each-other and/or with External Dig- the idea was that any ported application could be ital Services in order to achieve the required functio- reused by PAs not directly participating in the nality. For instance, several applications used Google project. Maps[5], a service available on Internet through a web This article briefly describes the experience gained service interface, for rendering maps on HTML pages. while working on the project, illustrating the problem Citizens and/or public servants were identified as the and the solution found. Storm Clouds Platform (SCP) End Users of the applications while Public Adminis- was the platform we implemented and this article bri- trations (e.g., municipalities) were the Application efly describes the functions it implements and the ar- Providers, responsible for providing services to citi- chitecture. zens. Application Creators were the organizations in charge of implementing the applications. We found 2. The Problem that usually Independent Software Vendors (ISVs) cover this role but, in some cases, the Application Provider In order to find a solution for the generic problem of is also the Application Creator (e.g., a municipality “porting applications to cloud”, first we tried to un- might also be the creator of the application). Generally, derstand the problem better, focusing on two aspects: it was important to distinguish these two roles because, the project context and the applications to port. while application creators are usually interested in the 2.1 Project Context technical details for porting applications to a cloud environment, application providers give more impor- We started by identifying the “entities” (e.g., organi- tance to aspects like the cost of the solution, the eco- zations, users, other systems, etc.) participating in the nomic benefits, whether data are processed according project and/or interacting with applications to port. to regulations (e.g., if and how security/privacy prob- Figure 1 summarizes what we found out. lems are addressed), etc. As reported[1], we needed a ‘digital space’ for run- In the project, we played the role of the Platform ning application services and, as required by the cloud Provider, in charge of designing, implementing and Figure 1. STORM CLOUDS project context. Journal of Smart Cities (2016)–Volume 2, Issue 1 15 Storm Clouds Platform: a cloud computing platform for smart city applications operating the SCP. We decided to engage an Infra- structure Provider for supplying the physical resources 2.2 Application Services (e.g., physical servers, disk storage and network con- The applications were selected from a set of com- nectivity) for hosting the platform and the applications. pletely implemented smart-city services that the part- The distinction between these two roles, in addition ners developed in previous projects. We conducted an to being useful for the project because it was not ne- assessment for gathering information that served as cessary to make an up-front investment for the physi- requirements for the platform. We asked the applica- cal resources, was also aligned with the general re- tion proponents to give technical details on their ap- quirement of providing a solution that could be dep- plications in order to characterize the kind of work- loyed on-premises (i.e., on the municipality’s data load we should support. Table 1 summarizes the re- centre), off-premises (i.e., a data centre of a third party) sults of the assessment. or even using services of a public cloud operator. In Most of the applications were implemented using fact, after the project termination, PAs could decide to open source products at different levels (e.g., Linux implement the solution at their own data centres, use a operating system; MySQL/MariaDB or PostgreSQL data centre of a third party or even deploy the applica- databases; PHP, Python, Java and JavaScript pro- tions on a public cloud. gramming languages, etc.), whilst few were based Tab le 1. Application assessment results Note: (*) Linux stands for any Linux distribution. 16 Journal of Smart Cities (2016)–Volume 2, Issue 1 Marco Battarra, Marco Consonni, Samuele De Domenico, et al. on proprietary technologies such as Oracle DBMS, for building high-availability heavy-duty dyna- Windows Server 2008, etc. The steering committee of mic web sites”. The meaning of the LAMP acro- the project decided to port only applications based on nym depends on which specific components are open source software packages, in order to be sure that used as parts of the actual bundle. In the case of the act of “porting the application to cloud” did not the project, “L” stands for Linux; “A” for Apache constitute an infringement of the licensing rights when HTTP Web Server; “M” identifies MySQL, Ma- the application was activated. riaDB or MongoDB, the database management During the assessment we also found out that some system; “P” is for PHP or Python, the program- applications managed sensitive information like, for ming languages used for dynamic web pages and example, citizens’ personal data. This was a very im- web development1. portant aspect with implications both on the applica- • Deployment Models: the solution should sup- tions to migrate during the project and the solution we port various cloud computing deployment mod- designed. In fact, the Application Providers had the els like Private Cloud in which “the cloud infra- [4] legal responsibility of preserving citizens’ privacy structure is provisioned for exclusive use by a and — although during the project some activities single organization”[8] (this is the case in which a were addressed to verify the application security — municipality has its own data centre, Community they preferred to migrate services that did not manage Cloud in which “the cloud infrastructure is provi- sensitive information.